Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
|
Public Member Functions | |
subroutine | particleparticlecontact (dt, Coord, Coord2, Velo, Velo2, Force, Force2, Contact) |
subroutine | particleparticlecollision (dt, Coord, Coord2, Velo, Velo2, Force, Force2, Collision) |
subroutine | particlewallproc (No, Rinit, Rfin, Vinit, Vfin, Lambda, FaceIndex, ParticleStatus) |
The particle-particle and particle-wall interaction for particle dynamics These are placed in a module since a private subroutine may not be passed as a parameter.
subroutine particledynamicsstuff::particleparticlecollision | ( | real(kind=dp) | dt, |
real(kind=dp), dimension(3) | Coord, | ||
real(kind=dp), dimension(3) | Coord2, | ||
real(kind=dp), dimension(3) | Velo, | ||
real(kind=dp), dimension(3) | Velo2, | ||
real(kind=dp), dimension(3) | Force, | ||
real(kind=dp), dimension(3) | Force2, | ||
logical | Collision | ||
) |
Subroutine for getting particle-particle interaction The subroutine may return the new positions and new coordinates, or alternatively the initial coordinates are tampered so that with standard time-integration the final position will be the same.
References messages::fatal(), defutils::getcreal(), defutils::getlogical(), and defutils::getsolverparams().
Referenced by particledynamics().
subroutine particledynamicsstuff::particleparticlecontact | ( | real(kind=dp) | dt, |
real(kind=dp), dimension(3) | Coord, | ||
real(kind=dp), dimension(3) | Coord2, | ||
real(kind=dp), dimension(3) | Velo, | ||
real(kind=dp), dimension(3) | Velo2, | ||
real(kind=dp), dimension(3) | Force, | ||
real(kind=dp), dimension(3) | Force2, | ||
logical | Contact | ||
) |
Subroutine for getting the force resulting from particle-particle interaction This could be used to give forces on granular flow, for example.
References defutils::getcreal(), defutils::getsolverparams(), elementutils::tangentdirections(), and messages::warn().
Referenced by particledynamics().
subroutine particledynamicsstuff::particlewallproc | ( | integer | No, |
real(kind=dp), dimension(3) | Rinit, | ||
real(kind=dp), dimension(3) | Rfin, | ||
real(kind=dp), dimension(3) | Vinit, | ||
real(kind=dp), dimension(3) | Vfin, | ||
real(kind=dp) | Lambda, | ||
integer | FaceIndex, | ||
integer | ParticleStatus | ||
) |
Subroutine for oding the particle-wall physics at the same time when locating the particles in the mesh.
References elementdescription::elementinfo(), messages::fatal(), defutils::getbc(), defutils::getelementnodes(), defutils::getlogical(), defutils::getmesh(), defutils::getreal(), defutils::getsolver(), defutils::getsolverparams(), elementdescription::globaltolocal(), messages::info(), lists::listgetconstreal(), lists::listgetinteger(), normal(), elementdescription::normalvector(), particleutils::particlevariablecreate(), particleutils::particlevariableget(), solver(), lists::variableaddvector(), and lists::variableget().
Referenced by particledynamics().