revision: v0.14
AngledPeriodicBoundary.h
Go to the documentation of this file.
1 //Copyright (c) 2013-2020, The MercuryDPM Developers Team. All rights reserved.
2 //For the list of developers, see <http://www.MercuryDPM.org/Team>.
3 //
4 //Redistribution and use in source and binary forms, with or without
5 //modification, are permitted provided that the following conditions are met:
6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above copyright
9 // notice, this list of conditions and the following disclaimer in the
10 // documentation and/or other materials provided with the distribution.
11 // * Neither the name MercuryDPM nor the
12 // names of its contributors may be used to endorse or promote products
13 // derived from this software without specific prior written permission.
14 //
15 //THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16 //ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 //WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 //DISCLAIMED. IN NO EVENT SHALL THE MERCURYDPM DEVELOPERS TEAM BE LIABLE FOR ANY
19 //DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 //(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 //LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 //ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 //(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24 //SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 
26 
27 #ifndef AngledPeriodicBoundary_H
28 #define AngledPeriodicBoundary_H
29 
30 #include "BaseBoundary.h"
31 #include "Math/Vector.h"
32 #include "Math/Matrix.h"
33 
34 class BaseParticle;
35 
36 class ParticleHandler;
37 
47 {
48 public:
49 
53  AngledPeriodicBoundary* copy() const final;
54 
55  //todo constructors instead of set functions?
56  //AngledPeriodicBoundary (Vec3D normal_left_, Vec3D normal_right_, Vec3D origin_)
57 
61  void set(Vec3D normalLeft, Vec3D normalRight, Vec3D origin);
62 
70  Mdouble distance(const BaseParticle& P);
71 
75  //this function should be cheap, as it has to be computed for all particles
76  Mdouble distance(const Vec3D& P);
77 
82  void shiftPosition(BaseParticle* P);
83 
84 
88  void shiftPositions(Vec3D& P1, Vec3D& P2);
89 
93  void read(std::istream& is) override;
94 
98  void oldRead(std::istream& is);
99 
103  void write(std::ostream& os) const override;
104 
108  std::string getName() const override;
109 
113  Vec3D& getNormal();
114 
119 
120  void createPeriodicParticle(BaseParticle* p, ParticleHandler& pH) override;
121 
125  void createPeriodicParticles(ParticleHandler& pH) override;
126 
132 
134 
135 private:
136  //values set by the user
141 
146 
151  //values set by the code
155  bool leftWall_;
172 
174 
176 
185 
189  //Vec3D angularShift_;
190 };
191 
192 #endif
Vec3D::isEqualTo
bool isEqualTo(const Vec3D &other, double tol) const
Checks if the length this Vec3D is equal the length of other with a certain tolerance.
Definition: Vector.cc:294
ParticleParticleInteractionWithPlasticForces::ParticleParticleInteractionWithPlasticForces
ParticleParticleInteractionWithPlasticForces()
Definition: AdhesiveForceUnitTest.cpp:101
AngledPeriodicBoundary::createPeriodicParticles
void createPeriodicParticles(ParticleHandler &pH) override
Definition: AngledPeriodicBoundary.cc:305
BaseInteractable::getAngularVelocity
virtual const Vec3D & getAngularVelocity() const
Returns the angular velocity of this interactable.
Definition: BaseInteractable.cc:341
AngledPeriodicBoundary::differenceNormal_
Vec3D differenceNormal_
Definition: AngledPeriodicBoundary.h:171
DPMBase::setName
void setName(const std::string &name)
Allows to set the name of all the files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:420
SlidingFrictionSpecies.h
ParticleParticleInteractionWithPlasticForces::setupInitialConditions
void setupInitialConditions() override
This function allows to set the initial conditions for our problem to be solved, by default particle ...
Definition: AdhesiveForceUnitTest.cpp:107
AngledPeriodicBoundary::checkBoundaryAfterParticleMoved
void checkBoundaryAfterParticleMoved(BaseParticle *P)
Definition: AngledPeriodicBoundary.cc:317
AngledPeriodicBoundary::distance
Mdouble distance(const BaseParticle &P)
Returns the distance of the wall to the particle and sets left_wall = true, if the left wall is the w...
Definition: AngledPeriodicBoundary.cc:93
DPMBase::readRestartFile
bool readRestartFile(ReadOptions opt=ReadOptions::ReadAll)
Reads all the particle data corresponding to a given, existing . restart file (for more details regar...
Definition: DPMBase.cc:2921
DPMBase::setTimeStep
void setTimeStep(Mdouble newDt)
Sets a new value for the simulation time step.
Definition: DPMBase.cc:1225
AngledPeriodicBoundary::getNormal
Vec3D & getNormal()
Definition: AngledPeriodicBoundary.cc:254
DPMBase::getTimeStep
Mdouble getTimeStep() const
Returns the simulation time step.
Definition: DPMBase.cc:1241
BaseInteractable::rotate
virtual void rotate(const Vec3D &angularVelocityDt)
Rotates this BaseInteractable.
Definition: BaseInteractable.cc:230
Vector.h
constants::pi
const Mdouble pi
Definition: ExtendedMath.h:45
AngledPeriodicBoundary::commonAxis_
Vec3D commonAxis_
The normalized cross product of the left and right normal vector. This vector points in the direction...
Definition: AngledPeriodicBoundary.h:184
BaseParticle::accelerate
void accelerate(const Vec3D &vel)
Increases the particle's velocity_ by the given vector.
Definition: BaseParticle.cc:622
Chute::setChuteAngleAndMagnitudeOfGravity
void setChuteAngleAndMagnitudeOfGravity(Mdouble chuteAngle, Mdouble gravity)
Sets gravity vector according to chute angle (in degrees)
Definition: Chute.cc:716
ParticleParticleInteractionWithPlasticForces::species
Species< LinearPlasticViscoelasticNormalSpecies, SlidingFrictionSpecies, IrreversibleAdhesiveSpecies > * species
Definition: AdhesiveForceUnitTest.cpp:99
DPMBase::readDataFile
bool readDataFile(std::string fileName="", unsigned int format=0)
This allows particle data to be reloaded from data files.
Definition: DPMBase.cc:2346
Chute::setMaxFailed
void setMaxFailed(unsigned int maxFailed)
Sets the number of times a particle will be tried to be added to the insertion boundary.
Definition: Chute.cc:754
AngledPeriodicBoundary::set
void set(Vec3D normalLeft, Vec3D normalRight, Vec3D origin)
Defines a periodic wall.
Definition: AngledPeriodicBoundary.cc:59
BaseParticle::getPeriodicFromParticle
BaseParticle * getPeriodicFromParticle() const
Returns the 'original' particle this one's a periodic copy of.
Definition: BaseParticle.h:341
DPMBase::setParticleDimensions
void setParticleDimensions(unsigned int particleDimensions)
Sets the particle dimensionality.
Definition: DPMBase.cc:1439
BaseInteractable::setPosition
void setPosition(const Vec3D &position)
Sets the position of this BaseInteractable.
Definition: BaseInteractable.h:239
logger
Logger< MERCURY_LOGLEVEL > logger("MercuryKernel")
Definition of different loggers with certain modules. A user can define its own custom logger here.
AngledPeriodicBoundary::rightRadialAxis_
Vec3D rightRadialAxis_
outward unit normal vector for right wall
Definition: AngledPeriodicBoundary.h:163
BaseInteractable::copyInteractionsForPeriodicParticles
void copyInteractionsForPeriodicParticles(const BaseInteractable &p)
Copies interactions to this BaseInteractable whenever a periodic copy made.
Definition: BaseInteractable.cc:386
AngledPeriodicBoundary.h
Vec3D::X
Mdouble X
the vector components
Definition: Vector.h:65
Matrix.h
ParticleParticleInteraction::relVelocity_
Mdouble relVelocity_
Definition: AdhesiveForceUnitTest.cpp:93
ChuteWithHopper::setupInitialConditions
void setupInitialConditions() override
Sets up the initial conditions for the problem.
Definition: ChuteWithHopper.cc:130
Vec3D::dot
static Mdouble dot(const Vec3D &a, const Vec3D &b)
Calculates the dot product of two Vec3D: .
Definition: Vector.cc:76
DPMBase::setYMax
void setYMax(Mdouble newYMax)
Sets the value of YMax, the upper bound of the problem domain in the y-direction.
Definition: DPMBase.cc:1182
ParticleWallInteraction
Definition: AdhesiveForceUnitTest.cpp:154
main
int main(int argc UNUSED, char *argv[] UNUSED)
Definition: AirySavageHutter.cpp:53
BaseHandler::getSize
unsigned int getSize() const
Gets the size of the particleHandler (including mpi and periodic particles)
Definition: BaseHandler.h:655
BaseBoundary::write
void write(std::ostream &os) const override=0
Adds object's id_ to given ostream NB: purely virtual function, overriding the version of BaseObject.
Definition: BaseBoundary.cc:70
ChuteWithHopper::setHopperFillingPercentage
void setHopperFillingPercentage(Mdouble hopperFillingPercentage)
Sets the hopper filling percentage.
Definition: ChuteWithHopper.cc:118
AngledPeriodicBoundary::leftWall_
bool leftWall_
true if closest wall is the left wall
Definition: AngledPeriodicBoundary.h:155
ParticleHandler.h
Chute::setChuteWidth
void setChuteWidth(Mdouble chuteWidth)
Sets the chute width (Y-direction)
Definition: Chute.cc:966
ParticleWallInteraction::species
Species< LinearViscoelasticNormalSpecies, SlidingFrictionSpecies, IrreversibleAdhesiveSpecies > * species
Definition: AdhesiveForceUnitTest.cpp:157
BaseInteractable::getOrientation
const Quaternion & getOrientation() const
Returns the orientation of this BaseInteractable.
Definition: BaseInteractable.h:230
AirySavageHutter::setupInitialConditions
void setupInitialConditions() override
This function allows to set the initial conditions for our problem to be solved, by default particle ...
Definition: AirySavageHutter.cpp:36
R
@ R
Definition: StatisticsVector.h:42
DPMBase::writeRestartFile
virtual void writeRestartFile()
Stores all the particle data for current save time step to a "restart" file, which is a file simply i...
Definition: DPMBase.cc:2854
BaseBoundary::read
void read(std::istream &is) override=0
Reads the object's id_ from given istream NB: purely virtual function, overriding the version of Base...
Definition: BaseBoundary.cc:61
INFO
LL< Log::INFO > INFO
Info log level.
Definition: Logger.cc:55
MpiContainer.h
BaseInteractable::move
virtual void move(const Vec3D &move)
Moves this BaseInteractable by adding an amount to the position.
Definition: BaseInteractable.cc:215
BaseBoundary
Definition: BaseBoundary.h:49
ParticleParticleInteraction::setupInitialConditions
void setupInitialConditions() override
This function allows to set the initial conditions for our problem to be solved, by default particle ...
Definition: AdhesiveForceUnitTest.cpp:51
AngledPeriodicBoundary::rightNormal_
Vec3D rightNormal_
outward unit normal vector for right wall
Definition: AngledPeriodicBoundary.h:145
BaseInteractable::getVelocity
virtual const Vec3D & getVelocity() const
Returns the velocity of this interactable.
Definition: BaseInteractable.cc:329
BaseParticle::setRadius
virtual void setRadius(Mdouble radius)
Sets the particle's radius_ (and adjusts the mass_ accordingly, based on the particle's species)
Definition: BaseParticle.cc:542
AngledPeriodicBoundary::rotateRight
Matrix3D rotateRight
Definition: AngledPeriodicBoundary.h:175
Vec3D
Definition: Vector.h:50
MULTILAYER
@ MULTILAYER
Definition: Chute.h:53
helpers::getSaveCountFromNumberOfSavesAndTimeMaxAndTimeStep
unsigned int getSaveCountFromNumberOfSavesAndTimeMaxAndTimeStep(unsigned int numberOfSaves, Mdouble timeMax, Mdouble timeStep)
Returns the correct saveCount if the total number of saves, the final time and the time step is known...
Definition: Helpers.cc:374
DPMBase::solve
void solve()
The work horse of the code.
Definition: DPMBase.cc:4003
ChuteWithHopper.h
BaseInteraction
Stores information about interactions between two interactable objects; often particles but could be ...
Definition: BaseInteraction.h:60
Helpers.h
AngledPeriodicBoundary::leftNormal_
Vec3D leftNormal_
Definition: AngledPeriodicBoundary.h:140
DPMBase::setZMax
void setZMax(Mdouble newZMax)
Sets the value of ZMax, the upper bound of the problem domain in the z-direction.
Definition: DPMBase.cc:1208
AngledPeriodicBoundary::shiftPositions
void shiftPositions(Vec3D &P1, Vec3D &P2)
only needed in StatisticsVector
Definition: AngledPeriodicBoundary.cc:182
Mdouble
double Mdouble
Definition: GeneralDefine.h:34
Vec3D::getLength
Mdouble getLength() const
Calculates the length of this Vec3D: .
Definition: Vector.cc:320
DPMBase::setXBallsScale
void setXBallsScale(Mdouble newScale)
Sets the scale of the view (either normal, zoom in or zoom out) to display in xballs....
Definition: DPMBase.cc:1354
main
int main(int argc UNUSED, char *argv[] UNUSED)
Definition: AdhesiveForceUnitTest.cpp:212
Chute::setRoughBottomType
void setRoughBottomType(RoughBottomType roughBottomType)
Sets the type of rough bottom of the chute.
Definition: Chute.cc:641
Matrix3D
Implementation of a 3D matrix.
Definition: Matrix.h:38
ParticleHandler::getLargestParticle
BaseParticle * getLargestParticle() const
Returns the pointer of the largest particle in the particle handler. When mercury is running in paral...
Definition: ParticleHandler.cc:530
AngledPeriodicBoundary::rotateLeft
Matrix3D rotateLeft
Definition: AngledPeriodicBoundary.h:173
AngledPeriodicBoundary::shiftPosition
void shiftPosition(BaseParticle *P)
shifts the particle (after distance set the left_wall value)
Definition: AngledPeriodicBoundary.cc:124
BaseInteractable::setVelocity
void setVelocity(const Vec3D &velocity)
set the velocity of the BaseInteractable.
Definition: BaseInteractable.cc:350
LinearViscoelasticNormalSpecies.h
BaseParticle::copy
virtual BaseParticle * copy() const =0
Particle copy method. It calls to copy constructor of this Particle, useful for polymorphism.
ParticleParticleInteractionWithPlasticForces::relVelocity_
Mdouble relVelocity_
Definition: AdhesiveForceUnitTest.cpp:150
BaseParticle::setPeriodicFromParticle
void setPeriodicFromParticle(BaseParticle *p)
Assigns the pointer to the 'original' particle this one's a periodic copy of (used in periodic bounda...
Definition: BaseParticle.h:441
double
Chute::setInflowParticleRadius
void setInflowParticleRadius(Mdouble inflowParticleRadius)
Sets the radius of the inflow particles to a single one (i.e. ensures a monodisperse inflow).
Definition: Chute.cc:775
ChuteWithHopper
ChuteWithHopper has a hopper as inflow.
Definition: ChuteWithHopper.h:39
Logger.h
BaseParticle::setSpecies
void setSpecies(const ParticleSpecies *species)
Definition: BaseParticle.cc:804
SpeciesHandler::addObject
void addObject(ParticleSpecies *S) override
Adds a new ParticleSpecies to the SpeciesHandler.
Definition: SpeciesHandler.cc:797
ReversibleAdhesiveSpecies.h
ParticleParticleInteractionWithPlasticForces
Definition: AdhesiveForceUnitTest.cpp:96
ChuteWithHopper::setChuteLength
void setChuteLength(Mdouble chuteLength) override
sets xMax to chuteLength+hopperlength_, and thus specifies the length off the runoff chute
Definition: ChuteWithHopper.cc:541
DPMBase::getTime
Mdouble getTime() const
Returns the current simulation time.
Definition: DPMBase.cc:805
Species< LinearViscoelasticNormalSpecies, SlidingFrictionSpecies, IrreversibleAdhesiveSpecies >
DPMBase::setXMax
void setXMax(Mdouble newXMax)
Sets the value of XMax, the upper bound of the problem domain in the x-direction.
Definition: DPMBase.cc:1156
WARN
LL< Log::WARN > WARN
Warning log level.
Definition: Logger.cc:54
InfiniteWall.h
ParticleHandler::clear
void clear() override
Empties the whole ParticleHandler by removing all BaseParticle.
Definition: ParticleHandler.cc:973
AngledPeriodicBoundary::write
void write(std::ostream &os) const override
outputs wall
Definition: AngledPeriodicBoundary.cc:235
DPMBase::speciesHandler
SpeciesHandler speciesHandler
A handler to that stores the species type i.e. LinearViscoelasticSpecies, etc.
Definition: DPMBase.h:1385
Species.h
BaseObject::getIndex
unsigned int getIndex() const
Returns the index of the object in the handler.
Definition: BaseObject.h:118
AirySavageHutter::actionsOnRestart
void actionsOnRestart() override
A virtual function where the users can add extra code which is executed only when the code is restart...
Definition: AirySavageHutter.cpp:44
MPIContainer::getNumberOfProcessors
std::size_t getNumberOfProcessors() const
Get the total number of processors participating in this simulation.
Definition: MpiContainer.cc:104
DPMBase.h
BaseInteraction.h
AngledPeriodicBoundary::getOpeningAngle
Mdouble getOpeningAngle()
angle between walls in radians
Definition: AngledPeriodicBoundary.cc:265
SphericalParticle
A spherical particle is the most simple particle used in MercuryDPM.
Definition: SphericalParticle.h:37
DPMBase::wallHandler
WallHandler wallHandler
An object of the class WallHandler. Contains pointers to all the walls created.
Definition: DPMBase.h:1405
ParticleParticleInteraction::species
Species< LinearViscoelasticNormalSpecies, SlidingFrictionSpecies, IrreversibleAdhesiveSpecies > * species
Definition: AdhesiveForceUnitTest.cpp:43
LinearPlasticViscoelasticNormalSpecies.h
AngledPeriodicBoundary
Definition: AngledPeriodicBoundary.h:47
MPIContainer
This class contains all information and functions required for communication between processors.
Definition: MpiContainer.h:130
DPMBase::setTimeMax
void setTimeMax(Mdouble newTMax)
Sets a new value for the maximum simulation duration.
Definition: DPMBase.cc:870
Vec3D::Y
Mdouble Y
Definition: Vector.h:65
main
int main(int argc UNUSED, char *argv[] UNUSED)
Definition: 1Particle4WallsRestartUnitTest.cpp:35
DPMBase::setGravity
void setGravity(Vec3D newGravity)
Sets a new value for the gravitational acceleration.
Definition: DPMBase.cc:1374
InfiniteWall
A infinite wall fills the half-space {point: (position_-point)*normal_<=0}.
Definition: InfiniteWall.h:48
FATAL
LL< Log::FATAL > FATAL
Definition of the different loglevels by its wrapper class LL. These are used as tags in template met...
Definition: Logger.cc:52
Chute::setFixedParticleRadius
void setFixedParticleRadius(Mdouble fixedParticleRadius)
Sets the particle radius of the fixed particles which constitute the (rough) chute bottom.
Definition: Chute.cc:608
DPMBase::getName
const std::string & getName() const
Returns the name of the file. Does not allow to change it though.
Definition: DPMBase.cc:397
ParticleWallInteraction::ParticleWallInteraction
ParticleWallInteraction()
Definition: AdhesiveForceUnitTest.cpp:159
ChuteWithHopper::setHopper
void setHopper(Mdouble exitLength, Mdouble exitHeight, Mdouble angle, Mdouble length, Mdouble height)
Sets the hopper's geometrical properties.
Definition: ChuteWithHopper.cc:389
constants::i
const std::complex< Mdouble > i
Definition: ExtendedMath.h:51
BaseWall::setSpecies
void setSpecies(const ParticleSpecies *species)
Defines the species of the current wall.
Definition: BaseWall.cc:171
DPMBase::setYMin
void setYMin(Mdouble newYMin)
Sets the value of YMin, the lower bound of the problem domain in the y-direction.
Definition: DPMBase.cc:1025
ParticleParticleInteraction
Definition: AdhesiveForceUnitTest.cpp:40
DPMBase::setFileType
void setFileType(FileType fileType)
Sets File::fileType_ for all files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:457
BaseHandler::getObject
T * getObject(const unsigned int id)
Gets a pointer to the Object at the specified index in the BaseHandler.
Definition: BaseHandler.h:613
BaseParticle
Definition: BaseParticle.h:54
Quaternion::getAxis
Vec3D getAxis() const
Converts the quaternions into a normal vector by rotating the vector x=(1,0,0); see See Wiki for deta...
Definition: Quaternion.cc:501
BaseInteractable::getInteractions
const std::vector< BaseInteraction * > & getInteractions() const
Returns a list of interactions which belong to this interactable.
Definition: BaseInteractable.h:277
ParticleHandler::addObject
void addObject(BaseParticle *P) override
Adds a BaseParticle to the ParticleHandler.
Definition: ParticleHandler.cc:170
UNUSED
#define UNUSED
Definition: GeneralDefine.h:39
BaseHandler::copyAndAddObject
std::enable_if<!std::is_pointer< U >::value, U * >::type copyAndAddObject(const U &object)
Creates a copy of a Object and adds it to the BaseHandler.
Definition: BaseHandler.h:379
BaseParticle::getMaxInteractionRadius
Mdouble getMaxInteractionRadius() const
Returns the particle's interaction radius, which might be different from radius_ (e....
Definition: BaseParticle.h:362
main
int main(int argc UNUSED, char *argv[] UNUSED)
Definition: 5ParticlesRestartUnitTest.cpp:34
AngledPeriodicBoundary::origin_
Vec3D origin_
common point of both walls
Definition: AngledPeriodicBoundary.h:150
ChuteWithHopper::write
void write(std::ostream &os, bool writeAllParticles=true) const override
Writes setup properties to an ostream.
Definition: ChuteWithHopper.cc:615
Vec3D::cross
static Vec3D cross(const Vec3D &a, const Vec3D &b)
Calculates the cross product of two Vec3D: .
Definition: Vector.cc:163
BaseHandler::begin
const std::vector< T * >::const_iterator begin() const
Gets the begin of the const_iterator over all Object in this BaseHandler.
Definition: BaseHandler.h:690
ParticleWallInteraction::relVelocity_
Mdouble relVelocity_
Definition: AdhesiveForceUnitTest.cpp:209
AngledPeriodicBoundary::leftRadialAxis_
Vec3D leftRadialAxis_
outward unit normal vector for left wall
Definition: AngledPeriodicBoundary.h:159
DPMBase::setXBallsAdditionalArguments
void setXBallsAdditionalArguments(std::string newXBArgs)
Set the additional arguments for xballs.
Definition: DPMBase.cc:1338
AngledPeriodicBoundary::checkBoundaryAfterParticlesMove
void checkBoundaryAfterParticlesMove(ParticleHandler &pH) override
Virtual function that does things to particles, each time step after particles have moved.
Definition: AngledPeriodicBoundary.cc:325
AngledPeriodicBoundary::getName
std::string getName() const override
Returns the name of the object.
Definition: AngledPeriodicBoundary.cc:246
helpers::writeToFile
bool writeToFile(std::string filename, std::string filecontent)
Writes a string to a file.
Definition: Helpers.cc:445
BaseHandler::clear
virtual void clear()
Empties the whole BaseHandler by removing all Objects and setting all other variables to 0.
Definition: BaseHandler.h:528
AngledPeriodicBoundary::oldRead
void oldRead(std::istream &is)
Definition: AngledPeriodicBoundary.cc:225
DPMBase::setXMin
void setXMin(Mdouble newXMin)
Sets the value of XMin, the lower bound of the problem domain in the x-direction.
Definition: DPMBase.cc:1001
AngledPeriodicBoundary::createPeriodicParticle
void createPeriodicParticle(BaseParticle *p, ParticleHandler &pH) override
Definition: AngledPeriodicBoundary.cc:273
ParticleHandler
Container to store all BaseParticle.
Definition: ParticleHandler.h:48
DPMBase::particleHandler
ParticleHandler particleHandler
An object of the class ParticleHandler, contains the pointers to all the particles created.
Definition: DPMBase.h:1395
AngledPeriodicBoundary::differenceRadialAxis_
Vec3D differenceRadialAxis_
Definition: AngledPeriodicBoundary.h:167
Vec3D::Z
Mdouble Z
Definition: Vector.h:65
DPMBase::setSaveCount
void setSaveCount(unsigned int saveCount)
Sets File::saveCount_ for all files (ene, data, fstat, restart, stat)
Definition: DPMBase.cc:406
BaseBoundary.h
ParticleWallInteraction::setupInitialConditions
void setupInitialConditions() override
This function allows to set the initial conditions for our problem to be solved, by default particle ...
Definition: AdhesiveForceUnitTest.cpp:166
AngledPeriodicBoundary::copy
AngledPeriodicBoundary * copy() const final
Used to create a copy of the object NB: purely virtual function.
Definition: AngledPeriodicBoundary.cc:35
ParticleParticleInteraction::ParticleParticleInteraction
ParticleParticleInteraction()
Definition: AdhesiveForceUnitTest.cpp:45
MatrixSymmetric.h
MercuryBase::setHGridMaxLevels
void setHGridMaxLevels(unsigned int HGridMaxLevels)
Sets the maximum number of levels of the HGrid in this MercuryBase.
Definition: MercuryBase.cc:476
Chute::makeChutePeriodic
void makeChutePeriodic()
This makes the chute periodic in Y.
Definition: Chute.cc:587
InfiniteWall::set
void set(Vec3D normal, Vec3D point)
Defines a standard wall, given an outward normal vector s.t. normal*x=normal*point for all x of the w...
Definition: InfiniteWall.cc:118
LinearViscoelasticFrictionSpecies.h
AirySavageHutter
This code does the MD of a normal shock into a wall.
Definition: AirySavageHutter.cpp:33
BaseHandler::end
const std::vector< T * >::const_iterator end() const
Gets the end of the const_iterator over all BaseBoundary in this BaseHandler.
Definition: BaseHandler.h:704
IrreversibleAdhesiveSpecies.h
BaseParticle.h
AngledPeriodicBoundary::read
void read(std::istream &is) override
reads wall
Definition: AngledPeriodicBoundary.cc:214
DPMBase::setZMin
void setZMin(Mdouble newZMin)
Sets the value of ZMin, the lower bound of the problem domain in the z-direction.
Definition: DPMBase.cc:1049
DPMBase::getXMin
Mdouble getXMin() const
If the length of the problem domain in x-direction is XMax - XMin, then getXMin() returns XMin.
Definition: DPMBase.h:600
BaseParticle::angularAccelerate
void angularAccelerate(const Vec3D &angVel)
Increases the particle's angularVelocity_ by the given vector.
Definition: BaseParticle.cc:632
BaseInteractable::getPosition
const Vec3D & getPosition() const
Returns the position of this BaseInteractable.
Definition: BaseInteractable.h:218
DPMBase::getTimeMax
Mdouble getTimeMax() const
Returns the maximum simulation duration.
Definition: DPMBase.cc:885
DPMBase
The DPMBase header includes quite a few header files, defining all the handlers, which are essential....
Definition: DPMBase.h:76
DPMBase::setAppend
void setAppend(bool newAppendFlag)
Sets whether the "append" option is on or off.
Definition: DPMBase.cc:1513
MPIContainer::Instance
static MPIContainer & Instance()
fetch the instance to be used for communication
Definition: MpiContainer.h:134
DPMBase::setSystemDimensions
void setSystemDimensions(unsigned int newDim)
Sets the system dimensionality.
Definition: DPMBase.cc:1408