12#ifndef BELFEM_CL_CUTFACTORY_HPP
13#define BELFEM_CL_CUTFACTORY_HPP
53 const bool mUseEnrichment ;
69 Homology * mRelativeHomology = nullptr ;
91 bool mSuggestHomologies = true ;
94 bool mUsePoissonInsteadOfRcm = false ;
106 const bool aUseEnrichment );
191 return mThinShellBoundaryIDs ;
199 return mTemporaryThinShellSidesets( aID )->facets();
207 return mThinShellMasterNodes ;
215 return mThinShellSlaveNodes ;
224 link_node_duplicates_and_originals();
229 collect_orphan_nodes();
233 collect_nodes_and_elements_on_blocks(
241 compute_rcm_problem();
246 compute_cohomologies();
251 compute_thin_cuts_and_duplicate_interface_nodes();
256 restore_thin_shell_sidesets();
261 write_debug_cohomology(
Homology * aSuggestedHomology ) ;
266 create_curves_for_thinshells();
269 create_side_curves_for_thinshells_3d();
277 check_element_types() ;
283 save_edges(
const uint aIndex );
289 create_cut_sideset_2d(
298 create_cut_sideset_3d(
308 flag_nodes_and_facets_of_tape_sidesets(
Cell< Node * > & aNodes ) ;
318 connect_facet_to_slave(
Facet * aFacet );
323 unflag_symmetry_sidesets();
328 compute_element_adjacencies();
333 compute_poisson_problem();
Cell is a wrapper around the standard vector.
Definition cl_Cell.hpp:42
Hash map (unordered key-value).
Definition cl_Map.hpp:75
Top-level container for all mesh entities.
Definition cl_Mesh.hpp:60
Computes the cohomology groups H^k of a mesh complex.
Definition cl_Cohomology.hpp:37
void set_periodicity(PeriodicityFactory *aPeriodicFactory)
Definition cl_CutFactory.cpp:105
Cell< Node * > & abstract_nodes()
Definition cl_CutFactory.cpp:2314
void orient_terminal_curves_sub(SideSet *aSideSet, Vector< real > &aWorkA, Vector< real > &aWorkB, Vector< real > &aN)
Definition cl_CutFactory.cpp:1888
void duplicate_and_relink_facets()
Definition cl_CutFactory.cpp:1586
Vector< id_t > & thin_shell_boundaries()
Definition cl_CutFactory.hpp:189
Cell< Node * > & orphaned_nodes()
Definition cl_CutFactory.cpp:2322
Cell< Node * > & thin_shell_master_nodes()
Definition cl_CutFactory.hpp:205
void orient_terminal_curves()
Definition cl_CutFactory.cpp:1828
CutFactory(Mesh *aMesh, Topology *aTopology, Cell< Protoshell * > &aProtoshells, const CutAlgorithm aAlgorithm, const bool aUseEnrichment)
Definition cl_CutFactory.cpp:42
void duplicate_nodes_on_face_sidesets()
Definition cl_CutFactory.cpp:1262
void relink_non_thinshell_facets()
Definition cl_CutFactory.cpp:1643
void orient_terminal_curves_2D()
Definition cl_CutFactory.cpp:1929
void run()
Definition cl_CutFactory.cpp:114
void set_terminals(const Cell< Cell< id_t > > &aTerminals, const Cell< id_t > &aThinShellIndices)
Definition cl_CutFactory.cpp:97
Cell< SideSet * > & cuts()
Definition cl_CutFactory.cpp:2330
Cell< Facet * > & thin_shell_facets(const id_t aID)
Definition cl_CutFactory.hpp:197
Cell< Node * > & thin_shell_slave_nodes()
Definition cl_CutFactory.hpp:213
void relink_slave_elements_with_duplicate_nodes()
Definition cl_CutFactory.cpp:1503
bool create_thin_shell_cuts()
Definition cl_CutFactory.cpp:1211
void close_terminal_loops()
Definition cl_CutFactory.cpp:1681
void save_curve_debug_meshes()
Definition cl_CutFactory.cpp:2535
Lagrange Element baseclass.
Definition cl_Element.hpp:35
Definition cl_Facet.hpp:24
Computes the homology groups H_k of a mesh complex.
Definition cl_Homology.hpp:36
Creates a Periodicity object by matching nodes on two periodic boundary planes.
Definition cl_Mesh_PeriodicityFactory.hpp:34
Definition cl_SideSet.hpp:29
Simplicial complex reduction engine underlying the homology and cohomology computation.
Definition cl_SimplicialComplex.hpp:37
Analyzes and classifies mesh topology for finite element simulations.
Definition cl_Topology.hpp:44
Definition cl_EF_EdgeFunction.hpp:17
CutAlgorithm
Definition en_CutAlgorithm.hpp:22
USER GUIDES:
Definition cl_Capacitor.cpp:16
unsigned int uint
Definition typedefs.hpp:30
unsigned int id_t
Definition typedefs.hpp:41
int proc_t
Definition commtypes.hpp:29
ElementType
Element types.
Definition Mesh_Enums.hpp:27