52 #ifndef AnalysisModel_h 53 #define AnalysisModel_h 68 #include <utility/actor/actor/MovableObject.h> 69 #include "xc_utils/src/nucleo/EntCmd.h" 70 #include "solution/graph/graph/DOF_Graph.h" 71 #include "solution/graph/graph/DOF_GroupGraph.h" 72 #include "utility/tagged/storage/ArrayOfTaggedObjects.h" 73 #include "solution/analysis/model/FE_EleIter.h" 74 #include "solution/analysis/model/FE_EleConstIter.h" 75 #include "solution/analysis/model/DOF_GrpIter.h" 76 #include "solution/analysis/model/DOF_GrpConstIter.h" 82 class LagrangeSFreedom_FE;
83 class LagrangeMFreedom_FE;
84 class LagrangeMRMFreedom_FE;
85 class PenaltySFreedom_FE;
86 class PenaltyMFreedom_FE;
87 class PenaltyMRMFreedom_FE;
88 class MFreedom_ConstraintBase;
89 class TransformationFE;
91 class LagrangeDOF_Group;
92 class TransformationDOF_Group;
95 class FEM_ObjectBroker;
96 class ConstraintHandler;
97 class TransformationConstraintHandler;
98 class RayleighDampingFactors;
129 mutable bool updateGraphs;
138 virtual void applyLoadDomain(
double newTime);
139 virtual int updateDomain(
void);
140 virtual int updateDomain(
double newTime,
double dT);
141 virtual int newStepDomain(
double dT =0.0);
144 virtual double getCurrentDomainTime(
void);
145 virtual void setCurrentDomainTime(
double newTime);
148 virtual bool addDOF_Group(
DOF_Group *theDOF_Grp);
177 virtual void clearAll(
void);
189 virtual void setNumEqn(
int) ;
190 virtual int getNumEqn(
void)
const ;
191 virtual Graph &getDOFGraph(
void);
192 virtual Graph &getDOFGroupGraph(
void);
193 virtual const Graph &getDOFGraph(
void)
const;
194 virtual const Graph &getDOFGroupGraph(
void)
const;
199 virtual void setDisp(
const Vector &disp);
200 virtual void setVel(
const Vector &vel);
201 virtual void setAccel(
const Vector &vel);
203 virtual void incrDisp(
const Vector &disp);
204 virtual void incrVel(
const Vector &vel);
205 virtual void incrAccel(
const Vector &vel);
208 virtual void setNumEigenvectors(
int numEigenvectors);
209 virtual void setEigenvector(
int mode,
const Vector &);
216 Domain *getDomainPtr(
void);
217 const Domain *getDomainPtr(
void)
const;
A DOF_Group object is instantiated by the ConstraintHandler for every unconstrained node in the domai...
Definition: DOF_Group.h:94
A LagrangeDOF_Group object is instantiated by a LagrangeConstraintHandler for every constrained node ...
Definition: LagrangeDOF_Group.h:78
virtual FE_Element * createFE_Element(const int &, Element *)
Método para crear un objeto FE_Element y agregarlo al modelo.
Definition: AnalysisModel.cpp:171
ArrayOfTaggedObjects is a storage class. The class is responsible for holding and providing access to...
Definition: ArrayOfTaggedObjects.h:81
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:98
LagrangeMRMFreedom_FE is a subclass of FE_Element which handles MRMFreedom_Constraints using the Lagr...
Definition: LagrangeMRMFreedom_FE.h:60
Clase Base para los objetos que realizan the analysis.
Definition: Analysis.h:109
AnalysisModel(ModelWrapper *owr=nullptr)
Constructor.
Definition: AnalysisModel.cpp:92
virtual DOF_Group * getDOF_GroupPtr(int tag)
Returns a pointer to the DEF group with the tag beign passed as parameter.
Definition: AnalysisModel.cpp:479
Mesh node.
Definition: Node.h:99
virtual LagrangeDOF_Group * createLagrangeDOF_Group(const int &, SFreedom_Constraint *)
Appends to the model the Lagrange DOFs for the single freedom constraint being passed as parameter...
Definition: AnalysisModel.cpp:368
Finite element as seen by analysis.
Definition: FE_Element.h:84
FEM_ObjectBroker is is an object broker class for the finite element method. All methods are virtual ...
Definition: FEM_ObjectBroker.h:138
AnalysisModel * getCopy(void) const
Virtual constructor.
Definition: AnalysisModel.cpp:132
Base calass for the finite elements.
Definition: Element.h:104
Object that can move between processes.
Definition: MovableObject.h:91
Degrees of freedom group.
Definition: DOF_GroupGraph.h:75
virtual LagrangeSFreedom_FE * createLagrangeSFreedom_FE(const int &, SFreedom_Constraint &, DOF_Group &, const double &)
Método para crear un objeto LagrangeSFreedom_FE y agregarlo al modelo.
Definition: AnalysisModel.cpp:199
AnalysisModel & operator=(const AnalysisModel &)
Assignment operator.
Definition: AnalysisModel.cpp:116
LagrangeMFreedom_FE is a subclass of FE_Element which handles MFreedom_Constraints using the Lagrange...
Definition: LagrangeMFreedom_FE.h:84
Multiple retained nodes constraint.
Definition: MRMFreedom_Constraint.h:58
virtual PenaltyMFreedom_FE * createPenaltyMFreedom_FE(const int &, MFreedom_Constraint &, const double &)
Método para crear un objeto PenaltyMFreedom_FE y agregarlo al modelo.
Definition: AnalysisModel.cpp:251
virtual int getNumDOF_Groups(void) const
Returns the umber of XC::DOF_Group objects added.
Definition: AnalysisModel.cpp:473
LagrangeSFreedom_FE is a subclass of SFreedom_FE which handles SFreedom_Constraints using the Lagrang...
Definition: LagrangeSFreedom_FE.h:79
Base class for mult-freedom constraints.
Definition: MFreedom_ConstraintBase.h:57
virtual void setModalParticipationFactors(const Vector &)
Comunica al domain el valor de los factores de participación modal obtenidos.
Definition: AnalysisModel.cpp:649
Degrees of freedom graph.
Definition: DOF_Graph.h:79
Wrapper for the finite element model "seen" from the solver. The model wrapper is definied by: ...
Definition: ModelWrapper.h:55
Rayleigh damping factors.
Definition: RayleighDampingFactors.h:45
Const iterator over the finite elements of the model.
Definition: FE_EleConstIter.h:41
PenaltySFreedom_FE is a subclass of SFreedom_FE which handles SFreedom_Constraints using the penalty ...
Definition: PenaltySFreedom_FE.h:78
The Graph class provides the abstraction of a graph, a collection of vertices and edges...
Definition: Graph.h:84
PenaltyMRMFreedom_FE is a subclass of FE_Element which handles MRMFreedom_Constraints using the penal...
Definition: PenaltyMRMFreedom_FE.h:78
PenaltyMFreedom_FE is a subclass of FE_Element which handles MFreedom_Constraints using the penalty m...
Definition: PenaltyMFreedom_FE.h:78
virtual void setEigenvalues(const Vector &)
Comunica al domain el valor de los eigenvalues obtenidos.
Definition: AnalysisModel.cpp:644
Iterator over DEF groups.
Definition: DOF_GrpConstIter.h:41
Los objetos de esta clase, dan acceso a los objetos FE_Element y DOF_Group creados por el Constraint ...
Definition: AnalysisModel.h:113
virtual int revertDomainToLastCommit(void)
Returns to the last commited state.
Definition: AnalysisModel.cpp:747
virtual bool addFE_Element(FE_Element *theFE_Ele)
Método para agregar un objeto FE_Element al modelo.
Definition: AnalysisModel.cpp:140
Multi-freedom constraint. Objectt of this class store the information for a multifreedom constraint...
Definition: MFreedom_Constraint.h:84
virtual LagrangeMRMFreedom_FE * createLagrangeMRMFreedom_FE(const int &, MRMFreedom_Constraint &, DOF_Group &, const double &)
Método para crear un objeto LagrangeMRMFreedom_FE y agregarlo al modelo.
Definition: AnalysisModel.cpp:225
ConstraintHandlers enforce the single and multi freedom constraints that exist in the domain by creat...
Definition: ConstraintHandler.h:94
Single freedom constraint.
Definition: SFreedom_Constraint.h:79
virtual PenaltyMRMFreedom_FE * createPenaltyMRMFreedom_FE(const int &, MRMFreedom_Constraint &, const double &)
Método para crear un objeto PenaltyMRMFreedom_FE y agregarlo al modelo.
Definition: AnalysisModel.cpp:264
Communication parameters between processes.
Definition: CommParameters.h:65
virtual int commitDomain(void)
Commits domain state.
Definition: AnalysisModel.cpp:727
================================================================================
Definition: ContinuaReprComponent.h:34
Iterator over DOF groups.
Definition: DOF_GrpIter.h:72
virtual FE_Element * createTransformationFE(const int &, Element *, const std::set< int > &, std::set< FE_Element * > &)
Método para crear un objeto TransformationFE_Element y agregarlo al modelo.
Definition: AnalysisModel.cpp:277
Iterator over the finite element of the model.
Definition: FE_EleIter.h:76
virtual PenaltySFreedom_FE * createPenaltySFreedom_FE(const int &, SFreedom_Constraint &, const double &)
Método para crear un objeto PenaltySFreedom_FE y agregarlo al modelo.
Definition: AnalysisModel.cpp:238
Base class for the object that performs the integration of physical properties over the domain to for...
Definition: Integrator.h:91
virtual LagrangeMFreedom_FE * createLagrangeMFreedom_FE(const int &, MFreedom_Constraint &, DOF_Group &, const double &)
Método para crear un objeto LagrangeMFreedom_FE y agregarlo al modelo.
Definition: AnalysisModel.cpp:212