Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations
Analysis Class Referenceabstract

Virtual class for defining the analysis type to be performed. More...

#include <Analysis.hpp>

Inheritance diagram for Analysis:
Collaboration diagram for Analysis:

Public Member Functions

 Analysis (std::shared_ptr< LoadCombo > &loadcombo, unsigned int nteps)
 Creates a Analysis object. More...
 
virtual ~Analysis ()=0
 Destroys this Analysis object. More...
 
virtual bool Analyze ()=0
 Performs the required analysis on the domain. 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...
 

Protected Member Functions

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...
 

Private Attributes

unsigned int NumberOfSteps
 Total number of time increments. More...
 
std::shared_ptr< LoadCombotheLoadCombo
 The load combination to be used. More...
 
std::vector< std::unique_ptr< Recorder > > theRecorders
 The recorder associated to analysis. More...
 

Detailed Description

Virtual class for defining the analysis type to be performed.

See also
StaticAnalysis.hpp DynamicAnalysis.hpp

Constructor & Destructor Documentation

◆ Analysis()

Analysis::Analysis ( std::shared_ptr< LoadCombo > &  loadcombo,
unsigned int  nteps 
)

Creates a Analysis object.

Parameters
loadcomboPointer to the LoadCombo object.
ntepsThe number of time steps to evolve solution.

◆ ~Analysis()

virtual Analysis::~Analysis ( )
pure virtual

Destroys this Analysis object.

Member Function Documentation

◆ Analyze()

virtual bool Analysis::Analyze ( )
pure virtual

Performs the required analysis on the domain.

Returns
Whether or not the analysis was successful.

Implemented in StaticAnalysis, and DynamicAnalysis.

◆ EndRecorders()

void Analysis::EndRecorders ( )
protected

Finalize recorder.

◆ GetCombinationName()

std::string Analysis::GetCombinationName ( )

Returns the combination name.

Returns
The analysis combination name.

◆ PrintProgress()

void Analysis::PrintProgress ( unsigned int  percent)
protected

Prints out solving bar for the analysis.

Parameters
percentThe progress bar percentage in analysis.

◆ ReducedParallelReaction()

void Analysis::ReducedParallelReaction ( Eigen::VectorXd &  Reaction)

Construct the reaction vector force from each processor.

Parameters
ReactionThe reaction vector in this partition.
numberOfTotalDofsThe number of total degree-of-freedom.
Note
In parallel execution Reaction is gathered across processors.

◆ SetRecorder()

void Analysis::SetRecorder ( std::shared_ptr< Recorder > &  recorder)

Sets the recorder for the analysis.

Parameters
recorderPointer to the recorder where solution is stored.
See also
Analysis::theRecorders.

◆ StartRecorders()

void Analysis::StartRecorders ( std::shared_ptr< Mesh > &  mesh,
unsigned int  nsteps 
)
protected

Initialize recorder.

Parameters
meshPointer to the Mesh object.
nstepsThe number of time steps to be recorded.

◆ UpdateMesh()

void Analysis::UpdateMesh ( std::shared_ptr< Mesh > &  mesh,
std::shared_ptr< Integrator > &  integrator 
)

Update internal variables in Mesh according to form of simulation.

Parameters
meshThe finite element mesh object where changes are performed
integratorThe integrator object where changed are taken from
See also
Mesh::Nodes Mesh::Elements.

◆ WriteRecorders()

void Analysis::WriteRecorders ( std::shared_ptr< Mesh > &  mesh,
unsigned int  step 
)
protected

Writes information on the recorders.

Parameters
meshPointer to the Mesh object.
stepThe time step to be recorded.

Member Data Documentation

◆ NumberOfSteps

unsigned int Analysis::NumberOfSteps
private

Total number of time increments.

◆ theLoadCombo

std::shared_ptr<LoadCombo> Analysis::theLoadCombo
private

The load combination to be used.

◆ theRecorders

std::vector<std::unique_ptr<Recorder> > Analysis::theRecorders
private

The recorder associated to analysis.