Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
Data Types | |
module | particledynamicsstuff |
Functions/Subroutines | |
subroutine | particlescattering (Particles) |
subroutine | particledynamics (Model, Solver, dt, TransientSimulation) |
subroutine | particlefieldinteraction (Particles, dtime, SetParticles, SetFields) |
subroutine | particlewallcontact (Particles, dt) |
subroutine | particledynamics_init (Model, Solver, dt, TransientSimulation) |
subroutine particledynamics | ( | type(model_t) | Model, |
type(solver_t), target | Solver, | ||
real(kind=dp) | dt, | ||
logical | TransientSimulation | ||
) |
Solver particle dynamics equations by utilizing many library functionalities. This solver may take into account interaction between particles.
References coordinatesystems::coordinatesystemdimension(), particleutils::createneighbourlist(), particleutils::deletelostparticles(), particleutils::destroyghostparticles(), particleutils::eliminateexitingparticles(), defutils::getinteger(), defutils::getlogical(), particleutils::getparticletimestep(), messages::info(), initializeparticles(), lists::listaddlogical(), particleutils::locateparticles(), particleutils::particleadvancetimestep(), particleutils::particleboxcontact(), particleutils::particleboxperiodic(), particlefieldinteraction(), particleutils::particleinformation(), particleutils::particleinitializetime(), particledynamicsstuff::particleparticlecollision(), particledynamicsstuff::particleparticlecontact(), particleutils::particleparticleinteraction(), particlescattering(), particleutils::particlestatistics(), particleutils::particlevariablecreate(), particlewallcontact(), particledynamicsstuff::particlewallproc(), particleutils::releasewaitingparticles(), particleutils::saveparticledata(), particleutils::setparticlepreliminaries(), and solver().
subroutine particledynamics_init | ( | type(model_t) | Model, |
type(solver_t), target | Solver, | ||
real(kind=dp) | dt, | ||
logical | TransientSimulation | ||
) |
Initialize the particle dynamics solver with some defaults.
References solver().
subroutine particledynamics::particlefieldinteraction | ( | type(particle_t), pointer | Particles, |
real(kind=dp) | dtime, | ||
logical | SetParticles, | ||
logical | SetFields | ||
) |
References particleutils::addparticleforce(), messages::fatal(), defutils::getcreal(), defutils::getlogical(), particleutils::getmaterialpropertyinmesh(), defutils::getmesh(), particleutils::getparticlecoord(), particleutils::getparticleelement(), particleutils::getparticleelementintersection(), particleutils::getparticlestatus(), particleutils::getparticlevelo(), particleutils::getscalarfieldinmesh(), defutils::getsolverparams(), defutils::getstring(), particleutils::getvectorfieldinmesh(), messages::info(), lists::listgetconstrealarray(), lists::listgetlogical(), lists::listgetstring(), particleutils::particleelementinfo(), particleutils::particlevariableget(), particleutils::setparticlestatus(), lists::variableaddvector(), lists::variableget(), and messages::warn().
Referenced by particledynamics().
subroutine particledynamics::particlescattering | ( | type(particle_t), pointer | Particles) |
Advance the particles with a time step. The timestep may also be an intermediate Runge-Kutta step.
References generalutils::evenrandom(), messages::fatal(), defutils::getsolverparams(), messages::info(), lists::listaddconstreal(), and lists::listgetconstreal().
Referenced by particledynamics().
subroutine particledynamics::particlewallcontact | ( | type(particle_t) | Particles, |
real(kind=dp) | dt | ||
) |
References messages::fatal(), defutils::getcreal(), defutils::getelementnodes(), defutils::getlogical(), defutils::getmesh(), defutils::getsolver(), defutils::getsolverparams(), particleutils::getvectorfieldinmesh(), lists::listcheckpresent(), lists::listgetlogical(), lists::listgetstring(), meshutils::makepermusingmask(), normal(), particleutils::particleelementinfo(), elementdescription::pointfacedistance(), solver(), lists::variableaddvector(), lists::variableget(), and messages::warn().
Referenced by particledynamics().