xc
|
performs a static analysis on the FE_Model. More...
#include <StaticAnalysis.h>
Public Member Functions | |
~StaticAnalysis (void) | |
Destructor. More... | |
void | clearAll (void) |
Clears all object members. | |
virtual int | analyze (int numSteps) |
Performs the analysis. More... | |
int | initialize (void) |
int | domainChanged (void) |
Method invoked during the analysis to deal with domain changes. More... | |
int | setNumberer (DOF_Numberer &theNumberer) |
Sets the renumerador to use in the analysis. | |
int | setAlgorithm (EquiSolnAlgo &theAlgorithm) |
Sets the solution algorithm to use in the analysis. More... | |
int | setIntegrator (StaticIntegrator &theIntegrator) |
Sets the integrator to use in the analysis. More... | |
int | setLinearSOE (LinearSOE &theSOE) |
Sets the linear system of equations to use in the analysis. More... | |
int | setConvergenceTest (ConvergenceTest &theTest) |
Sets the convergence test to use in the analysis. | |
ConvergenceTest * | getConvergenceTest (void) |
![]() | |
AnalysisAggregation * | getAnalysisAggregationPtr (void) |
Domain * | getDomainPtr (void) |
Returns a pointer to the domain. | |
const Domain * | getDomainPtr (void) const |
Returns a pointer to the domain. | |
ConstraintHandler * | getConstraintHandlerPtr (void) |
Returns a pointer to the constraint handler. | |
DOF_Numberer * | getDOF_NumbererPtr (void) const |
Returns a pointer to the DOF numberer. | |
AnalysisModel * | getAnalysisModelPtr (void) const |
Returns a pointer to the analysis model. | |
LinearSOE * | getLinearSOEPtr (void) const |
Returns a pointer to the linear system of equations. | |
EigenSOE * | getEigenSOEPtr (void) const |
Returns a pointer to the system of equations de eigenvalues. | |
Integrator * | getIntegratorPtr (void) |
Returns, if possible, a pointer al integrator otherwise it returns nullptr. | |
const Integrator * | getIntegratorPtr (void) const |
Returns, if possible, a pointer al integrator otherwise it returns nullptr. | |
IncrementalIntegrator * | getIncrementalIntegratorPtr (void) |
Returns, if possible, a pointer al integrator incremental otherwise it returns nullptr. | |
EigenIntegrator * | getEigenIntegratorPtr (void) |
Returns, if possible, a pointer al EigenIntegrator otherwise it returns nullptr. | |
LinearBucklingIntegrator * | getLinearBucklingIntegratorPtr (void) |
Returns, if possible, a pointer al LinearBucklingIntegrator otherwise it returns nullptr. | |
TransientIntegrator * | getTransientIntegratorPtr (void) |
Returns, if possible, a pointer al EigenIntegrator otherwise it returns nullptr. | |
StaticIntegrator * | getStaticIntegratorPtr (void) |
Returns, if possible, a pointer al StaticIntegrator otherwise it returns nullptr. | |
SolutionAlgorithm * | getSolutionAlgorithmPtr (void) |
EigenAlgorithm * | getEigenSolutionAlgorithmPtr (void) |
Return a pointer to the eigenproblem solution algorithm (if it's not defined it returns nullptr). More... | |
EquiSolnAlgo * | getEquiSolutionAlgorithmPtr (void) |
Return a pointer to the linear SOE solution algorithm (if it's not defined it returns nullptr). More... | |
DomainDecompAlgo * | getDomainDecompSolutionAlgorithmPtr (void) |
Return a pointer to the domain decomposition solution algorithm (if it's not defined it returns nullptr). More... | |
virtual ConvergenceTest * | getConvergenceTestPtr (void) |
Returns a pointer to the convergence test (only for suitable analysis). | |
virtual const ConvergenceTest * | getConvergenceTestPtr (void) const |
Returns a pointer to the convergence test (only for suitable analysis). | |
virtual const DomainSolver * | getDomainSolver (void) const |
Returns a pointer to the DomainSolver. | |
virtual DomainSolver * | getDomainSolver (void) |
Returns a pointer to the DomainSolver. | |
virtual const Subdomain * | getSubdomain (void) const |
Returns a pointer to the subdomain. | |
virtual Subdomain * | getSubdomain (void) |
Returns a pointer to the subdomain. | |
virtual int | setEigenSOE (EigenSOE &theSOE) |
Sets the sistema de eigenvalues to use in the analysis. | |
virtual int | setIntegrator (Integrator &theNewIntegrator) |
Sets the integrator to use in the analysis. | |
virtual int | setAlgorithm (SolutionAlgorithm &theNewAlgorithm) |
Set the solution algorithm to be used in the analysis. | |
void | brokeConstraintHandler (const CommParameters &, const ID &) |
void | brokeNumberer (const CommParameters &, const ID &) |
void | brokeAnalysisModel (const CommParameters &, const ID &) |
void | brokeDDLinearSOE (const CommParameters &, const ID &) |
void | brokeLinearSOE (const CommParameters &, const ID &) |
void | brokeIncrementalIntegrator (const CommParameters &, const ID &) |
void | brokeStaticIntegrator (const CommParameters &, const ID &) |
void | brokeTransientIntegrator (const CommParameters &, const ID &) |
void | brokeDomainDecompAlgo (const CommParameters &, const ID &) |
void | brokeEquiSolnAlgo (const CommParameters &, const ID &) |
int | getAnalysisResult (void) const |
Protected Member Functions | |
int | new_domain_step (int num_step) |
Ask the domain to performa a new analysis step. | |
int | check_domain_change (int num_step, int numSteps) |
Check if the domain has changed after the last analysis step. More... | |
int | new_integrator_step (int num_step) |
Ask the integrator to perform a new step in the analysis. | |
int | solve_current_step (int num_step) |
Solves for current step. | |
int | compute_sensitivities_step (int num_step) |
Computes sensitivities for the current analysis step. | |
int | commit_step (int num_step) |
Consuma el estado al final del paso. | |
int | run_analysis_step (int num_step, int numSteps) |
Performs un paso of the analysis. | |
StaticAnalysis (AnalysisAggregation *analysis_aggregation) | |
Constructor. | |
Analysis * | getCopy (void) const |
Virtual constructor. | |
![]() | |
int | newStepDomain (AnalysisModel *theModel, const double &dT=0.0) |
ProcSolu * | getProcSolu (void) |
const ProcSolu * | getProcSolu (void) const |
Analysis (AnalysisAggregation *analysis_aggregation) | |
Constructor. More... | |
Protected Attributes | |
int | domainStamp |
![]() | |
int | analysis_result |
Equal to zero if success. | |
AnalysisAggregation * | solution_method |
Solution method. | |
Friends | |
class | ProcSolu |
performs a static analysis on the FE_Model.
XC::StaticAnalysis::~StaticAnalysis | ( | void | ) |
Destructor.
Does nothing. clearAll() must be invoked if the destructor on the objects in the aggregation need to be invoked.
|
virtual |
Performs the analysis.
Invoked to perform a static analysis on the FE_Model. The analysis The type of analysis performed, depends on the type of the objects in the analysis aggregation. If any of the methods invoked returns a negative number, an error message is printed, {revertToLastCommit()} is invoked on the Domain, and a negative number is immediately returned. Returns a \(0\) if the algorithm is successful.
numSteps | number of steps in the analysis (for static analysis, if the loads are constant it's useless to increase the number of steps so numSteps= 1) |
Reimplemented in XC::LinearBucklingAnalysis.
|
protected |
Check if the domain has changed after the last analysis step.
It's used in run_analysis_step method.
|
virtual |
Method invoked during the analysis to deal with domain changes.
This is a method invoked by the analysis during the analysis method if the Domain has changed. The method invokes the following:
the
analysis model which causes the AnalysisModel to clear out its list of FE_Elements and DOF_Groups, and clearAll() on the
constraint handler.theHandler
. This causes the constraint handler to recreate the appropriate FE_Element and DOF_Groups to perform the analysis subject to the boundary conditions in the modified domain.theNumberer
. This causes the DOF numberer to assign equation numbers to the individual dof's. Once the equation numbers have been set the numberer then invokes setID() on all the FE_Elements in the model. Finally the numberer invokes setNumEqn() on the model.theIntegrator
and theAlgorithm
. Returns \(0\) if successful. At any stage above, if an error occurs the method is stopped, a warning message is printed and a negative number is returned. Implements XC::Analysis.
int XC::StaticAnalysis::setAlgorithm | ( | EquiSolnAlgo & | theNewAlgorithm | ) |
Sets the solution algorithm to use in the analysis.
Change the solution algorithm to use and then causes domainChanged() to be invoked by setting domainStamp= 0. Returns \(0\) if successful, a warning message and a negative number if not.
int XC::StaticAnalysis::setIntegrator | ( | StaticIntegrator & | theNewIntegrator | ) |
Sets the integrator to use in the analysis.
Change the integrator to use and then causes domainChanged() to be invoked by setting domainStamp= 0. Returns \(0\) if successful, a warning message and a negative number if not.
|
virtual |
Sets the linear system of equations to use in the analysis.
Change the linear system of equations to use and then causes domainChanged() to be invoked by setting domainStamp= 0. Returns \(0\) if successful, a warning message and a negative number if not.
Reimplemented from XC::Analysis.