hemocell
|
#include <hemoCellParticleField.h>
Public Member Functions | |
HemoCellParticleField (plint nx, plint ny, plint nz) | |
virtual | ~HemoCellParticleField () |
HemoCellParticleField (HemoCellParticleField const &rhs) | |
HemoCellParticleField & | operator= (HemoCellParticleField const &rhs) |
HemoCellParticleField * | clone () const |
void | swap (HemoCellParticleField &rhs) |
virtual void | applyConstitutiveModel (bool forced=false) |
virtual void | addParticle (HemoCellParticle *particle) |
void | addParticle (const HemoCellParticle::serializeValues_t &sv) |
void | addParticlePreinlet (const HemoCellParticle::serializeValues_t &sv) |
virtual void | removeParticles (plb::Box3D domain) |
virtual void | removeParticles_inverse (plb::Box3D domain) |
virtual void | removeParticles (plb::Box3D domain, plint tag) |
virtual void | removeParticles (plint tag) |
virtual void | findParticles (plb::Box3D domain, std::vector< HemoCellParticle * > &found) |
virtual void | findParticles (plb::Box3D domain, std::vector< const HemoCellParticle * > &found) const |
void | findParticles (plb::Box3D domain, std::vector< HemoCellParticle * > &found, pluint type) |
virtual void | advanceParticles () |
void | applyRepulsionForce (bool forced=false) |
virtual void | interpolateFluidVelocity (plb::Box3D domain) |
virtual void | spreadParticleForce (plb::Box3D domain) |
void | separateForceVectors () |
void | unifyForceVectors () |
void | updateResidenceTime (unsigned int rtime) |
virtual void | findInternalParticleGridPoints (plb::Box3D domain) |
virtual void | internalGridPointsMembrane (plb::Box3D domain) |
int | deleteIncompleteCells (pluint ctype, bool verbose=true) |
int | deleteIncompleteCells (bool verbose=true) |
void | syncEnvelopes () |
void | populateBoundaryParticles () |
void | applyBoundaryRepulsionForce () |
void | populateBindingSites (plb::Box3D &domain) |
T | eigenValueFromCell (plb::Cell< T, DESCRIPTOR > &cell) |
void | solidifyCells () |
void | prepareSolidification () |
void | setlocalDomain (plb::Box3D &localDomain_) |
void | computeGridPosition (hemo::Array< T, 3 > const &position, plint &iX, plint &iY, plint &iZ) const |
void | computeGridPosition (hemo::Array< T, 3 > const &position, plint *iX, plint *iY, plint *iZ) const |
bool | isContainedABS (const hemo::Array< T, 3 > &pos, const plb::Box3D &box) const |
plb::Box3D & | getBoundingBox () |
void | outputPositions (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputVelocities (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputForces (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputForceVolume (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputForceArea (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputForceBending (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputForceLink (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputForceVisc (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputForceRepulsion (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputTriangles (plb::Box3D, vector< vector< plint > > &, pluint, std::string &) |
void | outputInnerLinks (plb::Box3D, vector< vector< plint > > &, pluint, std::string &) |
void | outputVertexId (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputCellId (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputForceInnerLink (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | outputResTime (plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
void | AddOutputMap () |
void | passthroughpass (int, plb::Box3D, vector< vector< T > > &, pluint, std::string &) |
virtual HemoCellParticleDataTransfer & | getDataTransfer () |
virtual HemoCellParticleDataTransfer const & | getDataTransfer () const |
pluint | getsize () |
plint | nearestCell (T const) const |
void | invalidate_lpc () |
void | invalidate_ppt () |
void | invalidate_ppc () |
void | invalidate_preinlet_ppc () |
void | invalidate_pg () |
const vector< vector< unsigned int > > & | get_particles_per_type () |
const map< int, vector< int > > & | get_particles_per_cell () |
const map< int, vector< int > > & | get_preinlet_particles_per_cell () |
const map< int, bool > & | get_lpc () |
void | insert_ppc (HemoCellParticle *particle, unsigned int index) |
void | insert_preinlet_ppc (HemoCellParticle *particle, unsigned int index) |
Static Public Member Functions | |
static std::string | getBlockName () |
static std::string | basicType () |
static std::string | descriptorType () |
Public Attributes | |
map< int, void(HemoCellParticleField::*)(plb::Box3D, vector< vector< T > > &, pluint, std::string &)> | outputFunctionMap |
pluint | atomicBlockId |
plb::BlockLattice3D< T, DESCRIPTOR > * | atomicLattice = 0 |
plb::BlockLattice3D< T, CEPAC_DESCRIPTOR > * | CEPAClattice = 0 |
vector< plint > | neighbours |
vector< plb::Dot3D > | boundaryParticles |
pluint | envelopeSize |
vector< HemoCellParticle > | particles |
plb::Box3D | boundingBox |
int | nFluidCells = 0 |
set< plb::Dot3D > | internalPoints |
plb::ScalarField3D< T > * | interiorViscosityField = 0 |
HemoCellParticleDataTransfer & | particleDataTransfer |
plint | addParticleCount = 0 |
plb::Box3D | localDomain |
std::set< plb::Dot3D > | bindingSites |
plb::ScalarField3D< bool > * | bindingField = 0 |
Static Public Attributes | |
static HemoCellFields * | cellFields =0 |
Private Member Functions | |
void | update_lpc () |
void | update_ppc () |
void | update_preinlet_ppc () |
void | update_ppt () |
void | update_pg () |
void | issueWarning (HemoCellParticle &p) |
unsigned int | grid_index (int &nx, int &ny, int &nz) |
Private Attributes | |
bool | lpc_up_to_date = false |
bool | ppt_up_to_date = false |
bool | ppc_up_to_date = false |
bool | preinlet_ppc_up_to_date = false |
bool | pg_up_to_date = false |
vector< vector< unsigned int > > | _particles_per_type |
map< int, vector< int > > | _particles_per_cell |
map< int, vector< int > > | _preinlet_particles_per_cell |
map< int, bool > | _lpc |
hemo::Array< unsigned int, 10 > * | particle_grid = 0 |
unsigned int * | particle_grid_size = 0 |
vector< hemo::Array< T, 3 > * > | allocated_for_output |
|
virtual |
hemo::HemoCellParticleField::HemoCellParticleField | ( | HemoCellParticleField const & | rhs | ) |
void hemo::HemoCellParticleField::AddOutputMap | ( | ) |
void hemo::HemoCellParticleField::addParticle | ( | const HemoCellParticle::serializeValues_t & | sv | ) |
|
virtual |
void hemo::HemoCellParticleField::addParticlePreinlet | ( | const HemoCellParticle::serializeValues_t & | sv | ) |
|
virtual |
void hemo::HemoCellParticleField::applyBoundaryRepulsionForce | ( | ) |
|
virtual |
void hemo::HemoCellParticleField::applyRepulsionForce | ( | bool | forced = false | ) |
|
inlinestatic |
HemoCellParticleField * hemo::HemoCellParticleField::clone | ( | ) | const |
void hemo::HemoCellParticleField::computeGridPosition | ( | hemo::Array< T, 3 > const & | position, |
plint & | iX, | ||
plint & | iY, | ||
plint & | iZ | ||
) | const |
|
inline |
int hemo::HemoCellParticleField::deleteIncompleteCells | ( | bool | verbose = true | ) |
int hemo::HemoCellParticleField::deleteIncompleteCells | ( | pluint | ctype, |
bool | verbose = true |
||
) |
|
inlinestatic |
T hemo::HemoCellParticleField::eigenValueFromCell | ( | plb::Cell< T, DESCRIPTOR > & | cell | ) |
|
virtual |
|
virtual |
|
virtual |
void hemo::HemoCellParticleField::findParticles | ( | plb::Box3D | domain, |
std::vector< HemoCellParticle * > & | found, | ||
pluint | type | ||
) |
const map< int, bool > & hemo::HemoCellParticleField::get_lpc | ( | ) |
const map< int, vector< int > > & hemo::HemoCellParticleField::get_particles_per_cell | ( | ) |
const vector< vector< unsigned int > > & hemo::HemoCellParticleField::get_particles_per_type | ( | ) |
const map< int, vector< int > > & hemo::HemoCellParticleField::get_preinlet_particles_per_cell | ( | ) |
|
static |
|
inline |
|
virtual |
|
virtual |
|
inline |
|
inlineprivate |
|
inline |
|
inline |
|
virtual |
|
virtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
HemoCellParticleField & hemo::HemoCellParticleField::operator= | ( | HemoCellParticleField const & | rhs | ) |
void hemo::HemoCellParticleField::outputCellId | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputForceArea | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputForceBending | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputForceInnerLink | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputForceLink | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputForceRepulsion | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputForces | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputForceVisc | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputForceVolume | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputInnerLinks | ( | plb::Box3D | , |
vector< vector< plint > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputPositions | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputResTime | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputTriangles | ( | plb::Box3D | , |
vector< vector< plint > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputVelocities | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::outputVertexId | ( | plb::Box3D | , |
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::passthroughpass | ( | int | , |
plb::Box3D | , | ||
vector< vector< T > > & | , | ||
pluint | , | ||
std::string & | |||
) |
void hemo::HemoCellParticleField::populateBindingSites | ( | plb::Box3D & | domain | ) |
void hemo::HemoCellParticleField::populateBoundaryParticles | ( | ) |
void hemo::HemoCellParticleField::prepareSolidification | ( | ) |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
void hemo::HemoCellParticleField::separateForceVectors | ( | ) |
void hemo::HemoCellParticleField::setlocalDomain | ( | plb::Box3D & | localDomain_ | ) |
void hemo::HemoCellParticleField::solidifyCells | ( | ) |
|
virtual |
void hemo::HemoCellParticleField::swap | ( | HemoCellParticleField & | rhs | ) |
void hemo::HemoCellParticleField::syncEnvelopes | ( | ) |
void hemo::HemoCellParticleField::unifyForceVectors | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
void hemo::HemoCellParticleField::updateResidenceTime | ( | unsigned int | rtime | ) |
|
private |
|
private |
|
private |
|
private |
plint hemo::HemoCellParticleField::addParticleCount = 0 |
|
private |
pluint hemo::HemoCellParticleField::atomicBlockId |
plb::BlockLattice3D<T, DESCRIPTOR>* hemo::HemoCellParticleField::atomicLattice = 0 |
plb::ScalarField3D<bool>* hemo::HemoCellParticleField::bindingField = 0 |
std::set<plb::Dot3D> hemo::HemoCellParticleField::bindingSites |
vector<plb::Dot3D> hemo::HemoCellParticleField::boundaryParticles |
plb::Box3D hemo::HemoCellParticleField::boundingBox |
|
static |
plb::BlockLattice3D<T, CEPAC_DESCRIPTOR>* hemo::HemoCellParticleField::CEPAClattice = 0 |
pluint hemo::HemoCellParticleField::envelopeSize |
plb::ScalarField3D<T>* hemo::HemoCellParticleField::interiorViscosityField = 0 |
set<plb::Dot3D> hemo::HemoCellParticleField::internalPoints |
plb::Box3D hemo::HemoCellParticleField::localDomain |
|
private |
vector<plint> hemo::HemoCellParticleField::neighbours |
int hemo::HemoCellParticleField::nFluidCells = 0 |
map<int,void (HemoCellParticleField::*)(plb::Box3D,vector<vector<T>>&,pluint,std::string&)> hemo::HemoCellParticleField::outputFunctionMap |
|
private |
|
private |
HemoCellParticleDataTransfer& hemo::HemoCellParticleField::particleDataTransfer |
vector<HemoCellParticle> hemo::HemoCellParticleField::particles |
|
private |
|
private |
|
private |
|
private |