Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations
StaticAnalysis Class Reference

Class for creating an static analysis and updating the states variables in mesh. More...

#include <StaticAnalysis.hpp>

Inheritance diagram for StaticAnalysis:
Collaboration diagram for StaticAnalysis:

Public Member Functions

 StaticAnalysis (std::shared_ptr< Mesh > &mesh, std::shared_ptr< Algorithm > &algorithm, std::shared_ptr< Integrator > &integrator, std::shared_ptr< LoadCombo > &loadcombo, unsigned int nSteps=0)
 Creates a StaticAnalysis object. More...
 
 ~StaticAnalysis ()
 Destroys this StaticAnalysis object. More...
 
bool Analyze ()
 Analyze the current incremental step. More...
 
void UpdateDomain (unsigned int k)
 Performs changes in mesh. More...
 
- Public Member Functions inherited from Analysis
 Analysis (std::shared_ptr< LoadCombo > &loadcombo, unsigned int nteps)
 Creates a Analysis object. More...
 
virtual ~Analysis ()=0
 Destroys this Analysis object. More...
 
void UpdateMesh (std::shared_ptr< Mesh > &mesh, std::shared_ptr< Integrator > &integrator)
 Update internal variables in Mesh according to form of simulation. More...
 
void SetRecorder (std::shared_ptr< Recorder > &recorder)
 Sets the recorder for the analysis. More...
 
std::string GetCombinationName ()
 Returns the combination name. More...
 
void ReducedParallelReaction (Eigen::VectorXd &Reaction)
 Construct the reaction vector force from each processor. More...
 

Private Attributes

unsigned int NumberOfSteps
 Total number of time increments. More...
 
std::shared_ptr< MeshtheMesh
 The finite element mesh: More...
 
std::shared_ptr< AlgorithmtheAlgorithm
 The linear system algorithm. More...
 
std::shared_ptr< IntegratortheIntegrator
 The static integrator method. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Analysis
void StartRecorders (std::shared_ptr< Mesh > &mesh, unsigned int nsteps)
 Initialize recorder. More...
 
void WriteRecorders (std::shared_ptr< Mesh > &mesh, unsigned int step)
 Writes information on the recorders. More...
 
void EndRecorders ()
 Finalize recorder. More...
 
void PrintProgress (unsigned int percent)
 Prints out solving bar for the analysis. More...
 

Detailed Description

Class for creating an static analysis and updating the states variables in mesh.

See also
Analysis.hpp Integrator.hpp Algorithm.hpp Mesh.hpp

Constructor & Destructor Documentation

◆ StaticAnalysis()

StaticAnalysis::StaticAnalysis ( std::shared_ptr< Mesh > &  mesh,
std::shared_ptr< Algorithm > &  algorithm,
std::shared_ptr< Integrator > &  integrator,
std::shared_ptr< LoadCombo > &  loadcombo,
unsigned int  nSteps = 0 
)

Creates a StaticAnalysis object.

Parameters
meshPointer to the Mesh container to extract Node and Element.
algorithmPointer to the Algorithm to solve the linear system.
integratorPointer to the Integrator to evolve the solution.
loadcomboPointer to the LoadCombo to load the finite element model.
nStepsThe current time step being solved.
Note
More details can be found at StaticAnalysis.
See also
StaticAnalysis::Mesh, StaticAnalysis::theIntegrator.

◆ ~StaticAnalysis()

StaticAnalysis::~StaticAnalysis ( )

Destroys this StaticAnalysis object.

Member Function Documentation

◆ Analyze()

bool StaticAnalysis::Analyze ( )
virtual

Analyze the current incremental step.

Returns
Whether or not the analysis was successful.
Note
More details can be found at StaticAnalysis.

Implements Analysis.

◆ UpdateDomain()

void StaticAnalysis::UpdateDomain ( unsigned int  k)

Performs changes in mesh.

param k The time step to be updated.

Note
Changes in Node and Material at each Element are committed.

Member Data Documentation

◆ NumberOfSteps

unsigned int StaticAnalysis::NumberOfSteps
private

Total number of time increments.

◆ theAlgorithm

std::shared_ptr<Algorithm> StaticAnalysis::theAlgorithm
private

The linear system algorithm.

◆ theIntegrator

std::shared_ptr<Integrator> StaticAnalysis::theIntegrator
private

The static integrator method.

◆ theMesh

std::shared_ptr<Mesh> StaticAnalysis::theMesh
private

The finite element mesh: