xc
|
Direct integration dynamic analysis. More...
#include <DirectIntegrationAnalysis.h>
Public Member Functions | |
virtual | ~DirectIntegrationAnalysis (void) |
Destructor. More... | |
void | clearAll (void) |
Clears all object members (constraint handler, analysis model,...). More... | |
int | analyze (int numSteps, double dT) |
Performs the analysis. More... | |
int | initialize (void) |
int | domainChanged (void) |
Execute the changes following a change in the domain. More... | |
int | setNumberer (DOF_Numberer &theNumberer) |
Sets the renumerador to use in the analysis. | |
int | setAlgorithm (EquiSolnAlgo &theAlgorithm) |
Sets the solutio algorithm to use in the analysis. More... | |
int | setIntegrator (TransientIntegrator &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. | |
int | checkDomainChange (void) |
Comprueba si el domain ha cambiado. | |
![]() | |
SolutionStrategy * | getSolutionStrategyPtr (void) |
Returns the solution strategy to which this analysis belongs. More... | |
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 system of 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 Communicator &, const ID &) |
void | brokeNumberer (const Communicator &, const ID &) |
void | brokeAnalysisModel (const Communicator &, const ID &) |
void | brokeDDLinearSOE (const Communicator &, const ID &) |
void | brokeLinearSOE (const Communicator &, const ID &) |
void | brokeIncrementalIntegrator (const Communicator &, const ID &) |
void | brokeStaticIntegrator (const Communicator &, const ID &) |
void | brokeTransientIntegrator (const Communicator &, const ID &) |
void | brokeDomainDecompAlgo (const Communicator &, const ID &) |
void | brokeEquiSolnAlgo (const Communicator &, const ID &) |
int | getAnalysisResult (void) const |
![]() | |
CommandEntity (CommandEntity *owr=nullptr) | |
Default constructor. | |
CommandEntity * | Owner (void) |
Return a pointer to the object owner. | |
const CommandEntity * | Owner (void) const |
Return un puntero al objeto propietario de ESTE. | |
const StandardOutputWrapper & | getStandardOutputWrapper (void) const |
Return the regular output stream wrapper. | |
StandardOutputWrapper & | getStandardOutputWrapper (void) |
Return the regular output stream wrapper. | |
const std::string & | getLogFileName (void) const |
Returns log file name. | |
void | setLogFileName (const std::string &) |
Sets log file name. | |
const std::string & | getErrFileName (void) const |
Returns err file name. | |
void | setErrFileName (const std::string &) |
Sets error file name. | |
const std::string & | getOutputFileName (void) const |
Returns regular output file name. | |
void | setOutputFileName (const std::string &) |
Sets regular output file name. | |
boost::python::object | evalPy (boost::python::object dict, const std::string &) |
Return the Python object that results from evaluating the argument. | |
boost::python::object | execPy (boost::python::object dict, const std::string &) |
Return the Python objects that results from executing the code in the string argument. | |
boost::python::object | execFilePy (boost::python::object dict, const std::string &) |
Return the Python object that results from executing the code in the file. | |
![]() | |
EntityWithProperties (EntityWithProperties *owr=nullptr) | |
Default constructor. | |
void | clearPyProps (void) |
Clear python properties map. | |
bool | hasPyProp (const std::string &) |
Returns true if property exists. | |
boost::python::object | getPyProp (const std::string &str) |
Return the Python object with the name being passed as parameter. | |
void | setPyProp (std::string str, boost::python::object val) |
Sets/appends a value tho the Python object's dictionary. | |
void | copyPropsFrom (const EntityWithProperties &) |
Copy the properties from the argument. | |
boost::python::list | getPropNames (void) const |
Return the names of the object properties weightings. | |
const PythonDict & | getPropertiesDict (void) const |
Return a std::map container with the properties of the object. | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary containing the object members values. | |
void | setPyDict (const boost::python::dict &) |
Set the values of the object members from a Python dictionary. | |
![]() | |
EntityWithOwner (EntityWithOwner *owr=nullptr) | |
Default constructor. | |
EntityWithOwner (const EntityWithOwner &) | |
Copy constructor. | |
EntityWithOwner & | operator= (const EntityWithOwner &) |
Assignment operator. | |
virtual bool | operator== (const EntityWithOwner &) const |
Comparison operator. | |
virtual | ~EntityWithOwner (void) |
Virtual destructor. | |
virtual std::string | getClassName (void) const |
Returns demangled class name. | |
void | set_owner (EntityWithOwner *owr) |
Assigns the owner of the object. | |
EntityWithOwner * | Owner (void) |
const EntityWithOwner * | Owner (void) const |
Protected Member Functions | |
DirectIntegrationAnalysis (SolutionStrategy *analysis_aggregation) | |
Constructor. More... | |
Analysis * | getCopy (void) const |
Virtual constructor. | |
![]() | |
TransientAnalysis (SolutionStrategy *) | |
Constructor. | |
![]() | |
int | newStepDomain (AnalysisModel *theModel, const double &dT=0.0) |
SolutionProcedure * | getSolutionProcedure (void) |
const SolutionProcedure * | getSolutionProcedure (void) const |
Analysis (SolutionStrategy *analysis_aggregation) | |
Constructor. More... | |
![]() | |
template<class T > | |
void | string_to (T &, const std::string &) const |
![]() | |
bool | isEqual (const EntityWithProperties &) const |
Return true if both objects are equal. | |
![]() | |
virtual bool | isEqual (const EntityWithOwner &) const |
Return true if both objects are equal. | |
Friends | |
class | SolutionProcedure |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, boost::python::object > | PythonDict |
![]() | |
static void | resetStandardOutput (void) |
Reset the standard output streams to its defaults buffers. | |
![]() | |
static int | getVerbosityLevel (void) |
Get the value of the verbosity level. | |
static void | setVerbosityLevel (const int &) |
Set the value of the verbosity level. | |
![]() | |
static CommandEntity * | entcmd_cast (boost::any &data) |
![]() | |
int | analysis_result |
Equal to zero if success. | |
SolutionStrategy * | solution_strategy |
Solution strategy. | |
![]() | |
static int | verbosity = 1 |
Object that owns THIS ONE. More... | |
Direct integration dynamic analysis.
DirectIntegrationAnalysis is a subclass of TransientAnalysis. It is used to perform a transient analysis using an incremental approach on the Domain.
|
protected |
Constructor.
solution_strategy | solution strategy to which this analysis belongs. |
|
virtual |
Destructor.
Does nothing. clearAll() must be invoked if the destructor on the objects in the aggregation need to be invoked.
|
virtual |
Performs the analysis.
numSteps | number of steps in the analysis. |
dT | time increment. |
Invoked to perform a transient analysis on the FE_Model. The method checks to see if the domain has changed before it performs 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.
Implements XC::TransientAnalysis.
|
virtual |
Clears all object members (constraint handler, analysis model,...).
Will invoke the destructor on all the objects in the aggregation. NOTE this means they must have been constructed using new(), otherwise a segmentation fault can occur.
Reimplemented from XC::Analysis.
|
virtual |
Execute the changes following a change in the domain.
This is a method invoked by a domain which indicates to the analysis that the domain has changed. The method invokes the following:
theModel
which causes the AnalysisModel to clear out its list of FE_Elements and DOF_Groups, and clearAll() on theHandler
.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 to inform these objects that changes have occurred in 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::DirectIntegrationAnalysis::setAlgorithm | ( | EquiSolnAlgo & | theNewAlgorithm | ) |
Sets the solutio algorithm to use in the analysis.
To change the algorithm between analysis. It first invokes the destructor on the old SolutionAlgorithm object associated with the analysis. It then sets the SolutionAlgorithm associated with the analysis to be newAlgorithm
and sets the links for this object by invoking setLinks(). Checks then to see if the domain has changed, if true it invokes {domainChanged()}, otherwise it invokes domainChanged() on the new SolutionAlgorithm. Returns \(0\) if successful, a warning message and a negative number if not.
int XC::DirectIntegrationAnalysis::setIntegrator | ( | TransientIntegrator & | theNewIntegrator | ) |
Sets the integrator to use in the analysis.
To change the integration scheme between analysis. It first invokes the destructor on the old Integrator object associated with the analysis. It then sets the SolutionAlgorithm associated with the analysis to be newAlgorithm
and sets the links for this object by invoking setLinks(). It also invokes setLinks() on the ConstraintHandler and SolutionAlgorithm objects. Checks then to see if the domain has changed, if true it invokes domainChanged(), otherwise it invokes {domainChanged()} on the new Integrator. 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.
To change the linear system of equation object between analysis. It first invokes the destructor on the old LinearSOE object associated with the analysis. It then sets the SolutionAlgorithm associated with the analysis to be newSOE
. links for this object by invoking setLinks(). It then invokes setLinks() on the ConstraintHandler and SolutionAlgorithm objects. Checks then to see if the domain has changed, if true it invokes domainChanged(), otherwise it invokes {setSize()} on the new LinearSOE. Returns \(0\) if successful, a warning message and a negative number if not.
Reimplemented from XC::Analysis.