suanPan
Loading...
Searching...
No Matches
GroupNodalDisplacement Class Referencefinal

A GroupNodalDisplacement class. More...

#include <GroupNodalDisplacement.h>

Inheritance diagram for GroupNodalDisplacement:
Collaboration diagram for GroupNodalDisplacement:

Public Member Functions

 GroupNodalDisplacement (unsigned, unsigned, double, uvec &&, unsigned, unsigned)
 
 GroupNodalDisplacement (unsigned, unsigned, double, uvec &&, uvec &&, unsigned=0)
 
int initialize (const shared_ptr< DomainBase > &) override
 
- Public Member Functions inherited from NodalDisplacement
 NodalDisplacement (unsigned, unsigned, double, uvec &&, unsigned, unsigned)
 
 NodalDisplacement (unsigned, unsigned, double, uvec &&, uvec &&, unsigned=0)
 
int initialize (const shared_ptr< DomainBase > &) override
 
int process (const shared_ptr< DomainBase > &) override
 This method provides all necessary pieces of typical constraints/loads required, including additional blocks in original global stiffness, border matrix resistance of multiplier, external loads.
 
- Public Member Functions inherited from Load
 Load (unsigned, unsigned, unsigned, uvec &&, uvec &&, double)
 
 Load (const Load &)=delete
 
 Load (Load &&)=delete
 
Loadoperator= (const Load &)=delete
 
Loadoperator= (Load &&)=delete
 
 ~Load () override=default
 
void enable_displacement_control () const
 
bool if_displacement_control () const
 
const vec & get_trial_load () const
 
const vec & get_trial_settlement () const
 
const sp_vec & get_reference_load () const
 
- Public Member Functions inherited from ConditionalModifier
 ConditionalModifier (unsigned, unsigned, unsigned, uvec &&, uvec &&)
 
virtual int process_resistance (const shared_ptr< DomainBase > &)
 For some algorithms, the global stiffness is formed only once in each substep. After calling solver, the storage may contain factorization. It is not correct to modify it in those algorithms. This method should provide updated constraint/load resistance but must not touch global stiffness.
 
virtual void stage (const shared_ptr< DomainBase > &)
 Some algorithms needs to manually modify some variables after solving. Typical example is the predictor–corrector type algorithms. This method is called before committing trial status to perform necessary operations.
 
const uvec & get_node_encoding () const
 
const uvec & get_dof_encoding () const
 
void set_initialized (bool) const
 
bool is_initialized () const
 
void set_start_step (unsigned)
 
unsigned get_start_step () const
 
void set_end_step (unsigned)
 
unsigned get_end_step () const
 
void set_connected (bool) const
 Some constraints may modify global stiffness matrix so that it needs to be treated as an element which may affect bandwidth of banded storage. By calling this method, the RCM reordering algorithm will take this constraint into consideration. Make sure it is called in the constructor.
 
bool is_connected () const
 
bool validate_step (const shared_ptr< DomainBase > &) const
 
virtual void update_status (const vec &)
 
virtual void commit_status ()
 
virtual void clear_status ()
 
virtual void reset_status ()
 
- Public Member Functions inherited from Tag
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&)=default
 
Tagoperator= (const Tag &)=delete
 
Tagoperator= (Tag &&)=delete
 
virtual ~Tag ()=default
 
void set_tag (unsigned) const
 
unsigned get_tag () const
 
void enable ()
 
void disable ()
 
void guard ()
 
void unguard ()
 
bool is_active () const
 
bool is_guarded () const
 
virtual void print ()
 

Additional Inherited Members

- Protected Member Functions inherited from GroupLoad
uvec update_object_tag (const shared_ptr< DomainBase > &) const
 
 GroupLoad (uvec &&)
 
- Protected Member Functions inherited from NodalDisplacement
 NodalDisplacement (unsigned, unsigned, double, uvec &&, unsigned, unsigned)
 
 NodalDisplacement (unsigned, unsigned, double, uvec &&, uvec &&, unsigned=0)
 
int initialize (const shared_ptr< DomainBase > &) override
 
int process (const shared_ptr< DomainBase > &) override
 This method provides all necessary pieces of typical constraints/loads required, including additional blocks in original global stiffness, border matrix resistance of multiplier, external loads.
 
