Class for parallel storage of interactions between a triangle mesh and particles which does require exchange of interactions across process boundaries but where interactions are not dynamically formed.
More...
|
| | TriMesh_PIS_EB (TriMesh *, ParallelParticleArray< ParticleType > *, typename IType::ParameterType) |
| |
| virtual bool | isIn (const vector< int > &) |
| |
| virtual void | setTimeStepSize (double dt) |
| |
| virtual void | calcForces () |
| |
| virtual bool | update () |
| |
| virtual void | exchange () |
| |
| virtual void | rebuild () |
| |
| virtual void | tryInsert (const typename IType::TriIntType &) |
| |
| virtual void | tryInsert (const vector< int > &) |
| |
| virtual void | saveSnapShotData (std::ostream &) |
| |
| void | buildFromPPATagged (int, int) |
| |
| void | buildFromPPAByGap (double) |
| |
| | TriMesh_PIS (TriMesh *, ParallelParticleArray< ParticleType > *) |
| |
| virtual | ~TriMesh_PIS () |
| |
| virtual void | addExIG (AParallelInteractionStorage *) |
| |
| virtual AFieldSlave * | generateNewScalarFieldSlave (TML_Comm *, const string &, int, int, int, int) |
| |
| virtual AFieldSlave * | generateNewVectorFieldSlave (TML_Comm *, const string &, int, int, int, int) |
| |
| | AParallelInteractionStorage (AParallelParticleArray *ppa) |
| |
| virtual | ~AParallelInteractionStorage () |
| |
| virtual void | calcHeatFrict () |
| |
| virtual void | calcHeatTrans () |
| |
| virtual AFieldSlave * | generateNewScalarHistoryFieldSlave (TML_Comm *, const string &, int, int, int) |
| |
| virtual void | saveCheckPointData (std::ostream &) |
| |
| virtual void | loadCheckPointData (std::istream &) |
| |
| virtual bool | willSave () |
| |
| | CheckPointable () |
| |
| virtual | ~CheckPointable () |
| |
template<class ParticleType, class IType>
class TriMesh_PIS_EB< ParticleType, IType >
Class for parallel storage of interactions between a triangle mesh and particles which does require exchange of interactions across process boundaries but where interactions are not dynamically formed.
template<class ParticleType , class IType >
| bool TriMesh_PIS_EB< ParticleType, IType >::isIn |
( |
const vector< int > & |
v | ) |
|
|
virtual |
Check if an interaction is in this PIS. The first 2 values in the vector are expected to be the tri/edge/corner (v[0]) and particle (v[1]) ids, the 3rd an indicator if tri (v[2]==0),edge (v[2]==1)or corner (v[2]==2) interaction. If there is no 3rd value or it is not 0 (tri), "false" is returned.
- Parameters
-
- Warning
- log(N)
Implements AParallelInteractionStorage.
References console, and Console::Error().
template<class ParticleType , class IType >
| void TriMesh_PIS_EB< ParticleType, IType >::tryInsert |
( |
const vector< int > & |
pids | ) |
|
|
virtual |
Insert interactions newly created from particle Ids and parameters. If insertion is impossible because the interaction is already in, or one of the particles is not in the associated PPA nothing happens. Check if an interaction is in this PIS. The first 2 values in the vector are expected to be the tri/edge/corner (pids[0]) and particle (pids[1]) ids, the 3rd an indicator if tri (pids[2]==0),edge (pids[2]==1)or corner (pids[2]==2) interaction. If there is no 3rd value or it is not in [0,1,2], nothing happens.
- Parameters
-
References console, Console::Error(), ParallelParticleArray< T >::getParticlePtrByIndex(), and NULL.