33#ifndef CONDITIONALMODIFIER_H
34#define CONDITIONALMODIFIER_H
77 virtual int initialize(
const shared_ptr<DomainBase>&);
85 virtual int process(
const shared_ptr<DomainBase>&) = 0;
100 virtual void stage(
const shared_ptr<DomainBase>&) {}
122 [[nodiscard]]
bool validate_step(
const shared_ptr<DomainBase>&)
const;
An Amplitude class that can generate Amplitude pattern.
Definition: Amplitude.h:67
A ConditionalModifier class.
Definition: ConditionalModifier.h:41
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:98
uvec dof_reference
Definition: ConditionalModifier.h:52
void set_initialized(bool) const
Definition: ConditionalModifier.cpp:83
const uvec & get_node_encoding() const
Definition: ConditionalModifier.cpp:79
virtual int process(const shared_ptr< DomainBase > &)=0
This method provides all necessary pieces of typical constraints/loads required, including additional...
unsigned get_end_step() const
Definition: ConditionalModifier.cpp:96
virtual int initialize(const shared_ptr< DomainBase > &)
Definition: ConditionalModifier.cpp:56
void set_end_step(unsigned)
Definition: ConditionalModifier.cpp:94
const bool initialized
Definition: ConditionalModifier.h:43
bool is_connected() const
Definition: ConditionalModifier.cpp:100
virtual void commit_status()
Definition: ConditionalModifier.cpp:109
uvec get_all_nodal_active_dof(const shared_ptr< DomainBase > &)
Generate active DoF vector from all nodes in the model.
Definition: ConditionalModifier.cpp:37
ConditionalModifier(unsigned, unsigned, unsigned, uvec &&, uvec &&)
Definition: ConditionalModifier.cpp:49
virtual void reset_status()
Definition: ConditionalModifier.cpp:113
bool is_initialized() const
Definition: ConditionalModifier.cpp:85
uvec dof_encoding
Definition: ConditionalModifier.h:53
const uvec & get_dof_encoding() const
Definition: ConditionalModifier.cpp:81
virtual void stage(const shared_ptr< DomainBase > &)
Some algorithms needs to manually modify some variables after solving. Typical example is the predict...
Definition: ConditionalModifier.h:100
const bool connected
Definition: ConditionalModifier.h:45
void set_start_step(unsigned)
Definition: ConditionalModifier.cpp:87
uvec get_nodal_active_dof(const shared_ptr< DomainBase > &)
Generate active DoF vector from assigned nodes.
Definition: ConditionalModifier.cpp:24
virtual void clear_status()
Definition: ConditionalModifier.cpp:111
uvec node_encoding
Definition: ConditionalModifier.h:51
bool validate_step(const shared_ptr< DomainBase > &) const
Definition: ConditionalModifier.cpp:102
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
unsigned get_start_step() const
Definition: ConditionalModifier.cpp:92
const unsigned amplitude_tag
Definition: ConditionalModifier.h:49
shared_ptr< Amplitude > magnitude
Definition: ConditionalModifier.h:55
virtual void update_status(const vec &)
Definition: ConditionalModifier.cpp:107
unsigned end_step
Definition: ConditionalModifier.h:47
unsigned start_step
Definition: ConditionalModifier.h:47
The DomainBase class is a template.
Definition: DomainBase.h:104
A base Tag class.
Definition: Tag.h:38