5 #ifndef NODE_ELEMENT_CONSTRAINT_ELEMENTS_HEADER
6 #define NODE_ELEMENT_CONSTRAINT_ELEMENTS_HEADER
55 for(
unsigned i=0;
i<
Dim;
i++)
58 for(
unsigned l=0; l<n_node; l++)
84 for(
unsigned i=0;
i<
Dim;
i++)
99 for(
unsigned l=0;l<n_node;l++)
102 element_node_eqn[l] =
ext_eqn(1+l,
i);
112 residuals[lambda_eqn] += (x_node - x_elem);
117 jacobian(lambda_eqn, node_eqn) += 1.0;
119 for(
unsigned l=0;l<n_node;l++)
121 if(element_node_eqn[l]>=0)
123 jacobian(lambda_eqn, element_node_eqn[l]) -= psi[l];
132 residuals[node_eqn] +=
lambda;
137 jacobian(node_eqn, lambda_eqn) += 1.0;
143 for(
unsigned l=0;l<n_node;l++)
145 if(element_node_eqn[l]>=0)
147 residuals[element_node_eqn[l]] -=
lambda*psi[l];
152 jacobian(element_node_eqn[l], lambda_eqn) -= psi[l];
164 const unsigned n_node_element = elem_pt->
nnode();
167 for(
unsigned i=0;
i<n_node_element;
i++)
int i
Definition: BiCGSTAB_step_by_step.cpp:9
cout<< "The eigenvalues of A are:"<< endl<< ces.eigenvalues()<< endl;cout<< "The matrix of eigenvectors, V, is:"<< endl<< ces.eigenvectors()<< endl<< endl;complex< float > lambda
Definition: ComplexEigenSolver_compute.cpp:9
Definition: constraint_elements.h:82
unsigned Num_Constraints
Definition: constraint_elements.h:180
Data * lagrange_multiplier()
Definition: constraint_elements.h:131
const int lagrange_eqn(const unsigned &i)
Definition: constraint_elements.h:135
unsigned Lagrange_Multiplier_Index
Definition: constraint_elements.h:178
const int ext_eqn(const unsigned &i, const unsigned &j)
Definition: constraint_elements.h:160
Data * ext_data_pt(const unsigned &i)
Definition: constraint_elements.h:148
double value(const unsigned &i) const
Definition: nodes.h:293
Definition: elements.h:1313
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
Definition: elements.h:2175
virtual void shape(const Vector< double > &s, Shape &psi) const =0
unsigned dim() const
Definition: elements.h:2611
unsigned nnode() const
Return the number of nodes.
Definition: elements.h:2210
static DenseMatrix< double > Dummy_matrix
Definition: elements.h:227
unsigned add_internal_data(Data *const &data_pt, const bool &fd=true)
Definition: elements.cc:62
Definition: node_element_constraint_elements.h:16
Vector< double > Local_Coord
Definition: node_element_constraint_elements.h:175
unsigned Dim
Definition: node_element_constraint_elements.h:178
static Vector< Data * > node_and_vector_to_data_pt(SolidNode *node_pt, FiniteElement *elem_pt)
Definition: node_element_constraint_elements.h:162
SolidNode * solid_node_pt()
Definition: node_element_constraint_elements.h:67
FiniteElement * Element_pt
Definition: node_element_constraint_elements.h:177
void position_in_element(Vector< double > &x)
Definition: node_element_constraint_elements.h:45
NodeElementSolidOnlyMortaringElement(SolidNode *node_pt, FiniteElement *elem_pt, Vector< double > &s)
Definition: node_element_constraint_elements.h:18
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian) override
Definition: node_element_constraint_elements.h:40
void fill_in_contribution_to_residuals(Vector< double > &residuals) override
Definition: node_element_constraint_elements.h:36
SolidNode * Node_pt
Definition: node_element_constraint_elements.h:176
void fill_in_contribution_to_jacobian_mortared_nodes(Vector< double > &residuals, DenseMatrix< double > &jacobian, const bool &flag)
Definition: node_element_constraint_elements.h:74
Definition: oomph_definitions.h:222
Data *const & variable_position_pt() const
Pointer to variable_position data (const version)
Definition: nodes.h:1765
RealScalar s
Definition: level1_cplx_impl.h:130
std::string to_string(T object, unsigned float_precision=8)
Definition: oomph_utilities.h:189
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
list x
Definition: plotDoE.py:28
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86