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

Class for creating a dynamic analysis and updating the states variables in mesh. More...

#include <DynamicAnalysis.hpp>

Inheritance diagram for DynamicAnalysis:
Collaboration diagram for DynamicAnalysis:

Public Member Functions

 DynamicAnalysis (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 DynamicAnalysis object. More...
 
 ~DynamicAnalysis ()
 Destroys this DynamicAnalysis 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 NumberOfTimeSteps
 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 dynamic 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 a dynamic analysis and updating the states variables in mesh.

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

Constructor & Destructor Documentation

◆ DynamicAnalysis()

DynamicAnalysis::DynamicAnalysis ( 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 DynamicAnalysis 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 DynamicAnalysis.
See also
DynamicAnalysis::Mesh, DynamicAnalysis::theIntegrator.

◆ ~DynamicAnalysis()

DynamicAnalysis::~DynamicAnalysis ( )

Destroys this DynamicAnalysis object.

Member Function Documentation

◆ Analyze()

bool DynamicAnalysis::Analyze ( )
virtual

Analyze the current incremental step.

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

Implements Analysis.

◆ UpdateDomain()

void DynamicAnalysis::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

◆ NumberOfTimeSteps

unsigned int DynamicAnalysis::NumberOfTimeSteps
private

Total number of time increments.

◆ theAlgorithm

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

The linear system algorithm.

◆ theIntegrator

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

The dynamic integrator method.

◆ theMesh

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

The finite element mesh: