xc
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members

performs a static analysis on the FE_Model. More...

#include <StaticAnalysis.h>

Inheritance diagram for XC::StaticAnalysis:
XC::Analysis XC::LinearBucklingAnalysis

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.
 
ConvergenceTestgetConvergenceTest (void)
 
- Public Member Functions inherited from XC::Analysis
AnalysisAggregationgetAnalysisAggregationPtr (void)
 
DomaingetDomainPtr (void)
 Returns a pointer to the domain.
 
const DomaingetDomainPtr (void) const
 Returns a pointer to the domain.
 
ConstraintHandlergetConstraintHandlerPtr (void)
 Returns a pointer to the constraint handler.
 
DOF_NumberergetDOF_NumbererPtr (void) const
 Returns a pointer to the DOF numberer.
 
AnalysisModelgetAnalysisModelPtr (void) const
 Returns a pointer to the analysis model.
 
LinearSOEgetLinearSOEPtr (void) const
 Returns a pointer to the linear system of equations.
 
EigenSOEgetEigenSOEPtr (void) const
 Returns a pointer to the system of equations de eigenvalues.
 
IntegratorgetIntegratorPtr (void)
 Returns, if possible, a pointer al integrator otherwise it returns nullptr.
 
const IntegratorgetIntegratorPtr (void) const
 Returns, if possible, a pointer al integrator otherwise it returns nullptr.
 
IncrementalIntegratorgetIncrementalIntegratorPtr (void)
 Returns, if possible, a pointer al integrator incremental otherwise it returns nullptr.
 
EigenIntegratorgetEigenIntegratorPtr (void)
 Returns, if possible, a pointer al EigenIntegrator otherwise it returns nullptr.
 
LinearBucklingIntegratorgetLinearBucklingIntegratorPtr (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.
 
StaticIntegratorgetStaticIntegratorPtr (void)
 Returns, if possible, a pointer al StaticIntegrator otherwise it returns nullptr.
 
SolutionAlgorithmgetSolutionAlgorithmPtr (void)
 
EigenAlgorithmgetEigenSolutionAlgorithmPtr (void)
 Return a pointer to the eigenproblem solution algorithm (if it's not defined it returns nullptr). More...
 
EquiSolnAlgogetEquiSolutionAlgorithmPtr (void)
 Return a pointer to the linear SOE solution algorithm (if it's not defined it returns nullptr). More...
 
DomainDecompAlgogetDomainDecompSolutionAlgorithmPtr (void)
 Return a pointer to the domain decomposition solution algorithm (if it's not defined it returns nullptr). More...
 
virtual ConvergenceTestgetConvergenceTestPtr (void)
 Returns a pointer to the convergence test (only for suitable analysis).
 
virtual const ConvergenceTestgetConvergenceTestPtr (void) const
 Returns a pointer to the convergence test (only for suitable analysis).
 
virtual const DomainSolvergetDomainSolver (void) const
 Returns a pointer to the DomainSolver.
 
virtual DomainSolvergetDomainSolver (void)
 Returns a pointer to the DomainSolver.
 
virtual const SubdomaingetSubdomain (void) const
 Returns a pointer to the subdomain.
 
virtual SubdomaingetSubdomain (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.
 
AnalysisgetCopy (void) const
 Virtual constructor.
 
- Protected Member Functions inherited from XC::Analysis
int newStepDomain (AnalysisModel *theModel, const double &dT=0.0)
 
ProcSolugetProcSolu (void)
 
const ProcSolugetProcSolu (void) const
 
 Analysis (AnalysisAggregation *analysis_aggregation)
 Constructor. More...
 

Protected Attributes

int domainStamp
 
- Protected Attributes inherited from XC::Analysis
int analysis_result
 Equal to zero if success.
 
AnalysisAggregationsolution_method
 Solution method.
 

Friends

class ProcSolu
 

Detailed Description

performs a static analysis on the FE_Model.

Constructor & Destructor Documentation

§ ~StaticAnalysis()

XC::StaticAnalysis::~StaticAnalysis ( void  )

Destructor.

Does nothing. clearAll() must be invoked if the destructor on the objects in the aggregation need to be invoked.

Member Function Documentation

§ analyze()

int XC::StaticAnalysis::analyze ( int  numSteps)
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.

Parameters
numStepsnumber 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.

§ check_domain_change()

int XC::StaticAnalysis::check_domain_change ( int  num_step,
int  numSteps 
)
protected

Check if the domain has changed after the last analysis step.

It's used in run_analysis_step method.

§ domainChanged()

int XC::StaticAnalysis::domainChanged ( void  )
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:

  • It invokes clearAll() on the analysis model which causes the AnalysisModel to clear out its list of FE_Elements and DOF_Groups, and clearAll() on the constraint handler.
  • It then invokes handle() on 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.
  • It then invokes number() on 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.
  • It invokes {setSize(theModel.getDOFGraph())} on {theSOE} which causes the system of equation to determine its size based on the connectivity of the dofs in the analysis model.
  • Finally domainChanged() is invoked on both 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.

§ setAlgorithm()

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.

§ setIntegrator()

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.

§ setLinearSOE()

int XC::StaticAnalysis::setLinearSOE ( LinearSOE theNewSOE)
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.


The documentation for this class was generated from the following files: