51 int initialize(
const shared_ptr<DomainBase>& D)
override {
65 int process(
const shared_ptr<DomainBase>& D)
override {
66 auto& W = D->get_factory();
70 const vec t_disp = W->get_trial_displacement()(dof_j) - W->get_trial_displacement()(dof_i);
71 const vec t_chord = initial_chord + t_disp;
95 for(
auto I = 0u; I < DIM; ++I) {
161 Sleeve(
const unsigned T,
const double M1,
const double M2,
uvec&&
N)
175 const double max_force;
177 bool trial_flag =
false, current_flag =
false;
184 int process(
const shared_ptr<DomainBase>& D)
override {
195 vec nodal_resistance(DIM);
198 if(norm(nodal_resistance) > max_force) {
207 current_flag = trial_flag;
212 current_flag = trial_flag =
false;
217 trial_flag = current_flag;
virtual int initialize(const shared_ptr< DomainBase > &)
Definition ConditionalModifier.cpp:85
uvec target_node
Definition ConditionalModifier.h:123
uvec collect_node_dof(const shared_ptr< DomainBase > &) const
Definition ConditionalModifier.cpp:55
uvec target_dof
Definition ConditionalModifier.h:123
bool validate_node(const shared_ptr< DomainBase > &) const
Definition ConditionalModifier.cpp:25
A Constraint class.
Definition Constraint.h:36
unsigned lagrangian_size
Definition Constraint.h:38
sp_mat stiffness
Definition Constraint.h:44
sp_vec resistance
Definition Constraint.h:43
vec current_lambda
Definition Constraint.h:41
vec trial_lambda
Definition Constraint.h:40
sp_mat auxiliary_stiffness
Definition Constraint.h:48
vec auxiliary_load
Definition Constraint.h:47
void set_multiplier_size(unsigned)
Definition Constraint.cpp:34
vec auxiliary_resistance
Definition Constraint.h:46
A FixedLength class.
Definition FixedLength.h:40
int process(const shared_ptr< DomainBase > &D) override
Process and update both stiffness and resistance.
Definition FixedLength.h:65
bool max_bound
Definition FixedLength.h:44
double max_gap
Definition FixedLength.h:45
int initialize(const shared_ptr< DomainBase > &D) override
Definition FixedLength.h:51
bool min_bound
Definition FixedLength.h:44
double min_gap
Definition FixedLength.h:45
void commit_status() override
Definition FixedLength.h:113
void update_status(const vec &incre_lambda) override
Definition FixedLength.h:111
FixedLength(const unsigned T, uvec &&N)
Definition FixedLength.h:48
void clear_status() override
Definition FixedLength.h:118
bool is_connected() const override
Indicate if this modifier can be deemed as an element that needs to account for connectivity.
Definition FixedLength.h:109
void reset_status() override
Definition FixedLength.h:123
A MaxForce class.
Definition FixedLength.h:174
void commit_status() override
Definition FixedLength.h:206
int process(const shared_ptr< DomainBase > &D) override
Process and update both stiffness and resistance.
Definition FixedLength.h:184
MaxForce(const unsigned T, const double MF, uvec &&N)
Definition FixedLength.h:180
void clear_status() override
Definition FixedLength.h:211
void reset_status() override
Definition FixedLength.h:216
A MaximumGap class.
Definition FixedLength.h:146
MaximumGap(const unsigned T, const double M, uvec &&N)
Definition FixedLength.h:148
A MinimumGap class.
Definition FixedLength.h:133
MinimumGap(const unsigned T, const double M, uvec &&N)
Definition FixedLength.h:135
The Node class holds the number of DoFs, coordinate, displacement, velocity and acceleration.
Definition Node.h:79
A Sleeve class.
Definition FixedLength.h:159
Sleeve(const unsigned T, const double M1, const double M2, uvec &&N)
Definition FixedLength.h:161
Definition SparseMatMAGMA.hpp:43
constexpr auto SUANPAN_SUCCESS
Definition suanPan.h:166
constexpr auto SUANPAN_FAIL
Definition suanPan.h:167