45 unsigned int add2DElements(std::vector<std::vector<unsigned int>> & quads);
56 const std::vector<unsigned int> & edgeid,
57 const std::vector<double> & position);
59 unsigned int FragFaceID,
60 const std::vector<unsigned int> & FragFaceEdgeID,
61 const std::vector<double> & position);
76 void error(
const std::string & error_string);
void addElemNodeIntersection(unsigned int elemid, unsigned int nodeid)
void error(const std::string &error_string)
void addElemEdgeIntersection(unsigned int elemid, unsigned int edgeid, double position)
const std::map< unsigned int, EFANode * > & getEmbeddedNodes()
ElementFragmentAlgorithm(std::ostream &os)
Constructor.
void updateEdgeNeighbors()
void createChildElements()
EFAElement * add3DElement(const std::vector< unsigned int > &quad, unsigned int id)
void clearPotentialIsolatedNodes()
void connectFragments(bool mergeUncutVirtualEdges)
const std::vector< EFAElement * > & getChildElements()
std::basic_ostream< charT, traits > * os
std::vector< EFAElement * > _child_elements
std::vector< EFAElement * > _parent_elements
void updateTopology(bool mergeUncutVirtualEdges=true)
const std::vector< EFAElement * > & getParentElements()
std::map< unsigned int, EFAElement * > _elements
unsigned int add2DElements(std::vector< std::vector< unsigned int >> &quads)
void updatePhysicalLinksAndFragments()
void addElemFaceIntersection(unsigned int elemid, unsigned int faceid, const std::vector< unsigned int > &edgeid, const std::vector< double > &position)
const std::vector< EFANode * > & getNewNodes()
std::vector< EFANode * > _deleted_nodes
bool addFragEdgeIntersection(unsigned int elemid, unsigned int frag_edge_id, double position)
std::map< unsigned int, EFANode * > _embedded_permanent_nodes
~ElementFragmentAlgorithm()
std::set< EFAElement * > _crack_tip_elements
void addFragFaceIntersection(unsigned int ElemID, unsigned int FragFaceID, const std::vector< unsigned int > &FragFaceEdgeID, const std::vector< double > &position)
std::vector< EFANode * > _new_nodes
void restoreFragmentInfo(EFAElement *const elem, const EFAElement *const from_elem)
unsigned int getElemIdByNodes(unsigned int *node_id)
std::map< EFANode *, std::set< EFAElement * > > _inverse_connectivity
EFAElement * add2DElement(const std::vector< unsigned int > &quad, unsigned int id)
std::map< unsigned int, EFANode * > _temp_nodes
EFAElement * getElemByID(unsigned int id)
void updateCrackTipElements()
const std::map< unsigned int, EFANode * > & getTempNodes()
std::map< unsigned int, EFANode * > _embedded_nodes
const std::map< unsigned int, EFANode * > & getPermanentNodes()
std::map< unsigned int, EFANode * > _permanent_nodes
const std::set< EFAElement * > & getCrackTipElements()
void initCrackTipTopology()