29 #ifndef ANALYSISAGGREGATION_H 30 #define ANALYSISAGGREGATION_H 32 #include "xc_utils/src/kernel/CommandEntity.h" 33 #include "utility/handler/DataOutputHandler.h" 40 class ConstraintHandler;
43 class SolutionAlgorithm;
46 class DomainDecompAlgo;
49 class IncrementalIntegrator;
50 class EigenIntegrator;
51 class LinearBucklingIntegrator;
52 class TransientIntegrator;
53 class StaticIntegrator;
59 class ConvergenceTest;
64 class FEM_ObjectBroker;
98 const Analysis *getAnalysis(
void)
const;
101 void free_soln_algo(
void);
102 bool alloc_soln_algo(
const std::string &);
105 void free_integrator(
void);
106 bool alloc_integrator(
const std::string &,
const Vector &);
109 void free_system_of_equations(
void);
110 bool alloc_system_of_equations(
const std::string &,
AnalysisModel *);
113 void free_conv_test(
void);
114 bool alloc_conv_test(
const std::string &);
142 {
return theIntegrator; }
144 {
return theIntegrator; }
154 {
return theSolnAlgo; }
156 {
return theSolnAlgo; }
EigenSOE * getEigenSOEPtr(void)
Returns a pointer to the system of equations de eigenvalues.
Definition: AnalysisAggregation.cc:609
{staticFormTaylor} {equation}
Definition: StaticIntegrator.h:137
Base class for DOF numbererers.
Definition: DOF_Numberer.h:93
Float vector abstraction.
Definition: Vector.h:93
Domain enclosed in another domain.
Definition: Subdomain.h:101
Base class for solution algorithms.
Definition: SolutionAlgorithm.h:90
int setEigenSOE(EigenSOE &theSOE)
Sets the eigenSOE to use in the analysis.
Definition: AnalysisAggregation.cc:735
Solution procedure for the finite element problem.
Definition: AnalysisAggregation.h:89
ConstraintHandlers enforce the single and multi freedom constraints that exist in the domain by creat...
Definition: ConstraintHandler.h:92
Base class for eigenproblem systems of equations.
Definition: EigenSOE.h:63
StaticIntegrator * getStaticIntegratorPtr(void)
Returns, if possible, a pointer to the static integrator otherwise it returns nullptr.
Definition: AnalysisAggregation.cc:676
Linear system of equations.
Definition: LinearSOE.h:91
int setLinearSOE(LinearSOE &theSOE)
Sets the linear system of equations to use in the analysis.
Definition: AnalysisAggregation.cc:728
DomainDecompAlgo * getDomainDecompSolutionAlgorithmPtr(void)
Returns, if possible, a pointer al solution algorithm DomainDecomp , otherwise it returns nullptr...
Definition: AnalysisAggregation.cc:709
void copy_system_of_equations(SystemOfEqn *)
To change the linear system of equation object between analysis.
Definition: AnalysisAggregation.cc:357
DOF_Numberer * getDOF_NumbererPtr(void) const
Returns a pointer to the numberer.
Definition: AnalysisAggregation.cc:569
Base class for the object that perform the analysis.
Definition: Analysis.h:116
Solution algorithm for domain decomposition analysis.
Definition: DomainDecompAlgo.h:88
EquiSolnAlgo * getEquiSolutionAlgorithmPtr(void)
Returns, if possible, a pointer to the system of equations solution algorithm, otherwise it returns n...
Definition: AnalysisAggregation.cc:698
Vector of integers.
Definition: ID.h:93
ConvergenceTest * getConvergenceTestPtr(void)
Returns a pointer to the convergence test.
Definition: AnalysisAggregation.cc:720
Integrator & newIntegrator(const std::string &, const Vector &)
Defines a new integrator.
Definition: AnalysisAggregation.cc:277
LinearBucklingIntegrator is an algorithmic class for setting up the finite element equations for a li...
Definition: LinearBucklingIntegrator.h:47
LinearSOE * getLinearSOEPtr(void)
Returns a pointer to the linear system of equations.
Definition: AnalysisAggregation.cc:587
AnalysisModel * getAnalysisModelPtr(void) const
Returns a pointer to the analysis model.
Definition: AnalysisAggregation.cc:577
TransientIntegrator * getTransientIntegratorPtr(void)
Returns, if possible, a pointer to the transient integrator otherwise it returns nullptr.
Definition: AnalysisAggregation.cc:665
void copy_soln_algo(SolutionAlgorithm *)
To change the algorithm between analysis.
Definition: AnalysisAggregation.cc:111
Wrapper for the finite element model "as seen" from the solver.
Definition: ModelWrapper.h:58
LinearBucklingIntegrator * getLinearBucklingIntegratorPtr(void)
Returns, if possible, a pointer to the linear buckling integrator otherwise it returns nullptr...
Definition: AnalysisAggregation.cc:654
System of equations base class.
Definition: SystemOfEqn.h:89
Container for FE_Element and DOF_Group objects created by the constraint handler. ...
Definition: AnalysisModel.h:133
void copy_integrator(Integrator *)
To change the integration scheme between analysis.
Definition: AnalysisAggregation.cc:263
AnalysisAggregation(Analysis *a=nullptr, ModelWrapper *b=nullptr)
Default constructor.
Definition: AnalysisAggregation.cc:461
int setIntegrator(Integrator &theNewIntegrator)
Sets the integrator to use in the analysis.
Definition: AnalysisAggregation.cc:743
Solution algorithm for eigenproblem.
Definition: EigenAlgorithm.h:83
int setConvergenceTest(ConvergenceTest &theNewTest)
Sets the convergence test to use in the analysis.
Definition: AnalysisAggregation.cc:757
EigenIntegrator * getEigenIntegratorPtr(void)
Returns, if possible, a pointer to the eigen integrator otherwise it returns nullptr.
Definition: AnalysisAggregation.cc:643
SolutionAlgorithm & newSolutionAlgorithm(const std::string &)
Creates a new solution algorithm with the name being passed as parameter.
Definition: AnalysisAggregation.cc:125
Domain * getDomainPtr(void)
Returns a pointer to the domain.
Definition: AnalysisAggregation.cc:507
Base class for the objects that performs the integration of physical properties over the domain to fo...
Definition: Integrator.h:99
IncrementalIntegrator * getIncrementalIntegratorPtr(void)
Returns, if possible, a pointer to the incremental integrator otherwise it returns nullptr...
Definition: AnalysisAggregation.cc:632
IncrementalIntegrator is an algorithmic class for setting up the finite element equations in an incre...
Definition: IncrementalIntegrator.h:96
Finite element problem.
Definition: FEProblem.h:82
SystemOfEqn & newSystemOfEqn(const std::string &)
Sets the system of equations type to use.
Definition: AnalysisAggregation.cc:371
Base class for eigenproblem integrators.
Definition: EigenIntegrator.h:85
EquiSolnAlgo is an abstract base class, i.e.
Definition: EquiSolnAlgo.h:88
convergence test.
Definition: ConvergenceTest.h:80
ConvergenceTest & newConvergenceTest(const std::string &)
Set convergence test to be used.
Definition: AnalysisAggregation.cc:437
AnalysisAggregation & operator=(const AnalysisAggregation &)
Assignment operator.
Definition: AnalysisAggregation.cc:482
bool CheckPointers(void)
Verifica que los pointers no sean nulos.
Definition: AnalysisAggregation.cc:806
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
virtual const Subdomain * getSubdomainPtr(void) const
Returns a pointer to the subdomain.
Definition: AnalysisAggregation.cc:544
virtual const DomainSolver * getDomainSolverPtr(void) const
Returns a pointer to the DomainSolver.
Definition: AnalysisAggregation.cc:528
ConstraintHandler * getConstraintHandlerPtr(void)
Returns a pointer to the constraint handler.
Definition: AnalysisAggregation.cc:560
Communication parameters between processes.
Definition: CommParameters.h:65
used to solve a system of equations and to do static condensation operations on the linear system of ...
Definition: DomainSolver.h:82
EigenAlgorithm * getEigenSolutionAlgorithmPtr(void)
Returns, if possible, a pointer to the solution algorithm of the eigen problem,, otherwise it returns...
Definition: AnalysisAggregation.cc:687
Integrator * getIntegratorPtr(void)
Returns a pointer to the integrator.
Definition: AnalysisAggregation.h:141
Domain (mesh and boundary conditions) of the finite element model.
Definition: Domain.h:116
void revertToStart(void)
Returns the modelo a su estado original.
Definition: AnalysisAggregation.cc:840
SolutionAlgorithm * getSolutionAlgorithmPtr(void)
Returns a pointer to the solution algorithm.
Definition: AnalysisAggregation.h:153
int setAlgorithm(SolutionAlgorithm &theNewAlgorithm)
Sets the solution algorithm to use in the analysis.
Definition: AnalysisAggregation.cc:750
~AnalysisAggregation(void)
Destructor.
Definition: AnalysisAggregation.cc:494