30 #ifndef OOMPH_PML_TIME_HARMONIC_ELASTICITY_TENSOR_HEADER
31 #define OOMPH_PML_TIME_HARMONIC_ELASTICITY_TENSOR_HEADER
35 #include <oomph-lib-config.h>
38 #include "../generic/oomph_utilities.h"
60 static const unsigned Index[3][3][3][3];
66 const unsigned&
i)
const
68 return std::complex<double>(0.0, 0.0);
79 const unsigned& l)
const
81 if ((
i > 2) || (
j > 2) || (
k > 2) || (l > 2))
83 std::ostringstream error_message;
86 error_message <<
"Range Error : Index 1 " <<
i
87 <<
" is not in the range (0,2)";
91 error_message <<
"Range Error : Index 2 " <<
j
92 <<
" is not in the range (0,2)";
97 error_message <<
"Range Error : Index 2 " <<
k
98 <<
" is not in the range (0,2)";
103 error_message <<
"Range Error : Index 4 " << l
104 <<
" is not in the range (0,2)";
128 const unsigned& l)
const
152 std::complex<double>
C[4];
171 C[0] = std::complex<double>(0.0, 0.0);
173 double mu =
E / (2.0 * (1.0 +
nu));
184 C[0] = std::complex<double>(0.0, 0.0);
189 double mu =
E / (2.0 * (1.0 +
nu));
207 C[0] = std::complex<double>(0.0, 0.0);
209 double mu =
E / (2.0 * (1.0 +
nu));
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: matrices.h:74
Definition: oomph_definitions.h:222
Definition: pml_time_harmonic_elasticity_tensor.h:57
static const unsigned Index[3][3][3][3]
Definition: pml_time_harmonic_elasticity_tensor.h:60
PMLTimeHarmonicElasticityTensor()
Empty Constructor.
Definition: pml_time_harmonic_elasticity_tensor.h:116
virtual ~PMLTimeHarmonicElasticityTensor()
Empty virtual Destructor.
Definition: pml_time_harmonic_elasticity_tensor.h:120
virtual std::complex< double > independent_component(const unsigned &i) const
Definition: pml_time_harmonic_elasticity_tensor.h:65
std::complex< double > operator()(const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l) const
Definition: pml_time_harmonic_elasticity_tensor.h:125
void range_check(const unsigned &i, const unsigned &j, const unsigned &k, const unsigned &l) const
Definition: pml_time_harmonic_elasticity_tensor.h:76
Definition: pml_time_harmonic_elasticity_tensor.h:150
PMLTimeHarmonicIsotropicElasticityTensor(const double &nu, const double &E)
Definition: pml_time_harmonic_elasticity_tensor.h:167
PMLTimeHarmonicIsotropicElasticityTensor(const double &nu)
Definition: pml_time_harmonic_elasticity_tensor.h:180
std::complex< double > independent_component(const unsigned &i) const
Overload the independent coefficient function.
Definition: pml_time_harmonic_elasticity_tensor.h:215
double Nu
Poisson's ratio.
Definition: pml_time_harmonic_elasticity_tensor.h:159
double nu() const
Poisson's ratio.
Definition: pml_time_harmonic_elasticity_tensor.h:194
void update_constitutive_parameters(const double &nu, const double &E=1.0)
Definition: pml_time_harmonic_elasticity_tensor.h:204
static const unsigned StaticIndex[21]
Translation scheme for the isotropic elasticity tensor.
Definition: pml_time_harmonic_elasticity_tensor.h:156
void set_lame_coefficients(const double &lambda, const double &mu)
Definition: pml_time_harmonic_elasticity_tensor.h:223
char char char int int * k
Definition: level2_impl.h:374
std::complex< double > mu
Definition: time_harmonic_fourier_decomposed_linear_elasticity/cylinder/cylinder.cc:52
double E
Elastic modulus.
Definition: TwenteMeshGluing.cpp:68
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2