b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2000::Solver Class Referenceabstract

A Solver instance executes an FE analysis. It is created and initialized by the Model instance and, using the Model, it obtains the Domain, IntialCondition, BoundaryCondition, etc. objects appropriate for the specified load case. More...

#include "b2solver.H"

Inheritance diagram for b2000::Solver:
Collaboration diagram for b2000::Solver:

Public Member Functions

void set_model (Model &model)
 This function is called by the Model instance.
 
void set_case (Case &b2case)
 Make this constant (TB).
 
const bool IsLinear () const
 
bool IsDynamic () const
 
bool IsDamped () const
 
bool IsImplicit () const
 
virtual void solve ()=0
 This function is usually called by the Model instance.
 
- Public Member Functions inherited from b2000::Object
virtual const std::string & get_object_name () const
 
virtual ~Object ()
 

Protected Member Functions

virtual bool solve_iteration ()=0
 This function is called by the Solver instance itself.
 
virtual void InitializeSolverOnCase ()
 Initializes the member variables of class Solver for the case at hand.
 

Protected Attributes

Modelmodel_ {}
 
Casecase_ {}
 This also.
 
double time_ {}
 Pseudo time in case of stationary analyses.
 
double time_max_ {1.0}
 End time of simulation.
 
double step_size_ {1.0}
 step size of the simulation.
 
size_t total_num_dof_ {}
 Total number of all degrees of freedom of the system.
 
size_t effective_num_dof_ {}
 Number of "true" unknowns of the global system.
 
int current_stage_ {}
 Current stage number of current case.
 

Additional Inherited Members

- Static Public Attributes inherited from b2000::Object
static ObjectType type
 

Detailed Description

A Solver instance executes an FE analysis. It is created and initialized by the Model instance and, using the Model, it obtains the Domain, IntialCondition, BoundaryCondition, etc. objects appropriate for the specified load case.

Member Function Documentation

◆ InitializeSolverOnCase()

void b2000::Solver::InitializeSolverOnCase ( )
inlineprotectedvirtual

Initializes the member variables of class Solver for the case at hand.

Parameters
dofVector containing displacements, velocities and accelerations at time t_n+1.

◆ IsDamped()

bool b2000::Solver::IsDamped ( ) const
inline
Returns
true if and only if the solver constains damping terms.

◆ IsDynamic()

bool b2000::Solver::IsDynamic ( ) const
inline
Returns
true if and only if the solver can solve dynamic problems.

◆ IsImplicit()

bool b2000::Solver::IsImplicit ( ) const
inline
Returns
true the solver is implicit.

◆ IsLinear()

const bool b2000::Solver::IsLinear ( ) const
inline
Returns
true if and only if the solver can only solve linear problems.

◆ set_case()

void b2000::Solver::set_case ( Case b2case)
inline

Make this constant (TB).

This function is called by the Model instance.

Member Data Documentation

◆ model_

Model* b2000::Solver::model_ {}
protected

This should be std::shared_ptr or (better) a reference (TB)


The documentation for this class was generated from the following files: