|
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) |
Public Member Functions inherited from XC::Analysis | |
| 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. | |
Protected Member Functions inherited from XC::Analysis | |
| 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 |
Protected Attributes inherited from XC::Analysis | |
| 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.
1.8.12