- Protected Member Functions inherited from Load
 Load (unsigned, unsigned, unsigned, uvec &&, uvec &&, double)
 
 Load (const Load &)=delete
 
 Load (Load &&)=delete
 
Loadoperator= (const Load &)=delete
 
Loadoperator= (Load &&)=delete
 
 ~Load () override=default
 
void enable_displacement_control () const
 
bool if_displacement_control () const
 
const vec & get_trial_load () const
 
const vec & get_trial_settlement () const
 
const sp_vec & get_reference_load () const
 
- Protected Member Functions inherited from ConditionalModifier
uvec get_nodal_active_dof (const shared_ptr< DomainBase > &)
 Generate active DoF vector from assigned nodes.
 
uvec get_all_nodal_active_dof (const shared_ptr< DomainBase > &)
 Generate active DoF vector from all nodes in the model.
 
 ConditionalModifier (unsigned, unsigned, unsigned, uvec &&, uvec &&)
 
virtual int process_resistance (const shared_ptr< DomainBase > &)
 For some algorithms, the global stiffness is formed only once in each substep. After calling solver, the storage may contain factorization. It is not correct to modify it in those algorithms. This method should provide updated constraint/load resistance but must not touch global stiffness.
 
virtual void stage (const shared_ptr< DomainBase > &)
 Some algorithms needs to manually modify some variables after solving. Typical example is the predictor–corrector type algorithms. This method is called before committing trial status to perform necessary operations.
 
const uvec & get_node_encoding () const
 
const uvec & get_dof_encoding () const
 
void set_initialized (bool) const
 
bool is_initialized () const
 
void set_start_step (unsigned)
 
unsigned get_start_step () const
 
void set_end_step (unsigned)
 
unsigned get_end_step () const
 
void set_connected (bool) const
 Some constraints may modify global stiffness matrix so that it needs to be treated as an element which may affect bandwidth of banded storage. By calling this method, the RCM reordering algorithm will take this constraint into consideration. Make sure it is called in the constructor.
 
bool is_connected () const
 
bool validate_step (const shared_ptr< DomainBase > &) const
 
virtual void update_status (const vec &)
 
virtual void commit_status ()
 
virtual void clear_status ()
 
virtual void reset_status ()
 
- Protected Member Functions inherited from Tag
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&)=default
 
Tagoperator= (const Tag &)=delete
 
Tagoperator= (Tag &&)=delete
 
virtual ~Tag ()=default
 
void set_tag (unsigned) const
 
unsigned get_tag () const
 
void enable ()
 
void disable ()
 
void guard ()
 
void unguard ()
 
bool is_active () const
 
bool is_guarded () const
 
virtual void print ()
 
- Protected Attributes inherited from NodalDisplacement
uvec encoding
 
- Protected Attributes inherited from Load
const bool mpdc_flag = false
 
const double pattern
 
vec trial_load
 
vec trial_settlement
 
sp_vec reference_load
 
- Protected Attributes inherited from ConditionalModifier
const bool initialized = false
 
const bool connected = false
 
unsigned start_step
 
unsigned end_step = static_cast<unsigned>(-1)
 
const unsigned amplitude_tag
 
uvec node_encoding
 
uvec dof_reference
 
uvec dof_encoding
 
shared_ptr< Amplitudemagnitude
 
- Static Protected Attributes inherited from Load
static double multiplier = 1E8
 

Detailed Description

A GroupNodalDisplacement class.

The GroupNodalDisplacement class is in charge of handling displacement load.

Author
tlc
Date
20/03/2020
Version
0.1.0

Constructor & Destructor Documentation

◆ GroupNodalDisplacement() [1/2]

GroupNodalDisplacement::GroupNodalDisplacement ( unsigned T,
unsigned ST,
double L,
uvec && N,
unsigned D,
unsigned AT )

◆ GroupNodalDisplacement() [2/2]

GroupNodalDisplacement::GroupNodalDisplacement ( unsigned T,
unsigned ST,
double L,
uvec && N,
uvec && D,
unsigned AT = 0 )

Member Function Documentation

◆ initialize()

int GroupNodalDisplacement::initialize ( const shared_ptr< DomainBase > & D)
overridevirtual

Reimplemented from ConditionalModifier.

Here is the call graph for this function:

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