www.mooseframework.org
MeshGeneratorPD.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "MeshGenerator.h"
13 
14 // Forward declarations
15 class MeshGeneratorPD;
16 
17 template <>
18 InputParameters validParams<MeshGeneratorPD>();
19 
23 class MeshGeneratorPD : public MeshGenerator
24 {
25 public:
26  MeshGeneratorPD(const InputParameters & parameters);
27 
32  std::unique_ptr<MeshBase> generate();
33 
34 protected:
36  std::unique_ptr<MeshBase> & _input;
37 
41  std::set<SubdomainID> _conv_blk_ids;
42 
46  std::set<SubdomainID> _non_conv_blk_ids;
47 
51 
55 
58 
62  std::multimap<SubdomainID, SubdomainID> _connect_blk_id_pairs;
63 
67  std::multimap<SubdomainID, SubdomainID> _non_connect_blk_id_pairs;
68 
72 };
MeshGeneratorPD::_conv_blk_ids
std::set< SubdomainID > _conv_blk_ids
Definition: MeshGeneratorPD.h:41
MeshGeneratorPD::_retain_fe_mesh
bool _retain_fe_mesh
flag to specify whether the FE mesh should be retained or not in addition to newly created PD mesh
Definition: MeshGeneratorPD.h:50
MeshGeneratorPD::_input
std::unique_ptr< MeshBase > & _input
Reference to the input finite element mesh.
Definition: MeshGeneratorPD.h:36
MeshGeneratorPD::generate
std::unique_ptr< MeshBase > generate()
Function to convert the finite element mesh to peridynamics mesh.
Definition: MeshGeneratorPD.C:119
MeshGeneratorPD::_non_connect_blk_id_pairs
std::multimap< SubdomainID, SubdomainID > _non_connect_blk_id_pairs
Definition: MeshGeneratorPD.h:67
MeshGeneratorPD::_non_conv_blk_ids
std::set< SubdomainID > _non_conv_blk_ids
Definition: MeshGeneratorPD.h:46
MeshGeneratorPD::_has_connect_blk_id_pairs
bool _has_connect_blk_id_pairs
pairs of converted FE block IDs when only certain blocks need to be connected using interfacial bonds...
Definition: MeshGeneratorPD.h:61
MeshGeneratorPD::_single_converted_blk
bool _single_converted_blk
flag to specify whether to combine converted PD mesh blocks into a single mesh block or not this is u...
Definition: MeshGeneratorPD.h:54
MeshGeneratorPD::_has_conv_blk_ids
bool _has_conv_blk_ids
block ID(s) of input FE mesh when only certain block(s) needs to be converted to PD mesh this is used...
Definition: MeshGeneratorPD.h:40
MeshGeneratorPD::_single_interface_blk
bool _single_interface_blk
flag to specify whether a single block should be used for all interfacial bonds this is used when all...
Definition: MeshGeneratorPD.h:71
validParams< MeshGeneratorPD >
InputParameters validParams< MeshGeneratorPD >()
Definition: MeshGeneratorPD.C:22
MeshGeneratorPD::MeshGeneratorPD
MeshGeneratorPD(const InputParameters &parameters)
Definition: MeshGeneratorPD.C:58
MeshGeneratorPD::_construct_pd_sideset
bool _construct_pd_sideset
flag to specify whether PD sideset should be constructed or not
Definition: MeshGeneratorPD.h:57
MeshGeneratorPD::_connect_blk_id_pairs
std::multimap< SubdomainID, SubdomainID > _connect_blk_id_pairs
Definition: MeshGeneratorPD.h:62
MeshGeneratorPD::_has_non_connect_blk_id_pairs
bool _has_non_connect_blk_id_pairs
pairs of converted FE block IDs when only certain blocks need NOT to be connected this is usually use...
Definition: MeshGeneratorPD.h:66
MeshGeneratorPD
Generate peridynamics mesh based on finite element mesh.
Definition: MeshGeneratorPD.h:23
MeshGeneratorPD::_has_non_conv_blk_ids
bool _has_non_conv_blk_ids
block ID(s) of input FE mesh when only certain block(s) needs NOT to be converted to PD mesh this is ...
Definition: MeshGeneratorPD.h:45