|
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 |
|
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 > |
T | get (const std::string &key) const |
|
template<typename T > |
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 |
|
virtual const std::string & | get_object_name () const |
|
virtual | ~Object () |
|
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().