38 static constexpr unsigned max_iteration = 20u;
39 static constexpr double tolerance = 1
E-14;
42 Embed(
const unsigned T,
const unsigned ET,
const unsigned NT)
48 int initialize(
const shared_ptr<DomainBase>& D)
override {
57 vec normalised_coor(DIM, fill::zeros);
59 if(t_element->compute_shape_function(normalised_coor, 0).is_empty())
return SUANPAN_FAIL;
62 const auto node_coor = t_node->initial_position(DIM);
70 const vec incre = solve((t_element->compute_shape_function(normalised_coor, 1) * element_coor).t(), node_coor - ((
shape = t_element->compute_shape_function(normalised_coor, 0)) * element_coor).t());
72 normalised_coor += incre;
77 auto& node_dof = t_node->get_reordered_dof();
78 auto& element_dof = t_element->get_dof_encoding();
79 for(
auto K = 0u;
K < DIM; ++
K) {
87 int process(
const shared_ptr<DomainBase>& D)
override {
virtual int initialize(const shared_ptr< DomainBase > &)
Definition ConditionalModifier.cpp:85
uvec target_element
Definition ConditionalModifier.h:123
bool validate_element(const shared_ptr< DomainBase > &) const
Definition ConditionalModifier.cpp:40
uvec target_node
Definition ConditionalModifier.h:123
bool validate_node(const shared_ptr< DomainBase > &) const
Definition ConditionalModifier.cpp:25
A Constraint class.
Definition Constraint.h:36
sp_mat auxiliary_stiffness
Definition Constraint.h:48
vec auxiliary_resistance
Definition Constraint.h:46
A Element class.
Definition Element.h:118
A Embed class.
Definition Embed.h:37
int process(const shared_ptr< DomainBase > &D) override
Process and update both stiffness and resistance.
Definition Embed.h:87
Embed(const unsigned T, const unsigned ET, const unsigned NT)
Definition Embed.h:42
int initialize(const shared_ptr< DomainBase > &D) override
Definition Embed.h:48
The Node class holds the number of DoFs, coordinate, displacement, velocity and acceleration.
Definition Node.h:79
const vec & get_coordinate() const
Definition Node.cpp:103
Definition SparseMatMAGMA.hpp:43
enable_if2< is_arma_type< T1 >::value, typenameT1::pod_type >::result inf_norm(const T1 &X)
Definition suanPan.h:373
constexpr auto SUANPAN_SUCCESS
Definition suanPan.h:166
constexpr auto SUANPAN_FAIL
Definition suanPan.h:167