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

#include "b2case.H"

Inheritance diagram for b2000::Case:
Collaboration diagram for b2000::Case:

Public Member Functions

virtual std::string get_id () const =0
 
virtual void get_subcase_ids (std::set< int > &subcase_ids_) const =0
 
virtual size_t get_number_of_stage () const =0
 
virtual int get_stage_number () const =0
 
virtual std::string get_stage_id (int stage=-1) const =0
 
virtual double get_stage_size (int stage=-1) const =0
 
virtual bool next_stage ()=0
 
virtual void set_stage (int stage)=0
 
- Public Member Functions inherited from b2000::Dictionary
virtual bool has_key (const std::string &key) const =0
 
virtual bool get_bool (const std::string &key) const =0
 
virtual bool get_bool (const std::string &key, bool default_) const
 
virtual int get_int (const std::string &key) const =0
 
virtual int get_int (const std::string &key, int default_) const
 
virtual double get_double (const std::string &key) const =0
 
virtual double get_double (const std::string &key, double default_) const
 
virtual b2000::csda< double > get_csda_double (const std::string &key) const =0
 
virtual b2000::csda< double > get_csda_double (const std::string &key, b2000::csda< double > default_) const
 
virtual std::complex< double > get_complex_double (const std::string &key) const =0
 
virtual std::complex< double > get_complex_double (const std::string &key, std::complex< double > default_) const
 
virtual std::string get_string (const std::string &key) const =0
 
virtual std::string get_string (const std::string &key, const std::string &default_) const
 
template<typename T >
get (const std::string &key) const
 
template<typename T >
get (const std::string &key, const T &default_) const
 
virtual void get (const std::string &key, std::vector< int > &v) const =0
 
virtual void get (const std::string &key, std::vector< double > &v) const =0
 
virtual void get (const std::string &key, std::vector< b2000::csda< double > > &v) const =0
 
virtual void get (const std::string &key, std::vector< std::complex< double > > &v) const =0
 
virtual void warn_on_non_used_key () const =0
 
- Public Member Functions inherited from b2000::Object
virtual const std::string & get_object_name () const
 
virtual ~Object ()
 

Additional Inherited Members

- Static Public Member Functions inherited from b2000::Dictionary
static Dictionaryget_empty ()
 
- Static Public Attributes inherited from b2000::Object
static ObjectType type
 

Detailed Description

This abstract class defines an interface for representations of load cases in a Finite Element analysis. All of its methods, and the methods of its ancestor classes AttributeList and Dictionary, are pure virtual.

Load case ID's

A load case is identified by it's id, in B2000++ currently a positive integer number, which is here returned as a string (to allow the transition in the future). The id is not related in any way to the load case's role (whether it is an incremental load case of a stage, see below). In the actual B2000++ implementation, this id corresponds to the number given in the MDL input file for the "case" directive, and is identical to the suffix of the "CASE" datasets, e.g. "CASE.2" contains the attributes for load case 2.

Load case attributes

Directives for the Solver (in particula), Element, boundary condition etc. objects are specified for a load case. To this end, Case derives (a) from AttributeList which defines an interface to set (key, value) pairs, and (b) from Dictionary, which defines an interface to retrieve the value corresponding to a key.

Stages

B2000++ distinguishes between incremental load cases and non-incremental load cases. Incremental load cases have a positive number of stages, while non-incremental load cases have zero stages (see the get_number_of_stage() function).

The stages of incremental load cases are arranged as a sequence. The first stage is executed first, then the second stage, and so on. The stages themselves are represented by instances of Case. Thus, there is a parent-child relationship between the Case object representing an incremental load case and the Case objects representing the stages.

Stage numbers go from 0 to get_number_of_stage() - 1. The get_stage_number and set_stage functions allow to retrieve/set the stage number. The load case id for the current stage or a given stage number is retrieved with get_stage_id().

Member Function Documentation

◆ get_id()

virtual std::string b2000::Case::get_id ( ) const
pure virtual
Returns
The identifier of this load case.

◆ get_number_of_stage()

virtual size_t b2000::Case::get_number_of_stage ( ) const
pure virtual
Returns
The number of stages of the case (0 if the case is not an incremental case).

◆ get_stage_id()

virtual std::string b2000::Case::get_stage_id ( int  stage = -1) const
pure virtual
Returns
The load-case identifier of the current stage or a given stage number.

◆ get_stage_number()

virtual int b2000::Case::get_stage_number ( ) const
pure virtual
Returns
The number of the current stage. Stage numbers start at 0 and go to get_number_of_stage() - 1.

◆ get_stage_size()

virtual double b2000::Case::get_stage_size ( int  stage = -1) const
pure virtual
Returns
The value of the loading parameter (static analysis) or time (dynamic analysis) at the end of the current stage or a given stage.

◆ get_subcase_ids()

virtual void b2000::Case::get_subcase_ids ( std::set< int > &  subcase_ids_) const
pure virtual
Returns
The subcase ID's. If no subcases are defined, the set contains the subcase ID 0.

◆ next_stage()

virtual bool b2000::Case::next_stage ( )
pure virtual

Iterate to the next stage of the case.

Returns
true if successful, false if no more stage was available.

◆ set_stage()

virtual void b2000::Case::set_stage ( int  stage)
pure virtual

Set the current stage.


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