92class EnrichmentDomain;
109#define OOFEM_ATTR_UNUSED __attribute__((unused))
111#define OOFEM_ATTR_UNUSED
125template<
typename B,
typename T,
typename... V > std::unique_ptr<B>
CTOR(V... x) {
return std::make_unique<T>(x...); }
131#define REGISTER_Element(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerElement(_IFT_ ## class ## _Name, CTOR< Element, class, int, Domain* > );
132#define REGISTER_DofManager(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerDofManager(_IFT_ ## class ## _Name, CTOR< DofManager, class, int, Domain* > );
133#define REGISTER_BoundaryCondition(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerBoundaryCondition(_IFT_ ## class ## _Name, CTOR< GeneralBoundaryCondition, class, int, Domain* > );
134#define REGISTER_CrossSection(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerCrossSection(_IFT_ ## class ## _Name, CTOR< CrossSection, class, int, Domain* > );
135#define REGISTER_Material(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerMaterial(_IFT_ ## class ## _Name, CTOR< Material, class, int, Domain* > );
136#define REGISTER_Material_Alt(class, altname) static bool __dummy_ ## class ## altname OOFEM_ATTR_UNUSED = GiveClassFactory().registerMaterial(#altname, CTOR< Material, class, int, Domain* > );
137#define REGISTER_EngngModel(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerEngngModel(_IFT_ ## class ## _Name, CTOR< EngngModel, class, int, EngngModel* > );
138#define REGISTER_Function(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerFunction(_IFT_ ## class ## _Name, CTOR< Function, class, int, Domain* > );
139#define REGISTER_NonlocalBarrier(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerNonlocalBarrier(_IFT_ ## class ## _Name, CTOR< NonlocalBarrier, class, int, Domain* > );
140#define REGISTER_ExportModule(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerExportModule(_IFT_ ## class ## _Name, CTOR< ExportModule, class, int, EngngModel* > );
141#define REGISTER_SparseNonLinearSystemNM(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerSparseNonLinearSystemNM(_IFT_ ## class ## _Name, CTOR< SparseNonLinearSystemNM, class, Domain*, EngngModel* > );
142#define REGISTER_InitModule(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerInitModule(_IFT_ ## class ## _Name, CTOR< InitModule, class, int, EngngModel* > );
143#define REGISTER_TopologyDescription(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerTopologyDescription(_IFT_ ## class ## _Name, CTOR< TopologyDescription, class, Domain* > );
144#define REGISTER_LoadBalancerMonitor(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerLoadBalancerMonitor(_IFT_ ## class ## _Name, CTOR< LoadBalancerMonitor, class, EngngModel* > );
145#define REGISTER_LoadBalancer(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerLoadBalancer(_IFT_ ## class ## _Name, CTOR< LoadBalancer, class, EngngModel* > );
146#define REGISTER_Monitor(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerMonitor(_IFT_ ## class ## _Name, CTOR< Monitor, class, int > );
149#define REGISTER_SparseMtrx(class, type) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerSparseMtrx(type, CTOR< SparseMtrx, class > );
150#define REGISTER_SparseLinSolver(class, type) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerSparseLinSolver(type, CTOR< SparseLinearSystemNM, class, Domain*, EngngModel* > );
151#define REGISTER_ErrorEstimator(class, type) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerErrorEstimator(type, CTOR< ErrorEstimator, class, int, Domain* > );
152#define REGISTER_NodalRecoveryModel(class, type) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerNodalRecoveryModel(type, CTOR< NodalRecoveryModel, class, Domain* > );
153#define REGISTER_GeneralizedEigenValueSolver(class, type) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerGeneralizedEigenValueSolver(type, CTOR< SparseGeneralEigenValueSystemNM, class, Domain*, EngngModel* > );
154#define REGISTER_Mesher(class, type) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerMesherInterface(type, CTOR< MesherInterface, class, Domain* > );
155#define REGISTER_MaterialMappingAlgorithm(class, type) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerMaterialMappingAlgorithm(type, CTOR< MaterialMappingAlgorithm, class > );
157#define REGISTER_XfemManager(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerXfemManager(_IFT_ ## class ## _Name, CTOR< XfemManager, class, Domain* > );
158#define REGISTER_EnrichmentItem(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerEnrichmentItem(_IFT_ ## class ## _Name, CTOR< EnrichmentItem, class, int, XfemManager*, Domain* > );
159#define REGISTER_NucleationCriterion(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerNucleationCriterion(_IFT_ ## class ## _Name, CTOR< NucleationCriterion, class, Domain* > );
160#define REGISTER_EnrichmentFunction(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerEnrichmentFunction(_IFT_ ## class ## _Name, CTOR< EnrichmentFunction, class, int, Domain* > );
162#define REGISTER_EnrichmentFront(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerEnrichmentFront(_IFT_ ## class ## _Name, CTOR< EnrichmentFront, class > );
163#define REGISTER_PropagationLaw(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerPropagationLaw(_IFT_ ## class ## _Name, CTOR< PropagationLaw, class > );
164#define REGISTER_Geometry(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerGeometry(_IFT_ ## class ## _Name, CTOR< BasicGeometry, class > );
166#define REGISTER_FailureCriteria(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerFailureCriteria(_IFT_ ## class ## _Name, CTOR< FailureCriteria, class, int, FractureManager* > );
167#define REGISTER_FailureCriteriaStatus(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerFailureCriteriaStatus(_IFT_ ## class ## _Name, CTOR< FailureCriteriaStatus, class, FailureCriteria* > );
169#define REGISTER_ContactSurface(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerContactSurface(_IFT_ ## class ## _Name, CTOR< ContactSurface, class, int, Domain * >);
171#define REGISTER_Field(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerField(_IFT_ ## class ## _Name, CTOR< Field, class > );
173#define REGISTER_Term(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerTerm(_IFT_ ## class ## _Name, CTOR< Term, class > );
176#define REGISTER_Quasicontinuum(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerQuasicontinuum(_IFT_ ## class ## _Name, < QuasiContinuum, class, ????? > );
179#define REGISTER_TimeStepReductionStrategy(class) static bool __dummy_ ## class OOFEM_ATTR_UNUSED = GiveClassFactory().registerTimeStepReductionStrategy(_IFT_ ## class ## _Name, CTOR< TimeStepReductionStrategy, class, int > );
195 std :: map < std :: string, std::unique_ptr<Element> ( * )(int,
Domain *) >
elemList;
199 std :: map < std :: string, std::unique_ptr<GeneralBoundaryCondition> ( * )(int,
Domain *) >
bcList;
201 std :: map < std :: string, std::unique_ptr<CrossSection> ( * )(int,
Domain *) >
csList;
203 std :: map < std :: string, std::unique_ptr<Material> ( * )(int,
Domain *) >
matList;
207 std :: map < std :: string, std::unique_ptr<Function> ( * )(int,
Domain *) >
funcList;
209 std :: map < std :: string, std::unique_ptr<NonlocalBarrier> ( * )(int,
Domain *) >
nlbList;
213 std :: map < std :: string, std::unique_ptr<Monitor> ( * )(int) >
monitorList;
226 std :: map < SparseMtrxType, std::unique_ptr<SparseMtrx> ( * )() >
sparseMtrxList;
230 std :: map < ErrorEstimatorType, std::unique_ptr<ErrorEstimator> ( * )(int,
Domain *) >
errEstList;
238 std :: map < MaterialMappingAlgorithmType, std::unique_ptr<MaterialMappingAlgorithm> ( * )() >
materialMappingList;
250 std :: map < std :: string, std::unique_ptr<BasicGeometry> ( * )() >
geometryList;
258 std :: map < std :: string, std::unique_ptr<XfemManager> ( * )(
Domain *) >
xManList;
272 std :: map < std :: string, std::unique_ptr<Field> ( * )() >
fieldList;
275 std :: map < std :: string, std::unique_ptr<Term> ( * )() >
termList;
406 std::unique_ptr<Monitor>
createMonitor(
const char *name,
int num);
411 bool registerMonitor(
const char *name, std::unique_ptr<Monitor> ( *creator )(
int ) );
531 std::unique_ptr<EnrichmentDomain> createEnrichmentDomain(
const char *name);
532 bool registerEnrichmentDomain(
const char *name, std::unique_ptr<EnrichmentDomain> ( *creator )( ) );
542 bool registerGeometry(
const char *name, std::unique_ptr<BasicGeometry> ( *creator )( ) );
551 std::unique_ptr<Term>
createTerm(
const char *name);
552 bool registerTerm(
const char *name, std::unique_ptr<Term> ( *creator )( ) );
585 std::unique_ptr<Field>
createField(
const char *name);
586 bool registerField(
const char *name, std::unique_ptr<Field> ( *creator )() );
std ::map< std ::string, std::unique_ptr< EngngModel >(*)(int, EngngModel *) > engngList
Associative container containing engng model creators with engng model name as key.
std ::map< ErrorEstimatorType, std::unique_ptr< ErrorEstimator >(*)(int, Domain *) > errEstList
Associative container containing error estimator creators.
std ::map< NodalRecoveryModel ::NodalRecoveryModelType, std::unique_ptr< NodalRecoveryModel >(*)(Domain *) > nodalRecoveryModelList
Associative container containing nodal recovery model creators.
bool registerInitModule(const char *name, std::unique_ptr< InitModule >(*creator)(int, EngngModel *))
std::unique_ptr< PropagationLaw > createPropagationLaw(const char *name)
std::unique_ptr< ExportModule > createExportModule(const char *name, int num, EngngModel *emodel)
bool registerLoadBalancerMonitor(const char *name, std::unique_ptr< LoadBalancerMonitor >(*creator)(EngngModel *))
std::unique_ptr< MaterialMappingAlgorithm > createMaterialMappingAlgorithm(MaterialMappingAlgorithmType name)
std::unique_ptr< GeneralBoundaryCondition > createBoundaryCondition(const char *name, int num, Domain *domain)
std::unique_ptr< SparseGeneralEigenValueSystemNM > createGeneralizedEigenValueSolver(GenEigvalSolverType name, Domain *d, EngngModel *m)
std ::map< GenEigvalSolverType, std::unique_ptr< SparseGeneralEigenValueSystemNM >(*)(Domain *, EngngModel *) > generalizedEigenValueSolverList
Associative container containing sparse generalized eigenvalue creators.
std::unique_ptr< FailureCriteriaStatus > createFailureCriteriaStatus(const char *name, int num, FailureCriteria *critManager)
bool registerSparseLinSolver(LinSystSolverType type, std::unique_ptr< SparseLinearSystemNM >(*creator)(Domain *, EngngModel *))
std ::map< dofType, Dof *(*)(DofIDItem, DofManager *) > dofList
Associative container containing dof creators.
std::unique_ptr< InitialCondition > createInitialCondition(const char *name, int num, Domain *d)
std::unique_ptr< Field > createField(const char *name)
bool registerMonitor(const char *name, std::unique_ptr< Monitor >(*creator)(int))
std::unique_ptr< SparseMtrx > createSparseMtrx(SparseMtrxType type)
bool registerNodalRecoveryModel(NodalRecoveryModel ::NodalRecoveryModelType name, std::unique_ptr< NodalRecoveryModel >(*creator)(Domain *))
std::unique_ptr< LoadBalancerMonitor > createLoadBalancerMonitor(const char *name, EngngModel *e)
std ::map< std ::string, std::unique_ptr< Function >(*)(int, Domain *) > funcList
Associative container containing load time function creators with function name as key.
bool registerTerm(const char *name, std::unique_ptr< Term >(*creator)())
std::unique_ptr< XfemManager > createXfemManager(const char *name, Domain *domain)
std::unique_ptr< NonlocalBarrier > createNonlocalBarrier(const char *name, int num, Domain *domain)
bool registerGeneralizedEigenValueSolver(GenEigvalSolverType name, std::unique_ptr< SparseGeneralEigenValueSystemNM >(*creator)(Domain *, EngngModel *))
std ::map< std ::string, std::unique_ptr< LoadBalancerMonitor >(*)(EngngModel *) > loadMonitorList
Associative container containing load balancer monitor creators.
bool registerContactSurface(const char *name, std::unique_ptr< ContactSurface >(*creator)(int, Domain *))
std ::map< LinSystSolverType, std::unique_ptr< SparseLinearSystemNM >(*)(Domain *, EngngModel *) > sparseLinSolList
Associative container containing sparse linear solver creators.
std ::map< MeshPackageType, std::unique_ptr< MesherInterface >(*)(Domain *) > mesherInterfaceList
Associative container containing mesher interface creators.
std ::map< std ::string, std::unique_ptr< XfemManager >(*)(Domain *) > xManList
Associative container containing XfemManager creators.
std::unique_ptr< Function > createFunction(const char *name, int num, Domain *domain)
std::unique_ptr< BasicGeometry > createGeometry(const char *name)
bool registerFailureCriteriaStatus(const char *name, std::unique_ptr< FailureCriteriaStatus >(*creator)(int, FailureCriteria *))
bool registerTopologyDescription(const char *name, std::unique_ptr< TopologyDescription >(*creator)(Domain *))
std::unique_ptr< CrossSection > createCrossSection(const char *name, int num, Domain *domain)
std::unique_ptr< ContactSurface > createContactSurface(const char *name, int num, Domain *domain)
std ::map< std ::string, std::unique_ptr< Term >(*)() > termList
MPM stuff.
std ::map< std ::string, std::unique_ptr< NonlocalBarrier >(*)(int, Domain *) > nlbList
Associative container containing nonlocal barriers creators with barrier name as key.
std::unique_ptr< Monitor > createMonitor(const char *name, int num)
std ::map< std ::string, std::unique_ptr< SparseNonLinearSystemNM >(*)(Domain *, EngngModel *) > nonlinList
Associative container containing nonlinear solver creators.
bool registerSparseMtrx(SparseMtrxType type, std::unique_ptr< SparseMtrx >(*creator)(void))
bool registerErrorEstimator(ErrorEstimatorType type, std::unique_ptr< ErrorEstimator >(*creator)(int, Domain *))
std ::map< std ::string, std::unique_ptr< TopologyDescription >(*)(Domain *) > topologyList
Associative container containing topology description creators.
std::unique_ptr< NodalRecoveryModel > createNodalRecoveryModel(NodalRecoveryModel ::NodalRecoveryModelType type, Domain *d)
std ::map< std ::string, std::unique_ptr< LoadBalancer >(*)(Domain *) > loadBalancerList
Associative container containing load balancer creators.
bool registerXfemManager(const char *name, std::unique_ptr< XfemManager >(*creator)(Domain *))
bool registerBoundaryCondition(const char *name, std::unique_ptr< GeneralBoundaryCondition >(*creator)(int, Domain *))
std ::map< std ::string, std::unique_ptr< DofManager >(*)(int, Domain *) > dofmanList
Associative container containing dofmanager creators with dofmanager name as key.
std::unique_ptr< LoadBalancer > createLoadBalancer(const char *name, Domain *d)
std::map< std::string, std::unique_ptr< ContactSurface >(*)(int, Domain *) > contactSurfaceList
Associative container containing contact surface creators with name as key.
bool registerTimeStepReductionStrategy(const char *name, std::unique_ptr< TimeStepReductionStrategy >(*creator)(int))
std::unique_ptr< SparseNonLinearSystemNM > createNonLinearSolver(const char *name, Domain *domain, EngngModel *emodel)
std ::map< std ::string, std::unique_ptr< BasicGeometry >(*)() > geometryList
Associative container containing geometry creators.
bool registerEnrichmentFunction(const char *name, std::unique_ptr< EnrichmentFunction >(*creator)(int, Domain *))
std::unique_ptr< TopologyDescription > createTopology(const char *name, Domain *domain)
std ::map< std ::string, std::unique_ptr< CrossSection >(*)(int, Domain *) > csList
Associative container containing cross section creators with cross section name as key.
std::unique_ptr< IntegrationRule > createIRule(IntegrationRuleType name, int number, Element *e)
std::unique_ptr< FailureCriteria > createFailureCriteria(const char *name, int num, FractureManager *fracManager)
std::unique_ptr< EnrichmentItem > createEnrichmentItem(const char *name, int num, XfemManager *xm, Domain *domain)
bool registerLoadBalancer(const char *name, std::unique_ptr< LoadBalancer >(*creator)(Domain *))
std::unique_ptr< DofManager > createDofManager(const char *name, int num, Domain *domain)
bool registerExportModule(const char *name, std::unique_ptr< ExportModule >(*creator)(int, EngngModel *))
bool registerField(const char *name, std::unique_ptr< Field >(*creator)())
bool registerPropagationLaw(const char *name, std::unique_ptr< PropagationLaw >(*creator)())
bool registerEngngModel(const char *name, std::unique_ptr< EngngModel >(*creator)(int, EngngModel *))
bool registerDofManager(const char *name, std::unique_ptr< DofManager >(*creator)(int, Domain *))
Dof * createDof(dofType type, DofIDItem dofid, DofManager *dman)
std ::map< std ::string, std::unique_ptr< NucleationCriterion >(*)(Domain *) > nucleationCritList
Associative container containing nucleation criterion creators.
std ::map< SparseMtrxType, std::unique_ptr< SparseMtrx >(*)() > sparseMtrxList
Associative container containing sparse matrix creators.
std::unique_ptr< Term > createTerm(const char *name)
bool registerNonlocalBarrier(const char *name, std::unique_ptr< NonlocalBarrier >(*creator)(int, Domain *))
std::unique_ptr< Element > createElement(const char *name, int num, Domain *domain)
std ::map< std ::string, std::unique_ptr< FailureCriteriaStatus >(*)(int, FailureCriteria *) > failureCriteriaStatusList
bool registerNucleationCriterion(const char *name, std::unique_ptr< NucleationCriterion >(*creator)(Domain *))
ClassFactory()
Creates empty factory.
std ::map< std ::string, std::unique_ptr< TimeStepReductionStrategy >(*)(int) > timeStepReductionStrategyList
Associative container containing TimeStepReductionStrategy.
std::unique_ptr< InitModule > createInitModule(const char *name, int num, EngngModel *emodel)
std ::map< std ::string, std::unique_ptr< EnrichmentDomain >(*)() > enrichmentDomainList
Associative container containing enrichment-domain creators.
std::unique_ptr< Material > createMaterial(const char *name, int num, Domain *domain)
std::unique_ptr< NucleationCriterion > createNucleationCriterion(const char *name, Domain *domain)
bool registerSparseNonLinearSystemNM(const char *name, std::unique_ptr< SparseNonLinearSystemNM >(*creator)(Domain *, EngngModel *))
std ::map< std ::string, std::unique_ptr< GeneralBoundaryCondition >(*)(int, Domain *) > bcList
Associative container containing boundary condition creators with bc name as key.
std::map< std::string, std::list< std::string > > getRegisteredNames()
std::unique_ptr< EnrichmentFront > createEnrichmentFront(const char *name)
std ::map< std ::string, std::unique_ptr< PropagationLaw >(*)() > propagationLawList
Associative container containing propagation law creators.
std ::map< std ::string, std::unique_ptr< EnrichmentItem >(*)(int, XfemManager *, Domain *) > enrichItemList
Associative container containing enrichment item creators.
std ::map< std ::string, std::unique_ptr< ExportModule >(*)(int, EngngModel *) > exportList
Associative container containing export module creators.
bool registerFunction(const char *name, std::unique_ptr< Function >(*creator)(int, Domain *))
std::unique_ptr< ErrorEstimator > createErrorEstimator(ErrorEstimatorType type, int num, Domain *d)
bool registerMaterial(const char *name, std::unique_ptr< Material >(*creator)(int, Domain *))
bool registerMesherInterface(MeshPackageType name, std::unique_ptr< MesherInterface >(*creator)(Domain *))
std ::map< std ::string, std::unique_ptr< Monitor >(*)(int) > monitorList
Associative container containing monitor creators.
std ::map< std ::string, std::unique_ptr< Field >(*)() > fieldList
Associative container containing Field creators.
bool registerCrossSection(const char *name, std::unique_ptr< CrossSection >(*creator)(int, Domain *))
std ::map< std ::string, std::unique_ptr< InitModule >(*)(int, EngngModel *) > initList
Associative container containing init module creators.
std::unique_ptr< SparseLinearSystemNM > createSparseLinSolver(LinSystSolverType st, Domain *d, EngngModel *m)
bool registerElement(const char *name, std::unique_ptr< Element >(*creator)(int, Domain *))
std ::map< std ::string, std::unique_ptr< EnrichmentFront >(*)() > enrichmentFrontList
Associative container containing enrichment front creators.
std ::map< std ::string, std::unique_ptr< Element >(*)(int, Domain *) > elemList
Associative container containing element creators with element name as key.
bool registerFailureCriteria(const char *name, std::unique_ptr< FailureCriteria >(*creator)(int, FractureManager *))
std::unique_ptr< TimeStepReductionStrategy > createTimeStepReductionStrategy(const char *name, int number)
std::unique_ptr< MesherInterface > createMesherInterface(MeshPackageType name, Domain *d)
std ::map< MaterialMappingAlgorithmType, std::unique_ptr< MaterialMappingAlgorithm >(*)() > materialMappingList
Associative container containing material mapping algorithm creators.
std::unique_ptr< EnrichmentFunction > createEnrichmentFunction(const char *name, int num, Domain *domain)
std ::map< std ::string, std::unique_ptr< FailureCriteria >(*)(int, FractureManager *) > failureCriteriaList
Associative container containing failure criteria creators.
std::unique_ptr< EngngModel > createEngngModel(const char *name, int num, EngngModel *master)
bool registerMaterialMappingAlgorithm(MaterialMappingAlgorithmType name, std::unique_ptr< MaterialMappingAlgorithm >(*creator)())
std ::map< std ::string, std::unique_ptr< EnrichmentFunction >(*)(int, Domain *) > enrichFuncList
Associative container containing enrichment function creators.
bool registerEnrichmentItem(const char *name, std::unique_ptr< EnrichmentItem >(*creator)(int, XfemManager *, Domain *))
bool registerGeometry(const char *name, std::unique_ptr< BasicGeometry >(*creator)())
std ::map< std ::string, std::unique_ptr< Material >(*)(int, Domain *) > matList
Associative container containing material creators with material name as key.
bool registerEnrichmentFront(const char *name, std::unique_ptr< EnrichmentFront >(*creator)())
Class representing a weak form expression to be evaluated (integrated). It defines two key methods:
ClassFactory & GiveClassFactory()
std::unique_ptr< B > CTOR(V... x)
MaterialMappingAlgorithmType
dofType
Dof Type, determines the type of DOF created.
ClassFactory & classFactory
Dof * dofCreator(DofIDItem dofid, DofManager *dman)