11#ifndef PARTILCE_REFPARTILCE_H
12#define PARTILCE_REFPARTILCE_H
50 std::shared_ptr<model::ModelData> model_data,
51 std::shared_ptr<util::geometry::GeomObject> geom,
52 std::shared_ptr<fe::Mesh> mesh);
75 const std::shared_ptr<util::geometry::GeomObject> &
getGeomP()
const {
return d_geom_p; };
141 std::string
printStr(
int nt = 0,
int lvl = 0)
const;
149 void print(
int nt = 0,
int lvl = 0)
const { std::cout <<
printStr(nt, lvl); }
165 std::shared_ptr<util::geometry::GeomObject>
d_geom_p;
A class to store reference particle related data. Consider a case of multiple hexagon-shaped particle...
std::shared_ptr< model::ModelData > d_modelData_p
Reference to model class.
std::string printStr(int nt=0, int lvl=0) const
Returns the string containing printable information about the object.
size_t getCenterNodeId() const
Get id of center node of particle.
size_t d_id
Id of reference particle in list d_referenceParticles in ModelData.
util::Point getNode(const size_t &i) const
Get reference coordinate of a node.
std::shared_ptr< fe::Mesh > & getMeshP()
Get pointer to mesh object.
const fe::Mesh & getMesh() const
Get reference to mesh object.
size_t getDimension() const
Get the dimension of the domain.
const std::shared_ptr< fe::Mesh > & getMeshP() const
Get pointer to mesh object.
const std::shared_ptr< util::geometry::GeomObject > & getGeomP() const
Get pointer to geometry object.
size_t d_centerNode
Id of mesh node closest to the particle center.
double getNodalVolume(const size_t &i) const
Get nodal volume.
double d_pRadius
Particle radius.
size_t getNumNodes() const
Get the number of nodes.
std::shared_ptr< fe::Mesh > d_mesh_p
Pointer to mesh on reference particle.
std::vector< size_t > d_bNodes
List of nodes near boundary.
std::shared_ptr< util::geometry::GeomObject > & getGeomP()
Get pointer to geometry object.
void print(int nt=0, int lvl=0) const
Prints the information about the object.
std::shared_ptr< util::geometry::GeomObject > d_geom_p
Geometrical object defining this particle.
double getParticleRadius() const
Get radius of reference particle.
fe::Mesh & getMesh()
Get reference to mesh object.
std::vector< uint8_t > d_intFlags
Interior flags. For given node i the flag is d_intFlags[i%8]. We use 1 bit per node.
Collection of methods and data related to particle object.
A structure to represent 3d vectors.