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

    Unit:(no unit assumed)

    Controllable:No

    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

    Unit:(no unit assumed)

    Controllable:No

    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>

    Unit:(no unit assumed)

    Controllable:No

    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>

    Unit:(no unit assumed)

    Controllable:No

    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>>

    Unit:(no unit assumed)

    Controllable:No

    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

    Unit:(no unit assumed)

    Controllable:No

    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

    Unit:(no unit assumed)

    Controllable:No

    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

    Unit:(no unit assumed)

    Controllable:No

    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>>

    Unit:(no unit assumed)

    Controllable:No

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

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

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

    Unit:(no unit assumed)

    Controllable:No

    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>

    Unit:(no unit assumed)

    Controllable:No

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

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • save_with_nameKeep the mesh from this mesh generator in memory with the name specified

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:Keep the mesh from this mesh generator in memory with the name specified

Advanced Parameters

  • nemesisFalseWhether or not to output the mesh file in the nemesisformat (only if output = true)

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to output the mesh file in the nemesisformat (only if output = true)

  • outputFalseWhether or not to output the mesh file after generating the mesh

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to output the mesh file after generating the 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

    Unit:(no unit assumed)

    Controllable:No

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

Debugging Parameters

Input Files