27 #ifndef OOMPH_TPML_TIME_HARMONIC_LINEAR_ELASTICITY_ELEMENTS_HEADER
28 #define OOMPH_TPML_TIME_HARMONIC_LINEAR_ELASTICITY_ELEMENTS_HEADER
33 #include <oomph-lib-config.h>
38 #include "../generic/nodes.h"
39 #include "../generic/oomph_utilities.h"
40 #include "../generic/Telements.h"
41 #include "../generic/error_estimator.h"
62 template<
unsigned DIM,
unsigned NNODE_1D>
94 void output(std::ostream& outfile,
const unsigned& nplot)
107 void output(FILE* file_pt,
const unsigned& n_plot)
144 unsigned num_entries = 2 * (
DIM + ((
DIM *
DIM) -
DIM) / 2);
145 if (
flux.size() != num_entries)
147 std::ostringstream error_message;
148 error_message <<
"The flux vector has the wrong number of entries, "
149 <<
flux.size() <<
", whereas it should be " << num_entries
165 for (
unsigned i = 0;
i <
DIM;
i++)
167 flux[icount] = strain(
i,
i).real();
169 flux[icount] = strain(
i,
i).imag();
174 for (
unsigned i = 0;
i <
DIM;
i++)
176 for (
unsigned j =
i + 1;
j <
DIM;
j++)
178 flux[icount] = strain(
i,
j).real();
180 flux[icount] = strain(
i,
j).imag();
194 template<
unsigned DIM,
unsigned NNODE_1D>
196 :
public virtual TElement<DIM - 1, NNODE_1D>
208 template<
unsigned NNODE_1D>
229 template<
unsigned NNODE_1D>
248 template<
unsigned DIM,
unsigned NNODE_1D>
251 :
public virtual QElement<DIM - 1, NNODE_1D>
270 template<
unsigned NNODE_1D>
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Definition: matrices.h:386
Definition: error_estimator.h:79
FaceGeometry()
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:256
FaceGeometry()
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:215
FaceGeometry()
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:201
Definition: elements.h:4998
Definition: oomph_definitions.h:222
PMLLayerElement()
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:278
PMLLayerElement()
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:236
Definition: pml_meshes.h:48
void get_strain(const Vector< double > &s, DenseMatrix< std::complex< double >> &strain) const
Return the strain tensor.
Definition: pml_time_harmonic_linear_elasticity_elements.cc:49
Definition: pml_time_harmonic_linear_elasticity_elements.h:448
void output(std::ostream &outfile)
Output: x,y,[z],u_r,v_r,[w_r],u_i,v_i,[w_i].
Definition: pml_time_harmonic_linear_elasticity_elements.h:490
Definition: elements.h:3439
Time-harmonic linear elasticity upgraded to become projectable.
Definition: pml_time_harmonic_linear_elasticity_elements.h:714
Definition: Qelements.h:459
Definition: pml_time_harmonic_linear_elasticity_elements.h:585
Definition: Telements.h:1208
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:67
void output(std::ostream &outfile)
Output function:
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:88
void get_Z2_flux(const Vector< double > &s, Vector< double > &flux)
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:141
TPMLTimeHarmonicLinearElasticityElement(const TPMLTimeHarmonicLinearElasticityElement< DIM, NNODE_1D > &dummy)=delete
Broken copy constructor.
void output(std::ostream &outfile, const unsigned &nplot)
Output function:
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:94
void output(FILE *file_pt)
C-style output function:
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:101
unsigned nrecovery_order()
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:127
Node * vertex_node_pt(const unsigned &j) const
Pointer to the j-th vertex node in the element.
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:120
unsigned num_Z2_flux_terms()
Number of 'flux' terms for Z2 error estimation.
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:133
void output(FILE *file_pt, const unsigned &n_plot)
C-style output function:
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:107
void operator=(const TPMLTimeHarmonicLinearElasticityElement< DIM, NNODE_1D > &)=delete
Broken assignment operator.
unsigned nvertex_node() const
Number of vertex nodes in the element.
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:114
TPMLTimeHarmonicLinearElasticityElement()
Definition: Tpml_time_harmonic_linear_elasticity_elements.h:71
RealScalar s
Definition: level1_cplx_impl.h:130
#define DIM
Definition: linearised_navier_stokes_elements.h:44
void flux(const double &time, const Vector< double > &x, double &flux)
Get flux applied along boundary x=0.
Definition: pretend_melt.cc:59
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