xc
|
Used when performing a domain decomposition analysis. More...
#include <DomainDecompositionAnalysis.h>
Public Member Functions | |
virtual void | clearAll (void) |
Clears all object members (constraint handler, analysis model,...). | |
virtual int | initialize (void) |
virtual int | domainChanged (void) |
Method used to inform the object that the domain has changed. | |
virtual bool | doesIndependentAnalysis (void) |
virtual int | analyze (double dT) |
Performs the analysis. More... | |
virtual int | getNumExternalEqn (void) |
Returns the number of external equations. More... | |
virtual int | getNumInternalEqn (void) |
Returns the number of internal equations. | |
virtual int | newStep (double dT) |
virtual int | computeInternalResponse (void) |
A method which invokes solveCurrentStep() on theAlgorithm . | |
virtual int | formTangent (void) |
Assembles the tangent stiffness matrix. More... | |
virtual int | formResidual (void) |
Assembles the residuial vector. More... | |
virtual int | formTangVectProduct (Vector &force) |
form the product of the condensed tangent matrix times the vector \(u\). More... | |
virtual const Matrix & | getTangent (void) |
Return the tangent stiffness matrix. More... | |
virtual const Vector & | getResidual (void) |
Returns the residual vector. More... | |
virtual const Vector & | getTangVectProduct (void) |
Returns the result of invoking getCondensedMatVect() on the solver. More... | |
virtual const DomainSolver * | getDomainSolver (void) const |
Returns a pointer to the DomainSolver associated with this object. More... | |
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 | sendSelf (Communicator &) |
Sends the object. | |
virtual int | recvSelf (const Communicator &) |
Receives the object. | |
virtual int | setAlgorithm (EquiSolnAlgo &theAlgorithm) |
Sets the solution algorithm to use in the analysis. | |
virtual int | setIntegrator (IncrementalIntegrator &theIntegrator) |
Sets the integrator to use in the analysis. | |
virtual int | setLinearSOE (LinearSOE &theSOE) |
Sets the system of equations to use in the analysis. | |
virtual int | setConvergenceTest (ConvergenceTest &theTest) |
Sets the convergence test to use in the analysis. | |
![]() | |
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 int | setNumberer (DOF_Numberer &theNumberer) |
Sets the renumerador to use in the analysis. | |
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 |
![]() | |
MovableObject (int classTag, int dbTag) | |
Constructor. More... | |
MovableObject (int classTag) | |
Constructor. More... | |
MovableObject (const MovableObject &) | |
Copy constructor. Doesn't copy the dbTag. | |
MovableObject & | operator= (const MovableObject &) |
Assignment operator. Doesn't copy the dbTag. | |
int | getClassTag (void) const |
Return the class identifier. | |
int | getDbTag (void) const |
Return the object identifier in the database. | |
int | getDbTag (Communicator &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (Communicator &) |
Sets the object identifier in the database if not already set. More... | |
virtual int | setParameter (const std::vector< std::string > &argv, Parameter ¶m) |
Sets the value param to the parameter argv . | |
virtual int | updateParameter (int parameterID, Information &info) |
Updates the parameter identified by parameterID with info . | |
virtual int | activateParameter (int parameterID) |
Activates the parameter identified by parameterID . | |
virtual int | setVariable (const std::string &variable, Information &) |
Set the value of the variable idenfified by var . | |
virtual int | getVariable (const std::string &variable, Information &) |
Return the value of the variable idenfified by var . | |
![]() | |
DistributedBase (void) | |
Constructor. | |
virtual | ~DistributedBase (void) |
Destructor. | |
virtual DbTagData & | getDbTagData (void) const |
Returns a vector to store class dbTags. | |
const int & | getDbTagDataPos (const int &i) const |
Returns the data at the i-th position. | |
void | setDbTagDataPos (const int &i, const int &v) |
Sets the data at the i-th position. | |
void | inicComm (const int &dataSize) const |
Initializes communication. | |
Protected Member Functions | |
Subdomain * | getSubdomainPtr (void) const |
Returns a pointer to the subdomain. | |
void | set_all_links (void) |
Sets los pointers tol DomainDecompSolutionAlgorithm y al subdomain. | |
DomainDecompositionAnalysis (Subdomain &theDomain, SolutionStrategy *s=nullptr) | |
Constructor. More... | |
DomainDecompositionAnalysis (Subdomain &theDomain, DomainSolver &theSolver, SolutionStrategy *s=nullptr) | |
Constructor. More... | |
DomainDecompositionAnalysis (int classTag, Subdomain &theDomain, SolutionStrategy *s=nullptr) | |
Constructor. More... | |
DomainDecompositionAnalysis (int classTag, Subdomain &theDomain, DomainSolver &theSolver, SolutionStrategy *s) | |
Constructor. More... | |
Analysis * | getCopy (void) const |
Virtual 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. | |
Protected Attributes | |
int | domainStamp |
![]() | |
int | analysis_result |
Equal to zero if success. | |
SolutionStrategy * | solution_strategy |
Solution strategy. | |
Friends | |
class | SolutionProcedure |
class | FEM_ObjectBroker |
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) |
![]() | |
static int | verbosity = 1 |
Object that owns THIS ONE. More... | |
Used when performing a domain decomposition analysis.
It provides methods which can be invoked by a subdomain to perform the numerical computations required.
Used when performing an analysis using the domain decomposition method to solve the equations. Its public member functions are all virtual to allow for the generalization of the class. The following are the aggregates of such an analysis type:
|
protected |
Constructor.
A constructor that is used when creating a DomainDecompositionObject which is to receive itself afterwards. Sets the links to the Subdomain. It is essential that this object recvSelf() before DomainDecompositionAnalysis methods are invoked as their invocation will cause segmentation faults.
Invokes {setAnalysis(this)} on the Subdomain.
subDomain | Subdomain to deal with. |
s | solution method to use. |
|
protected |
Constructor.
subDomain | subdomain to deal with. |
theSolvr | Solver to use. |
s | solution method to use. |
|
protected |
Constructor.
clsTag | class identifier. |
subDomain | subdomain to deal with. |
s | solution method to use. |
|
protected |
Constructor.
clsTag | class identifier. |
subDomain | subdomain to deal with. |
theSolver | Solver to use. |
s | solution method to use. |
|
virtual |
Performs the analysis.
dT | time increment. |
Reimplemented in XC::StaticDomainDecompositionAnalysis, and XC::TransientDomainDecompositionAnalysis.
|
virtual |
Assembles the residuial vector.
A method to form the condensed residual vector, given the current number of internal dof. A check to see if the Subdomain has changed is first made, this is done by invoking hasDomainChanged() on the Subdomain; if it has been modified invokeChangeOnAnalysis() is invoked on the Subdomain
. If the tangent has not yet been formed it invokes formTangent() on itself and sets the counter
to \(-1\). To form the residual formUnbalance() is invoked on theIntegrator
and {condenseRHS(numInt)} is invoked on theSolver
. Returns \(0\) or the negative number that was returned if either formUnbalance()} or {condenseRHS() failed.
Reimplemented in XC::StaticDomainDecompositionAnalysis, and XC::TransientDomainDecompositionAnalysis.
|
virtual |
Assembles the tangent stiffness matrix.
A method to form the condensed tangent matrix, given the current number of internal dof. It first checks to see if the Subdomain has changed, by invoking hasDomainChanged() on the Subdomain; if it has invokeChangeOnAnalysis() is invoked on the {Subdomain}. It then checks to see if counter
is equal to \(-1\) or not; a \(-1\) indicating the tangent has already been formed in order that the residual could be determined. If this is not the case {formTangent()} is invoked on theIntegrator
, condenseA() is invoked on theSolver
object, a flag is set to indicate that the tangent has been formed, and the counter
is incremented. Returns a \(0\) if successful, if either the formTangent() or {condenseA()} method returns a negative number this number is returned.
Reimplemented in XC::StaticDomainDecompositionAnalysis, and XC::TransientDomainDecompositionAnalysis.
|
virtual |
form the product of the condensed tangent matrix times the vector \(u\).
A method to form the product of the condensed tangent matrix times the vector \(u\). A check to see if the Subdomain has changed is first made, this is done by invoking hasDomainChanged() on the Subdomain; if it has been modified invokeChangeOnAnalysis() is invoked on the Subdomain
. If the tangent has not yet been formed it invokes formTangent() on itself and sets the counter
to \(-1\). Finally the result of invoking {computeCondensedMatVect(numInt, u)} on {theSolver} is returned.
Reimplemented in XC::StaticDomainDecompositionAnalysis, and XC::TransientDomainDecompositionAnalysis.
|
virtual |
Returns a pointer to the DomainSolver associated with this object.
Reimplemented from XC::Analysis.
|
virtual |
Returns the number of external equations.
A method to return the number of external degrees-of-freedom on the Subdomain interface, this information is returned when handle() is invoked on theConstraintHandler
.
Reimplemented in XC::StaticDomainDecompositionAnalysis, and XC::TransientDomainDecompositionAnalysis.
|
virtual |
Returns the residual vector.
A method which returns the portion of the \(b\) corresponding to the external equation numbers. A check to see if the Subdomain has changed is first made, this is done by invoking hasDomainChanged() on the Subdomain; if it has been modified invokeChangeOnAnalysis() is invoked on the Subdomain
and formResidual() is called. The object returns the Vector obtained from invoking getCondensedRHS() on the solver.
Reimplemented in XC::StaticDomainDecompositionAnalysis, and XC::TransientDomainDecompositionAnalysis.
|
virtual |
Return the tangent stiffness matrix.
A method which returns the portion of A corresponding to internal equation numbers. A check to see if the Subdomain has changed is first made, this is done by invoking hasDomainChanged() on the Subdomain; if it has been modified invokeChangeOnAnalysis() is invoked on the Subdomain
. If the tangent has not yet been formed formTangent() is invoked. The method returns the result of invoking getCondensedA()} on {theSolver().
Reimplemented in XC::StaticDomainDecompositionAnalysis, and XC::TransientDomainDecompositionAnalysis.
|
virtual |
Returns the result of invoking getCondensedMatVect() on the solver.
Returns the result of invoking getCondensedMatVect() on the solver. A check to see if the Subdomain has changed is first made, this is done by invoking hasDomainChanged() on the Subdomain; if it has been modified invokeChangeOnAnalysis() is invoked on the Subdomain
. The object returns the Vector obtained from invoking getCondensedMatVect() on theSolver
.
Reimplemented in XC::StaticDomainDecompositionAnalysis, and XC::TransientDomainDecompositionAnalysis.