19#ifndef __CP_CUTMESH_HPP__
20#define __CP_CUTMESH_HPP__
67 const int verb =
QUIET,
const bool debug =
false);
78 MoFEMErrorCode
copySurface(
const std::string save_mesh =
"");
81 const std::string save_mesh =
"",
82 const int verb =
QUIET,
94 MoFEMErrorCode
cutMesh(
int &first_bit,
const bool debug =
false);
100 const bool debug =
false,
101 std::string file_name =
"out_body_skin.vtk");
103 MoFEMErrorCode
findCrack(
const BitRefLevel
bit,
const int verb = 1,
104 const bool debug =
false);
108 const bool debug =
false);
113 const bool debug =
false);
116 MoFEMErrorCode
splitFaces(
const int verb = 1,
const bool debug =
false);
120 const bool debug =
false);
124 const bool debug =
false);
127 MoFEMErrorCode
refineCrackTip(
const int front_id,
const int verb = 1,
128 const bool debug =
false);
149 const bool debug =
false);
int getCrackSurfaceId() const
MoFEMErrorCode findBodySkin(const BitRefLevel bit, const int verb=1, const bool debug=false, std::string file_name="out_body_skin.vtk")
find body skin
MoFEMErrorCode findCrackFromPrisms(const BitRefLevel bit, const int verb=1, const bool debug=false)
get crack front
MoFEMErrorCode query_interface(boost::typeindex::type_index type_index, MoFEM::UnknownInterface **iface) const
Getting interface of core database.
int crackedBodyBlockSetId
PetscBool edgesBlockSetFlg
MoFEMErrorCode cutRefineAndSplit(const int verb=VERBOSE, bool debug=false)
Refine, cut, trim, merge and ref front and split.
MoFEMErrorCode findContactFromPrisms(const BitRefLevel bit, const int verb=1, const bool debug=false)
get contact elements
MoFEMErrorCode cutMesh(int &first_bit, const bool debug=false)
Ref, cut and trim, merge and do TetGen, if option is on.
PetscBool removePathologicalFrontTris
MoFEMErrorCode copySurface(const std::string save_mesh="")
MoFEMErrorCode refineAndSplit(const int verb=1, const bool debug=false)
MoFEMErrorCode refineCrackTip(const int front_id, const int verb=1, const bool debug=false)
refine elements at crack tip
MoFEMErrorCode insertContactInterface(const int verb=1, const bool debug=false)
insert contact interface
const Range & getCornerNodes() const
int contactPrismsBlockSetId
MoFEMErrorCode setMeshOrgCoords()
int cuttingSurfaceSidesetId
MoFEMErrorCode getInterfacesPtr()
MoFEMErrorCode getMeshOrgCoords()
int getCrackFrontId() const
MoFEMErrorCode rebuildCrackSurface(const double factor, const std::string save_mesh="", const int verb=QUIET, bool debug=false)
MoFEMErrorCode setFixEdgesAndCorners(const BitRefLevel bit)
CPMeshCut(CrackPropagation &cp)
const Range & getCuttingSurface() const
MeshsetsManager * meshsetMngPtr
MoFEMErrorCode clearData()
BitRefManager * bitRefPtr
const int getEdgesBlockSet() const
MoFEMErrorCode findCrack(const BitRefLevel bit, const int verb=1, const bool debug=false)
get crack front
MoFEMErrorCode setCutSurfaceFromFile()
Set the cut surface from file.
MoFEMErrorCode getOptions()
Get options from command line.
int getSkinOfTheBodyId() const
const Range & getFixedEdges() const
MoFEMErrorCode refineMesh(const Range *vol, const bool make_front, const int verb=QUIET, const bool debug=false)
Refine mesh close to crack surface and crack front.
std::vector< double > originalCoords
std::string cutSurfMeshName
int getContactPrismsBlockSetId() const
MoFEMErrorCode addMortarContactPrisms(const int verb=1, const bool debug=false)
insert contact interface
MoFEMErrorCode getFrontEdgesAndElements(const BitRefLevel bit, const int verb=1, const bool debug=false)
get crack front edges and finite elements
MoFEMErrorCode splitFaces(const int verb=1, const bool debug=false)
split crack faces
const std::string & getCutSurfMeshName() const
MoFEMErrorCode setVolume(const BitRefLevel &bit)
Set cutting volume from bit ref level.
CutMeshInterface * cutMeshPtr
const std::vector< double > & getOrgCoords() const
std::vector< double > & getOrgCoords()
int getCuttingSurfaceSidesetId() const
base class for all interface classes