16 #ifndef GEOS_MESH_PARTICLEBLOCK_HPP_
17 #define GEOS_MESH_PARTICLEBLOCK_HPP_
19 #include "mesh/generators/ParticleBlockABC.hpp"
82 {
return m_particleType; }
85 {
return m_particleID; }
92 { m_particleID = particleID; }
95 {
return m_particleCenter; }
102 { m_particleCenter = particleCenter; }
105 {
return m_particleVelocity; }
112 { m_particleVelocity = particleVelocity; }
115 {
return m_particleMaterialDirection; }
122 { m_particleMaterialDirection = particleMaterialDirection; }
125 {
return m_particleGroup; }
132 { m_particleGroup = particleGroup; }
135 {
return m_particleSurfaceFlag; }
142 { m_particleSurfaceFlag = particleSurfaceFlag; }
145 {
return m_particleDamage; }
152 { m_particleDamage = particleDamage; }
155 {
return m_particleStrengthScale; }
162 { m_particleStrengthScale = particleStrengthScale; }
165 {
return m_particleVolume; }
172 { m_particleVolume = particleVolume; }
175 {
return m_particleRVectors; }
182 { m_particleRVectors = particleRVectors; }
185 {
return m_hasRVectors; }
198 {
return m_localToGlobalMap; }
201 {
return m_localToGlobalMap; }
262 std::list< dataRepository::WrapperBase * > getExternalProperties()
override
264 std::list< dataRepository::WrapperBase * > result;
265 for(
string const & externalPropertyName : m_externalPropertyNames )
267 result.push_back( &this->
getWrapperBase( externalPropertyName ) );
array1d< real64 > getParticleVolume() const override
Get the list of particle volumes in this subregion.
array1d< globalIndex > getParticleID() const override
Get the list of particle global IDs in this subregion.
void resize(dataRepository::indexType const numParticles) override final
Resize the cell block to hold numParticles.
localIndex numParticles() const override
Get the number of particles.
void setParticleStrengthScale(array1d< real64 > const particleStrengthScale)
Set the list of particle strength scale values in this subregion.
array1d< real64 > getParticleStrengthScale() const override
Get the list of particle strength scale values in this subregion.
ParticleBlock(const ParticleBlock &init)=delete
Copy constructor.
void setParticleRVectors(array3d< real64 > const particleRVectors)
Set the list of particle r-vectors in this subregion.
void setParticleMaterialDirection(array2d< real64 > const particleMaterialDirection)
Set the list of material directions in this subregion.
array1d< globalIndex > localToGlobalMap() const override
Get local to global map.
void setParticleCenter(array2d< real64 > const particleCenter)
Set the list of particle center locations in this subregion.
void setParticleType(ParticleType particleType)
Defines the underlying particle type (hex, tet...)
void setParticleVolume(array1d< real64 > const particleVolume)
Set the list of particle volumes in this subregion.
ParticleType getParticleType() const override
Get the type of particle in this subregion.
ParticleBlock(string const &name, Group *const parent)
Constructor for this class.
arrayView1d< globalIndex > localToGlobalMap()
Get local to global map, non-const version.
array1d< real64 > getParticleDamage() const override
Get the list of particle damage values in this subregion.
array1d< int > getParticleGroup() const override
Get the list of particle group numbers (for contact) in this subregion.
void setParticleID(array1d< globalIndex > const particleID)
Sets the global IDs of particles in this subregion.
void setParticleVelocity(array2d< real64 > const particleVelocity)
Set the list of particle velocities in this subregion.
array2d< real64 > getParticleMaterialDirection() const override
Get the list of particle material directions in this subregion.
array1d< int > getParticleSurfaceFlag() const override
Get the list of particle surface flag values in this subregion.
array2d< real64 > getParticleCenter() const override
Get the list of particle center locations in this subregion.
void setParticleSurfaceFlag(array1d< int > const particleSurfaceFlag)
Set the list of particle surface flags in this subregion.
bool hasRVectors() const override
Query whether this subregion has particles of a type that have r-vectors that depend on the deformati...
void setParticleDamage(array1d< real64 > const particleDamage)
Set the list of particle damage values in this subregion.
array3d< real64 > getParticleRVectors() const override
Get the list of particle r-vectors in this subregion.
void setParticleGroup(array1d< int > const particleGroup)
Set the list of particle group numbers (for contact) in this subregion.
array2d< real64 > getParticleVelocity() const override
Get the list of particle velocities in this subregion.
~ParticleBlock()
Default destructor.
WrapperBase const & getWrapperBase(KEY const &key) const
Return a reference to a WrapperBase stored in this group.
localIndex size() const
Get the "size" of the group, which determines the number of elements in resizable wrappers.
localIndex indexType
The default index type for entries the hierarchy.
ArrayView< T, 1 > arrayView1d
Alias for 1D array view.
Array< T, 2, PERMUTATION > array2d
Alias for 2D array.
Array< T, 3, PERMUTATION > array3d
Alias for 3D array.
array1d< string > string_array
A 1-dimensional array of geos::string types.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
ParticleType
Denotes type of particle shape/interpolation scheme.
Array< T, 1 > array1d
Alias for 1D array.