Peridynamics Mesh Generator

Description

The MeshGeneratorPD MeshGenerator selectively converts finite element meshes and boundary sets to peridynamics meshes and corresponding boundary sets. For cases when more than one element block exist in the finite element mesh, user can specify which element block to convert to peridynamics elements and whether the converted finite elements will be retained with the newly created peridynamics elements or not.

For boundary sideset conversion, phantom elements are constructed based on peridynamics material points that were converted from finite elements adjacent to the specified FE boundary sidesets. For 2D FE meshes of either triangular or quadrilateral finite elements, three-node triangular phantom elements are constructed. For 3D FE meshes, the sideset construction currently only accepts hexahedral elements.

Input Parameters

  • inputThe mesh based on which PD mesh will be created

    C++ Type:MeshGeneratorName

    Options:

    Description:The mesh based on which PD mesh will be created

  • retain_fe_meshFalseWhether to retain the FE mesh or not after conversion into PD mesh

    Default:False

    C++ Type:bool

    Options:

    Description:Whether to retain the FE mesh or not after conversion into PD mesh

Required Parameters

  • blocks_as_feIDs of the FE mesh blocks to not be converted to PD mesh. This should only be used when the number of to-be-converted FE blocks is considerably large.

    C++ Type:std::vector<unsigned short>

    Options:

    Description:IDs of the FE mesh blocks to not be converted to PD mesh. This should only be used when the number of to-be-converted FE blocks is considerably large.

  • blocks_to_pdIDs of the FE mesh blocks to be converted to PD mesh

    C++ Type:std::vector<unsigned short>

    Options:

    Description:IDs of the FE mesh blocks to be converted to PD mesh

  • bonding_block_pairsList of FE block pairs between which inter-block bonds will be created after being converted into PD mesh

    C++ Type:std::vector<std::vector<unsigned short>>

    Options:

    Description:List of FE block pairs between which inter-block bonds will be created after being converted into PD mesh

  • construct_pd_sidesetsFalseWhether to construct PD sidesets based on the sidesets in original FE mesh

    Default:False

    C++ Type:bool

    Options:

    Description:Whether to construct PD sidesets based on the sidesets in original FE mesh

  • merge_pd_blocksFalseWhether to merge all converted PD mesh blocks into a single block. This is used when all PD blocks have the same properties

    Default:False

    C++ Type:bool

    Options:

    Description:Whether to merge all converted PD mesh blocks into a single block. This is used when all PD blocks have the same properties

  • merge_pd_interfacial_blocksFalseWhether to merge all PD interfacial mesh blocks into a single block. This is used when all PD interfacial blocks have the same properties

    Default:False

    C++ Type:bool

    Options:

    Description:Whether to merge all PD interfacial mesh blocks into a single block. This is used when all PD interfacial blocks have the same properties

  • non_bonding_block_pairsList of FE block pairs between which inter-block bonds will NOT be created after being converted into PD mesh

    C++ Type:std::vector<std::vector<unsigned short>>

    Options:

    Description:List of FE block pairs between which inter-block bonds will NOT be created after being converted into PD mesh

  • show_infoFalseWhether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

    Default:False

    C++ Type:bool

    Options:

    Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

  • sidesets_to_pdIDs of the FE sidesets to be reconstructed based on converted PD mesh

    C++ Type:std::vector<short>

    Options:

    Description:IDs of the FE sidesets to be reconstructed based on converted PD mesh

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Options:

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Options:

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files