29 #ifndef OOMPH_HOMOGENISED_LINEAR_ELASTICITY_ELEMENTS_HEADER
30 #define OOMPH_HOMOGENISED_LINEAR_ELASTICITY_ELEMENTS_HEADER
34 #include <oomph-lib-config.h>
73 unsigned n_node =
nnode();
79 for (
unsigned i=0;
i<3;
i++)
86 for(
unsigned l=0;l<n_node;l++)
95 const unsigned &
i)
const
98 unsigned n_node =
nnode();
108 double interpolated_u = 0.0;
110 for(
unsigned l=0;l<n_node;l++)
112 interpolated_u +=
nodal_value(l,u_nodal_index)*psi[l];
115 return(interpolated_u);
172 throw OomphLibError(
"Elasticity tensor function pointer not set\n",
198 "make_face_element not implemented",
230 template<
unsigned DIM>
263 residuals,jacobian,1);
277 void output(std::ostream &outfile,
const unsigned &n_plot);
288 void output(FILE* file_pt,
const unsigned &n_plot);
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
MatrixXf H
Definition: HessenbergDecomposition_matrixH.cpp:4
Definition: linear_elasticity/elasticity_tensor.h:55
Definition: elements.h:4338
Definition: elements.h:1313
double nodal_value(const unsigned &n, const unsigned &i) const
Definition: elements.h:2593
virtual void shape(const Vector< double > &s, Shape &psi) const =0
unsigned nnode() const
Return the number of nodes.
Definition: elements.h:2210
static DenseMatrix< double > Dummy_matrix
Definition: elements.h:227
Definition: homo_lin_elasticity_elements.h:54
virtual unsigned u_index_linear_elasticity(const unsigned i) const
Definition: homo_lin_elasticity_elements.h:64
void interpolated_u_linear_elasticity(const Vector< double > &s, Vector< double > &disp) const
Compute vector of FE interpolated displacement u at local coordinate s.
Definition: homo_lin_elasticity_elements.h:68
virtual FaceElement * make_face_element(const unsigned &s_fixed_index, const int &s_limit)
Definition: homo_lin_elasticity_elements.h:194
bool Unsteady
Flag that switches inertia on/off.
Definition: homo_lin_elasticity_elements.h:218
bool & unsteady()
Access function to flag that switches inertia on/off.
Definition: homo_lin_elasticity_elements.h:189
double interpolated_u_linear_elasticity(const Vector< double > &s, const unsigned &i) const
Return FE interpolated displacement u[i] at local coordinate s.
Definition: homo_lin_elasticity_elements.h:94
unsigned *& p_pt()
Access function for the pointer to the p value.
Definition: homo_lin_elasticity_elements.h:126
HomLinElasticityTensorFctPt elasticity_tensor_fct_pt() const
Definition: homo_lin_elasticity_elements.h:163
unsigned * P_pt
Pointer to the index P in the cell problem.
Definition: homo_lin_elasticity_elements.h:212
HomLinElasticityTensorFctPt Elasticity_tensor_fct_pt
Pointer to the elasticity tensor.
Definition: homo_lin_elasticity_elements.h:206
bool unsteady() const
Access function to flag that switches inertia on/off (const version)
Definition: homo_lin_elasticity_elements.h:192
double *& lambda_sq_pt()
Access function for pointer to timescale ratio (nondim density)
Definition: homo_lin_elasticity_elements.h:186
HomogenisedLinearElasticityEquationsBase()
Definition: homo_lin_elasticity_elements.h:121
unsigned * M_pt
Pointer to the index M in the cell problem.
Definition: homo_lin_elasticity_elements.h:215
HomLinElasticityTensorFctPt & elasticity_tensor_fct_pt()
Access function to set the function pointer for the elasticity tensor.
Definition: homo_lin_elasticity_elements.h:158
static double Default_lambda_sq_value
Static default value for timescale ratio (1.0 – for natural scaling)
Definition: homo_lin_elasticity_elements.h:221
unsigned get_m()
Get the value of m.
Definition: homo_lin_elasticity_elements.h:145
void get_E_pt(const Vector< double > &x, ElasticityTensor *&E_pt)
Definition: homo_lin_elasticity_elements.h:168
double * Lambda_sq_pt
Timescale ratio (non-dim. density)
Definition: homo_lin_elasticity_elements.h:209
const double & lambda_sq() const
Access function for timescale ratio (nondim density)
Definition: homo_lin_elasticity_elements.h:183
void(* HomLinElasticityTensorFctPt)(const Vector< double > &x, ElasticityTensor *&E_pt)
Function pointer to a return a pointer to an elasticity tensor.
Definition: homo_lin_elasticity_elements.h:58
unsigned get_p()
Get the value of p.
Definition: homo_lin_elasticity_elements.h:129
unsigned *& m_pt()
Access function for the pointer to the m value.
Definition: homo_lin_elasticity_elements.h:142
Definition: homo_lin_elasticity_elements.h:233
void fill_in_contribution_to_jacobian(Vector< double > &residuals, DenseMatrix< double > &jacobian)
Definition: homo_lin_elasticity_elements.h:258
void calculate_effective_modulus(DenseMatrix< double > &H)
Compute contribution to the effective modulus.
Definition: homo_lin_elasticity_elements.cc:210
virtual void fill_in_generic_contribution_to_residuals_linear_elasticity(Vector< double > &residuals, DenseMatrix< double > &jacobian, unsigned flag)
Definition: homo_lin_elasticity_elements.cc:47
unsigned required_nvalue(const unsigned &n) const
Always have three displacement components.
Definition: homo_lin_elasticity_elements.h:240
HomogenisedLinearElasticityEquations()
Constructor.
Definition: homo_lin_elasticity_elements.h:237
void output(std::ostream &outfile)
Output: x,y,[z],xi0,xi1,[xi2],gamma.
Definition: homo_lin_elasticity_elements.h:270
void fill_in_contribution_to_residuals(Vector< double > &residuals)
Definition: homo_lin_elasticity_elements.h:244
void output(FILE *file_pt)
C-style output: x,y,[z],xi0,xi1,[xi2],gamma.
Definition: homo_lin_elasticity_elements.h:281
Definition: oomph_definitions.h:222
RealScalar s
Definition: level1_cplx_impl.h:130
Vector< TimeHarmonicIsotropicElasticityTensor * > E_pt
The elasticity tensors for the two regions.
Definition: unstructured_acoustic_fsi.cc:135
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