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;
A ConditionalModifier class.
Definition ConditionalModifier.h:42
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:96
uvec dof_reference
Definition ConditionalModifier.h:53
void set_initialized(bool) const
Definition ConditionalModifier.cpp:81
const uvec & get_node_encoding() const
Definition ConditionalModifier.cpp:77
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:94
virtual int initialize(const shared_ptr< DomainBase > &)
Definition ConditionalModifier.cpp:58
void set_end_step(unsigned)
Definition ConditionalModifier.cpp:92
const bool initialized
Definition ConditionalModifier.h:44
bool is_connected() const
Definition ConditionalModifier.cpp:98
virtual void commit_status()
Definition ConditionalModifier.cpp:107
uvec get_all_nodal_active_dof(const shared_ptr< DomainBase > &)
Generate active DoF vector from all nodes in the model.
Definition ConditionalModifier.cpp:39
virtual void reset_status()
Definition ConditionalModifier.cpp:111
bool is_initialized() const
Definition ConditionalModifier.cpp:83
uvec dof_encoding
Definition ConditionalModifier.h:54
const uvec & get_dof_encoding() const
Definition ConditionalModifier.cpp:79
virtual void stage(const shared_ptr< DomainBase > &)
Some algorithms need to manually modify some variables after solving. Typical example is the predicto...
Definition ConditionalModifier.h:100
const bool connected
Definition ConditionalModifier.h:46
void set_start_step(unsigned)
Definition ConditionalModifier.cpp:85
ResourceHolder< Amplitude > amplitude
Definition ConditionalModifier.h:56
uvec get_nodal_active_dof(const shared_ptr< DomainBase > &)
Generate active DoF vector from assigned nodes.
Definition ConditionalModifier.cpp:25
virtual void clear_status()
Definition ConditionalModifier.cpp:109
uvec node_encoding
Definition ConditionalModifier.h:52
bool validate_step(const shared_ptr< DomainBase > &) const
Definition ConditionalModifier.cpp:100
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:75
unsigned get_start_step() const
Definition ConditionalModifier.cpp:90
const unsigned amplitude_tag
Definition ConditionalModifier.h:50
virtual void update_status(const vec &)
Definition ConditionalModifier.cpp:105
unsigned end_step
Definition ConditionalModifier.h:48
unsigned start_step
Definition ConditionalModifier.h:48
The DomainBase class is a template.
Definition DomainBase.h:102
Definition ResourceHolder.h:32