Generate peridynamics mesh based on finite element mesh. More...
#include <MeshGeneratorPD.h>
Public Types | |
typedef DataFileName | DataFileParameterType |
Public Member Functions | |
MeshGeneratorPD (const InputParameters ¶meters) | |
std::unique_ptr< MeshBase > | generate () |
Function to convert the finite element mesh to peridynamics mesh. More... | |
std::unique_ptr< MeshBase > | generateInternal () |
const std::set< MeshGeneratorName > & | getRequestedMeshGenerators () const |
const std::set< MeshGeneratorName > & | getRequestedMeshGeneratorsForSub () const |
void | addParentMeshGenerator (const MeshGenerator &mg, const AddParentChildKey) |
void | addChildMeshGenerator (const MeshGenerator &mg, const AddParentChildKey) |
const std::set< const MeshGenerator *, Comparator > & | getParentMeshGenerators () const |
const std::set< const MeshGenerator *, Comparator > & | getChildMeshGenerators () const |
const std::set< const MeshGenerator *, Comparator > & | getSubMeshGenerators () const |
bool | isParentMeshGenerator (const MeshGeneratorName &name, const bool direct=true) const |
bool | isChildMeshGenerator (const MeshGeneratorName &name, const bool direct=true) const |
bool | isNullMeshName (const MeshGeneratorName &name) const |
bool | hasSaveMesh () const |
bool | hasOutput () const |
const std::string & | getSavedMeshName () const |
bool | hasGenerateData () const |
bool | isDataOnly () const |
virtual bool | enabled () const |
std::shared_ptr< MooseObject > | getSharedPtr () |
std::shared_ptr< const MooseObject > | getSharedPtr () const |
MooseApp & | getMooseApp () const |
const std::string & | type () const |
virtual const std::string & | name () const |
std::string | typeAndName () const |
std::string | errorPrefix (const std::string &error_type) const |
void | callMooseError (std::string msg, const bool with_prefix) const |
MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
const InputParameters & | parameters () const |
MooseObjectName | uniqueName () const |
const T & | getParam (const std::string &name) const |
std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
const T * | queryParam (const std::string &name) const |
const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
bool | isParamValid (const std::string &name) const |
bool | isParamSetByUser (const std::string &nm) const |
void | paramError (const std::string ¶m, Args... args) const |
void | paramWarning (const std::string ¶m, Args... args) const |
void | paramInfo (const std::string ¶m, Args... args) const |
void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
void | mooseError (Args &&... args) const |
void | mooseErrorNonPrefixed (Args &&... args) const |
void | mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const |
void | mooseWarning (Args &&... args) const |
void | mooseWarningNonPrefixed (Args &&... args) const |
void | mooseDeprecated (Args &&... args) const |
void | mooseInfo (Args &&... args) const |
std::string | getDataFileName (const std::string ¶m) const |
std::string | getDataFileNameByName (const std::string &relative_path) const |
std::string | getDataFilePath (const std::string &relative_path) const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static InputParameters | validParams () |
static bool | hasGenerateData (const InputParameters ¶ms) |
static void | setHasGenerateData (InputParameters ¶ms) |
Public Attributes | |
const ConsoleStream | _console |
Static Public Attributes | |
static const std::string | data_only_param |
static constexpr auto | SYSTEM |
static constexpr auto | NAME |
Protected Member Functions | |
virtual void | generateData () |
T & | copyMeshProperty (const std::string &target_data_name, const std::string &source_data_name, const std::string &source_mesh) |
T & | copyMeshProperty (const std::string &source_data_name, const std::string &source_mesh) |
std::unique_ptr< MeshBase > & | getMesh (const std::string ¶m_name, const bool allow_invalid=false) |
std::vector< std::unique_ptr< MeshBase > *> | getMeshes (const std::string ¶m_name) |
std::unique_ptr< MeshBase > & | getMeshByName (const MeshGeneratorName &mesh_generator_name) |
std::vector< std::unique_ptr< MeshBase > *> | getMeshesByName (const std::vector< MeshGeneratorName > &mesh_generator_names) |
void | declareMeshForSub (const std::string ¶m_name) |
void | declareMeshesForSub (const std::string ¶m_name) |
void | declareMeshForSubByName (const MeshGeneratorName &mesh_generator_name) |
void | declareMeshesForSubByName (const std::vector< MeshGeneratorName > &mesh_generator_names) |
std::unique_ptr< MeshBase > | buildMeshBaseObject (unsigned int dim=libMesh::invalid_uint) |
std::unique_ptr< ReplicatedMesh > | buildReplicatedMesh (unsigned int dim=libMesh::invalid_uint) |
std::unique_ptr< DistributedMesh > | buildDistributedMesh (unsigned int dim=libMesh::invalid_uint) |
void | addMeshSubgenerator (const std::string &type, const std::string &name, Ts... extra_input_parameters) |
void | addMeshSubgenerator (const std::string &type, const std::string &name, InputParameters params) |
void | declareNullMeshName (const MeshGeneratorName &name) |
const T & | getMeshProperty (const std::string &data_name, const std::string &prefix) |
const T & | getMeshProperty (const std::string &data_name) |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name) const |
bool | hasMeshProperty (const std::string &data_name) const |
std::string | meshPropertyName (const std::string &data_name) const |
T & | declareMeshProperty (const std::string &data_name, Args &&... args) |
T & | declareMeshProperty (const std::string &data_name, const T &data_value) |
T & | declareMeshProperty (const std::string &data_name, Args &&... args) |
T & | declareMeshProperty (const std::string &data_name, const T &data_value) |
T & | setMeshProperty (const std::string &data_name, Args &&... args) |
T & | setMeshProperty (const std::string &data_name, const T &data_value) |
T & | setMeshProperty (const std::string &data_name, Args &&... args) |
T & | setMeshProperty (const std::string &data_name, const T &data_value) |
Static Protected Member Functions | |
static std::string | meshPropertyName (const std::string &data_name, const std::string &prefix) |
Protected Attributes | |
unsigned int | _pd_blk_offset_number = 1000 |
a number used to offset the block ID after being converted into PD mesh More... | |
unsigned int | _phantom_blk_offset_number = 10000 |
a number used to offset the block ID for phantom elements More... | |
unsigned int | _pd_nodeset_offset_number = 999 |
a number used to offset the boundary nodeset ID after being converted into PD nodeset More... | |
std::unique_ptr< MeshBase > & | _input |
Reference to the input finite element mesh. More... | |
bool | _has_blks_to_pd |
block ID(s) of input FE mesh when only certain block(s) needs to be converted to PD mesh this is used when there are listable to-be-converted blocks More... | |
std::set< SubdomainID > | _blks_to_pd |
bool | _has_blks_as_fe |
block ID(s) of input FE mesh when only certain block(s) needs NOT to be converted to PD mesh this is usually used when there are considerable to-be-converted blocks but a few not to be converted More... | |
std::set< SubdomainID > | _blks_as_fe |
bool | _retain_fe_mesh |
flag to specify whether the FE mesh should be retained or not in addition to newly created PD mesh More... | |
bool | _merge_pd_blks |
flag to specify whether to combine converted PD mesh blocks into a single mesh block or not this is used when all PD blocks have the same properties More... | |
bool | _construct_pd_sideset |
flag to specify whether PD sideset should be constructed or not More... | |
bool | _has_sidesets_to_pd |
list of sideset ID(s) to be constructed based on converted PD mesh if the _construct_pd_sideset is true More... | |
std::set< boundary_id_type > | _fe_sidesets_for_pd_construction |
bool | _has_bonding_blk_pairs |
pairs of converted FE block IDs when only certain blocks need to be connected using interfacial bonds this is used when there are listable to-be-connected blocks More... | |
std::multimap< SubdomainID, SubdomainID > | _pd_bonding_blk_pairs |
bool | _has_non_bonding_blk_pairs |
pairs of converted FE block IDs when only certain blocks need NOT to be connected this is usually used when there are considerable to-be-connected blocks but a few not to be connected More... | |
std::multimap< SubdomainID, SubdomainID > | _pd_non_bonding_blk_pairs |
bool | _merge_pd_interfacial_blks |
flag to specify whether a single block should be used for all PD interfacial blocks this is used when all interfacial bonds have the same properties More... | |
MooseMesh *const | _mesh |
const bool & | _enabled |
MooseApp & | _app |
const std::string | _type |
const std::string | _name |
const InputParameters & | _pars |
Factory & | _factory |
ActionFactory & | _action_factory |
const Parallel::Communicator & | _communicator |
Generate peridynamics mesh based on finite element mesh.
Definition at line 19 of file MeshGeneratorPD.h.
MeshGeneratorPD::MeshGeneratorPD | ( | const InputParameters & | parameters | ) |
Definition at line 64 of file MeshGeneratorPD.C.
|
virtual |
Function to convert the finite element mesh to peridynamics mesh.
Implements MeshGenerator.
Definition at line 133 of file MeshGeneratorPD.C.
|
static |
Definition at line 21 of file MeshGeneratorPD.C.
|
protected |
Definition at line 53 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
Definition at line 48 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
flag to specify whether PD sideset should be constructed or not
Definition at line 64 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
Definition at line 67 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
block ID(s) of input FE mesh when only certain block(s) needs NOT to be converted to PD mesh this is usually used when there are considerable to-be-converted blocks but a few not to be converted
Definition at line 52 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
block ID(s) of input FE mesh when only certain block(s) needs to be converted to PD mesh this is used when there are listable to-be-converted blocks
Definition at line 47 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
pairs of converted FE block IDs when only certain blocks need to be connected using interfacial bonds this is used when there are listable to-be-connected blocks
Definition at line 71 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
pairs of converted FE block IDs when only certain blocks need NOT to be connected this is usually used when there are considerable to-be-connected blocks but a few not to be connected
Definition at line 76 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
list of sideset ID(s) to be constructed based on converted PD mesh if the _construct_pd_sideset is true
Definition at line 66 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
Reference to the input finite element mesh.
Definition at line 43 of file MeshGeneratorPD.h.
Referenced by generate().
|
protected |
flag to specify whether to combine converted PD mesh blocks into a single mesh block or not this is used when all PD blocks have the same properties
Definition at line 61 of file MeshGeneratorPD.h.
Referenced by generate().
|
protected |
flag to specify whether a single block should be used for all PD interfacial blocks this is used when all interfacial bonds have the same properties
Definition at line 81 of file MeshGeneratorPD.h.
Referenced by generate().
|
protected |
a number used to offset the block ID after being converted into PD mesh
Definition at line 34 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
Definition at line 72 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
a number used to offset the boundary nodeset ID after being converted into PD nodeset
Definition at line 40 of file MeshGeneratorPD.h.
Referenced by generate().
|
protected |
Definition at line 77 of file MeshGeneratorPD.h.
Referenced by generate(), and MeshGeneratorPD().
|
protected |
a number used to offset the block ID for phantom elements
Definition at line 37 of file MeshGeneratorPD.h.
Referenced by generate().
|
protected |
flag to specify whether the FE mesh should be retained or not in addition to newly created PD mesh
Definition at line 57 of file MeshGeneratorPD.h.
Referenced by generate().