33 #ifndef CONDITIONALMODIFIER_H 34 #define CONDITIONALMODIFIER_H 76 virtual int initialize(
const shared_ptr<DomainBase>&);
84 virtual int process(
const shared_ptr<DomainBase>&) = 0;
99 virtual int stage(
const shared_ptr<DomainBase>&);
121 [[nodiscard]]
bool validate_step(
const shared_ptr<DomainBase>&)
const;
virtual int process_resistance(const shared_ptr< DomainBase > &)
For some algorithms, the global stiffness is formed only once in each substep. After calling solver...
Definition: ConditionalModifier.cpp:77
uvec get_nodal_active_dof(const shared_ptr< DomainBase > &)
Generate active DoF vector from assigned nodes.
Definition: ConditionalModifier.cpp:24
The DomainBase class is a template.
Definition: DomainBase.h:90
virtual void update_status(const vec &)
Definition: ConditionalModifier.cpp:109
uvec dof_encoding
Definition: ConditionalModifier.h:53
void set_end_step(unsigned)
Definition: ConditionalModifier.cpp:96
virtual void reset_status()
Definition: ConditionalModifier.cpp:115
unsigned start_step
Definition: ConditionalModifier.h:47
const bool connected
Definition: ConditionalModifier.h:45
virtual int process(const shared_ptr< DomainBase > &)=0
This method provides all necessary pieces of typical constraints/loads required, including additional...
unsigned end_step
Definition: ConditionalModifier.h:47
uvec get_all_nodal_active_dof(const shared_ptr< DomainBase > &)
Generate active DoF vector from all nodes in the model.
Definition: ConditionalModifier.cpp:37
uvec node_encoding
Definition: ConditionalModifier.h:51
virtual void clear_status()
Definition: ConditionalModifier.cpp:113
unsigned get_start_step() const
Definition: ConditionalModifier.cpp:94
bool validate_step(const shared_ptr< DomainBase > &) const
Definition: ConditionalModifier.cpp:104
const unsigned amplitude_tag
Definition: ConditionalModifier.h:49
ConditionalModifier(unsigned, unsigned, unsigned, uvec &&, uvec &&)
Definition: ConditionalModifier.cpp:49
const uvec & get_node_encoding() const
Definition: ConditionalModifier.cpp:81
An Amplitude class that can generate Amplitude pattern.
Definition: Amplitude.h:67
const uvec & get_dof_encoding() const
Definition: ConditionalModifier.cpp:83
uvec dof_reference
Definition: ConditionalModifier.h:52
virtual int initialize(const shared_ptr< DomainBase > &)
Definition: ConditionalModifier.cpp:56
const bool initialized
Definition: ConditionalModifier.h:43
virtual void commit_status()
Definition: ConditionalModifier.cpp:111
unsigned get_end_step() const
Definition: ConditionalModifier.cpp:98
A base Tag class.
Definition: Tag.h:38
bool is_initialized() const
Definition: ConditionalModifier.cpp:87
virtual int stage(const shared_ptr< DomainBase > &)
Some algorithms needs to manually modify some variables after solving. Typical example is the predict...
Definition: ConditionalModifier.cpp:79
bool is_connected() const
Definition: ConditionalModifier.cpp:102
void set_start_step(unsigned)
Definition: ConditionalModifier.cpp:89
void set_connected(bool) const
Some constraints may modify global stiffness matrix so that it needs to be treated as an element whic...
Definition: ConditionalModifier.cpp:100
shared_ptr< Amplitude > magnitude
Definition: ConditionalModifier.h:55
A ConditionalModifier class.
Definition: ConditionalModifier.h:41
void set_initialized(bool) const
Definition: ConditionalModifier.cpp:85