ls1-MarDyn
ls1-MarDyn molecular dynamics code
Public Member Functions | List of all members
LeapfrogRMM Class Reference
Inheritance diagram for LeapfrogRMM:
Integrator

Public Member Functions

 LeapfrogRMM (double timestepLength)
 
void readXML (XMLfileUnits &xmlconfig)
 
void init ()
 
void eventForcesCalculated (ParticleContainer *moleculeContainer, Domain *domain)
 informs the integrator about available forces, who then continues integration More...
 
void eventNewTimestep (ParticleContainer *moleculeContainer, Domain *domain)
 inform the integrator that the integration should continue More...
 
- Public Member Functions inherited from Integrator
 Integrator ()
 The constructor.
 
 Integrator (double timestepLength)
 
virtual ~Integrator ()
 The destructor.
 
void setTimestepLength (double dt)
 set the time between two time steps
 
double getTimestepLength ()
 get the time between two time steps
 

Additional Inherited Members

- Protected Attributes inherited from Integrator
double _timestepLength
 time between time step n and time step (n+1)
 

Member Function Documentation

◆ eventForcesCalculated()

void LeapfrogRMM::eventForcesCalculated ( ParticleContainer moleculeContainer,
Domain domain 
)
inlinevirtual

informs the integrator about available forces, who then continues integration

An Integrator can't calculate the force on molecules. But the forces are needed to solve the equations of motion. This method informs the integrator that the forces on all molecules have been calculated (by some other module), so the integrator should continue it's work up to a point where all values are available at the time step end.

Parameters
moleculeContainercontaines the molecules for which the equations of motion shall be solved
domainneeded because some macroscopic values (Thermostat) might influence the integrator

Implements Integrator.

◆ eventNewTimestep()

void LeapfrogRMM::eventNewTimestep ( ParticleContainer moleculeContainer,
Domain domain 
)
inlinevirtual

inform the integrator that the integration should continue

Basically, the only point where an integrator has to interrupt it's work is when it needs forces to continue, which is not necessarily between two time steps. But the simulation program usually wants to do something (output) between two time steps (this has to be done as only then all values (x, v,...) are avaiable for the same point in time). So the integrator interrupts it's work at the end of one time step and resumes work with the call of this method.

Parameters
moleculeContainercontaines the molecules for which the equations of motion shall be solved
domainneeded because some macroscopic values (Thermostat) might influence the integrator

Implements Integrator.

◆ init()

void LeapfrogRMM::init ( )
inlinevirtual

Initialize Integrator

Implements Integrator.

◆ readXML()

void LeapfrogRMM::readXML ( XMLfileUnits xmlconfig)
virtual

Implements Integrator.


The documentation for this class was generated from the following files: