27 #ifndef OOMPH_TFOEPPLVONKARMAN_DISPLACEMENT_ELEMENTS_HEADER
28 #define OOMPH_TFOEPPLVONKARMAN_DISPLACEMENT_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"
66 template<
unsigned NNODE_1D>
68 :
public virtual TElement<2, NNODE_1D>,
125 std::list<std::pair<unsigned long, unsigned>>& dof_lookup_list)
const
128 const unsigned n_node = this->
nnode();
131 std::pair<unsigned, unsigned> dof_lookup;
134 for (
unsigned n = 0;
n < n_node;
n++)
148 dof_lookup.first = this->
eqn_number(local_eqn_number);
151 dof_lookup.second = 2;
154 dof_lookup_list.push_front(dof_lookup);
169 dof_lookup.first = this->
eqn_number(local_eqn_number);
174 dof_lookup.second = 1;
179 dof_lookup.second = 0;
183 dof_lookup_list.push_front(dof_lookup);
198 dof_lookup.first = this->
eqn_number(local_eqn_number);
201 dof_lookup.second = 3;
204 dof_lookup_list.push_front(dof_lookup);
219 dof_lookup.first = this->
eqn_number(local_eqn_number);
222 dof_lookup.second = 4;
225 dof_lookup_list.push_front(dof_lookup);
240 void output(std::ostream& outfile,
const unsigned& n_plot)
256 void output(FILE* file_pt,
const unsigned& n_plot)
265 const unsigned& n_plot,
269 outfile, n_plot, exact_soln_pt);
276 const unsigned& n_plot,
281 outfile, n_plot, time, exact_soln_pt);
306 return (NNODE_1D - 1);
348 template<
unsigned NNODE_1D>
356 unsigned n_node = this->nnode();
359 double J = this->dshape_eulerian(
s, psi, dpsidx);
363 for (
unsigned i = 0;
i < n_node;
i++)
366 dtestdx(
i, 0) = dpsidx(
i, 0);
367 dtestdx(
i, 1) = dpsidx(
i, 1);
381 template<
unsigned NNODE_1D>
383 NNODE_1D>::dshape_and_dtest_eulerian_at_knot_fvk(
const unsigned& ipt,
390 double J = this->dshape_eulerian_at_knot(ipt, psi, dpsidx);
407 template<
unsigned NNODE_1D>
409 :
public virtual TElement<1, NNODE_1D>
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
JacobiRotation< float > J
Definition: Jacobi_makeJacobi.cpp:3
Definition: displacement_based_foeppl_von_karman_elements.h:55
void output_fct(std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
Output exact soln: x,y,w_exact at n_plot^DIM plot points.
Definition: displacement_based_foeppl_von_karman_elements.cc:176
void output(std::ostream &outfile)
Output with default number of plot points.
Definition: displacement_based_foeppl_von_karman_elements.h:130
void get_gradient_of_deflection(const Vector< double > &s, Vector< double > &gradient) const
Get gradient of deflection: gradient[i] = dw/dx_i.
Definition: displacement_based_foeppl_von_karman_elements.h:256
Definition: error_estimator.h:79
FaceGeometry()
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:414
Definition: elements.h:4998
Node *& node_pt(const unsigned &n)
Return a pointer to the local node n.
Definition: elements.h:2175
int nodal_local_eqn(const unsigned &n, const unsigned &i) const
Definition: elements.h:1432
unsigned nnode() const
Return the number of nodes.
Definition: elements.h:2210
void(* SteadyExactSolutionFctPt)(const Vector< double > &, Vector< double > &)
Definition: elements.h:1759
void(* UnsteadyExactSolutionFctPt)(const double &, const Vector< double > &, Vector< double > &)
Definition: elements.h:1765
unsigned long eqn_number(const unsigned &ieqn_local) const
Definition: elements.h:704
int local_eqn_number(const unsigned long &ieqn_global) const
Definition: elements.h:726
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:71
void operator=(const TDisplacementBasedFoepplvonKarmanElement< NNODE_1D > &)=delete
Broken assignment operator.
TDisplacementBasedFoepplvonKarmanElement()
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:75
void output(FILE *file_pt, const unsigned &n_plot)
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:256
unsigned num_Z2_flux_terms()
Number of 'flux' terms for Z2 error estimation.
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:310
void output(std::ostream &outfile)
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:233
double dshape_and_dtest_eulerian_fvk(const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:350
static const unsigned Initial_Nvalue
Static unsigned that holds the (same) number of variables at every node.
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:335
void output(FILE *file_pt)
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:248
unsigned required_nvalue(const unsigned &n) const
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:91
unsigned ndof_types() const
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:98
unsigned nvertex_node() const
Number of vertex nodes in the element.
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:322
void get_Z2_flux(const Vector< double > &s, Vector< double > &flux)
Get 'flux' for Z2 error recovery: Standard flux.from FvK equations.
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:316
void output_fct(std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:264
void output(std::ostream &outfile, const unsigned &n_plot)
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:240
Node * vertex_node_pt(const unsigned &j) const
Pointer to the j-th vertex node in the element.
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:328
double dshape_and_dtest_eulerian_at_knot_fvk(const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:383
TDisplacementBasedFoepplvonKarmanElement(const TDisplacementBasedFoepplvonKarmanElement< NNODE_1D > &dummy)=delete
Broken copy constructor.
void output_fct(std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt)
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:275
void get_dof_numbers_for_unknowns(std::list< std::pair< unsigned long, unsigned >> &dof_lookup_list) const
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:124
unsigned nrecovery_order()
Definition: Tdisplacement_based_foeppl_von_karman_elements.h:304
Definition: Telements.h:1208
RealScalar s
Definition: level1_cplx_impl.h:130
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
Definition: indexed_view.cpp:20
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2