Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
oomph::MyShellEquations< DIM, NNODE_1D > Class Template Referenceabstract
Inheritance diagram for oomph::MyShellEquations< DIM, NNODE_1D >:
oomph::BellShellElement< DIM, NNODE_1D >

Public Types

typedef void(* SourceFctPt) (const Vector< double > &x, const Vector< double > &unit_n, Vector< double > &f)
 Function pointer to source function fct(x,f(x)) – x is a Vector! More...
 
typedef void(* SourceFctGradientPt) (const Vector< double > &x, Vector< double > &gradient)
 Function pointer to gradient of source function fct(x,g(x)) – x is a Vector! More...
 

Public Member Functions

 MyShellEquations ()
 Constructor (must initialise the Source_fct_pt to null) More...
 
 MyShellEquations (const MyShellEquations &dummy)
 Broken copy constructor. More...
 
virtual unsigned u_index_shell () const
 Return the index at which the unknown value is stored. In derived multi-physics elements, this function should be overloaded to reflect the chosen storage scheme. Note that these equations require that the unknown is always stored at the same index at each node. More...
 
void output (std::ostream &outfile)
 Output with default number of plot points. More...
 
void output (std::ostream &outfile, const unsigned &n_plot)
 Output FE representation of soln: x,y,u or x,y,z,u at n_plot^DIM plot points. More...
 
void output (FILE *file_pt)
 C_style output with default number of plot points. More...
 
void output (FILE *file_pt, const unsigned &n_plot)
 C-style output FE representation of soln: x,y,u or x,y,z,u at n_plot^DIM plot points. More...
 
void output_fct (std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
 Output exact soln: x,y,u_exact or x,y,z,u_exact at n_plot^DIM plot points. More...
 
virtual void output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt)
 Output exact soln: x,y,u_exact or x,y,z,u_exact at n_plot^DIM plot points (dummy time-dependent version to keep intel compiler happy) More...
 
void compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm)
 Get error against and norm of exact solution. More...
 
void compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm)
 Dummy, time dependent error checker. More...
 
SourceFctPtsource_fct_pt ()
 Access function: Pointer to source function. More...
 
SourceFctPt source_fct_pt () const
 Access function: Pointer to source function. Const version. More...
 
SourceFctGradientPtsource_fct_gradient_pt ()
 Access function: Pointer to gradient of source function. More...
 
SourceFctGradientPt source_fct_gradient_pt () const
 Access function: Pointer to gradient source function. Const version. More...
 
GeomObject *& undeformed_midplane_pt ()
 Access function: Undeformed shell. More...
 
virtual void get_source_function (const unsigned &ipt, const Vector< double > &x, const Vector< double > &unit_n, Vector< double > &source) const
 
void fill_in_contribution_to_residuals (Vector< double > &residuals)
 Add the element's contribution to its residual vector (wrapper) More...
 
Vector< double > interpolated_u_shell (const Vector< double > &s) const
 Return FE representation of unknown value u(s) at local coordinate s. More...
 
unsigned self_test ()
 Self-test: Return 0 for OK. More...
 

Protected Member Functions

virtual double d2shape_and_d2test_eulerian_shell (const Vector< double > &s, Shape &psi, DShape &dpsidx, DShape &d2psidx, Shape &test, DShape &dtestdx, DShape &d2testdx) const =0
 Shape/test functions and derivs w.r.t. to global coords at local coord. s; return Jacobian of mapping. More...
 
virtual double dshape_and_dtest_eulerian_shell (const Vector< double > &s, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0
 
virtual double d2shape_and_d2test_eulerian_at_knot_shell (const unsigned &ipt, Shape &psi, DShape &dpsidx, DShape &d2psidx, Shape &test, DShape &dtestdx, DShape &d2testdx) const =0
 Shape/test functions and derivs w.r.t. to global coords at integration point ipt; return Jacobian of mapping. More...
 
virtual double dshape_and_dtest_eulerian_at_knot_shell (const unsigned &ipt, Shape &psi, DShape &dpsidx, Shape &test, DShape &dtestdx) const =0
 
virtual void fill_in_generic_residual_contribution_shell (Vector< double > &residuals, DenseMatrix< double > &jacobian, const unsigned &flag)
 Compute element residual Vector only (if flag=and/or element Jacobian matrix. More...
 

Protected Attributes

SourceFctPt Source_fct_pt
 Pointer to source function: More...
 
SourceFctGradientPt Source_fct_gradient_pt
 Pointer to gradient of source function. More...
 
GeomObject * Undeformed_midplane_pt
 Pointer to undeformed beam: More...
 
double * Sigma0_pt
 Pointer to axial prestress. More...
 
double * H_pt
 Pointer to wall thickness. More...
 
double * Lambda_sq_pt
 Pointer to Timescale ratio. More...
 

Detailed Description

template<unsigned DIM, unsigned NNODE_1D>
class oomph::MyShellEquations< DIM, NNODE_1D >

A class for all subparametric elements that solve the linear shell equations. This contains the generic maths. Shape functions, geometric mapping etc. must get implemented in derived class.

Definition at line 65 of file unstructured_clamped_curved_shell.cc.

Member Typedef Documentation

◆ SourceFctGradientPt

template<unsigned DIM, unsigned NNODE_1D>
typedef void(* oomph::MyShellEquations< DIM, NNODE_1D >::SourceFctGradientPt) (const Vector< double > &x, Vector< double > &gradient)

Function pointer to gradient of source function fct(x,g(x)) – x is a Vector!

Definition at line 77 of file unstructured_clamped_curved_shell.cc.

◆ SourceFctPt

template<unsigned DIM, unsigned NNODE_1D>
typedef void(* oomph::MyShellEquations< DIM, NNODE_1D >::SourceFctPt) (const Vector< double > &x, const Vector< double > &unit_n, Vector< double > &f)

Function pointer to source function fct(x,f(x)) – x is a Vector!

Definition at line 72 of file unstructured_clamped_curved_shell.cc.

Constructor & Destructor Documentation

◆ MyShellEquations() [1/2]

template<unsigned DIM, unsigned NNODE_1D>
oomph::MyShellEquations< DIM, NNODE_1D >::MyShellEquations ( )
inline

Constructor (must initialise the Source_fct_pt to null)

Definition at line 82 of file unstructured_clamped_curved_shell.cc.

◆ MyShellEquations() [2/2]

template<unsigned DIM, unsigned NNODE_1D>
oomph::MyShellEquations< DIM, NNODE_1D >::MyShellEquations ( const MyShellEquations< DIM, NNODE_1D > &  dummy)
inline

Broken copy constructor.

Definition at line 86 of file unstructured_clamped_curved_shell.cc.

Member Function Documentation

◆ compute_error() [1/2]

template<unsigned DIM, unsigned NNODE_1D>
void oomph::MyShellEquations< DIM, NNODE_1D >::compute_error ( std::ostream &  outfile,
FiniteElement::SteadyExactSolutionFctPt  exact_soln_pt,
double &  error,
double &  norm 
)

Get error against and norm of exact solution.

Validate against exact solution

Solution is provided via function pointer. Plot error at a given number of plot points.

Definition at line 1401 of file unstructured_clamped_curved_shell.cc.

◆ compute_error() [2/2]

template<unsigned DIM, unsigned NNODE_1D>
void oomph::MyShellEquations< DIM, NNODE_1D >::compute_error ( std::ostream &  outfile,
FiniteElement::UnsteadyExactSolutionFctPt  exact_soln_pt,
const double &  time,
double &  error,
double &  norm 
)
inline

Dummy, time dependent error checker.

Definition at line 146 of file unstructured_clamped_curved_shell.cc.

◆ d2shape_and_d2test_eulerian_at_knot_shell()

template<unsigned DIM, unsigned NNODE_1D>
virtual double oomph::MyShellEquations< DIM, NNODE_1D >::d2shape_and_d2test_eulerian_at_knot_shell ( const unsigned &  ipt,
Shape &  psi,
DShape &  dpsidx,
DShape &  d2psidx,
Shape &  test,
DShape &  dtestdx,
DShape &  d2testdx 
) const
protectedpure virtual

Shape/test functions and derivs w.r.t. to global coords at integration point ipt; return Jacobian of mapping.

Implemented in oomph::BellShellElement< DIM, NNODE_1D >.

◆ d2shape_and_d2test_eulerian_shell()

template<unsigned DIM, unsigned NNODE_1D>
virtual double oomph::MyShellEquations< DIM, NNODE_1D >::d2shape_and_d2test_eulerian_shell ( const Vector< double > &  s,
Shape &  psi,
DShape &  dpsidx,
DShape &  d2psidx,
Shape &  test,
DShape &  dtestdx,
DShape &  d2testdx 
) const
protectedpure virtual

Shape/test functions and derivs w.r.t. to global coords at local coord. s; return Jacobian of mapping.

Implemented in oomph::BellShellElement< DIM, NNODE_1D >.

◆ dshape_and_dtest_eulerian_at_knot_shell()

template<unsigned DIM, unsigned NNODE_1D>
virtual double oomph::MyShellEquations< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_shell ( const unsigned &  ipt,
Shape &  psi,
DShape &  dpsidx,
Shape &  test,
DShape &  dtestdx 
) const
protectedpure virtual

◆ dshape_and_dtest_eulerian_shell()

template<unsigned DIM, unsigned NNODE_1D>
virtual double oomph::MyShellEquations< DIM, NNODE_1D >::dshape_and_dtest_eulerian_shell ( const Vector< double > &  s,
Shape &  psi,
DShape &  dpsidx,
Shape &  test,
DShape &  dtestdx 
) const
protectedpure virtual

◆ fill_in_contribution_to_residuals()

template<unsigned DIM, unsigned NNODE_1D>
void oomph::MyShellEquations< DIM, NNODE_1D >::fill_in_contribution_to_residuals ( Vector< double > &  residuals)
inline

Add the element's contribution to its residual vector (wrapper)

Definition at line 198 of file unstructured_clamped_curved_shell.cc.

◆ fill_in_generic_residual_contribution_shell()

template<unsigned DIM, unsigned NNODE_1D>
void oomph::MyShellEquations< DIM, NNODE_1D >::fill_in_generic_residual_contribution_shell ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian,
const unsigned &  flag 
)
protectedvirtual

Compute element residual Vector only (if flag=and/or element Jacobian matrix.

initialise tensors to zero

compute the first derivative of a displacement in tangential and normal coordinate system

compute the second derivative of a displacement in tangential and normal coordinate system

find residuals for the first and second tangential directions

Definition at line 642 of file unstructured_clamped_curved_shell.cc.

◆ get_source_function()

template<unsigned DIM, unsigned NNODE_1D>
virtual void oomph::MyShellEquations< DIM, NNODE_1D >::get_source_function ( const unsigned &  ipt,
const Vector< double > &  x,
const Vector< double > &  unit_n,
Vector< double > &  source 
) const
inlinevirtual

Get source term at (Eulerian) position x. This function is virtual to allow overloading in multi-physics problems where the strength of the source function might be determined by another system of equations.

Definition at line 177 of file unstructured_clamped_curved_shell.cc.

◆ interpolated_u_shell()

template<unsigned DIM, unsigned NNODE_1D>
Vector<double> oomph::MyShellEquations< DIM, NNODE_1D >::interpolated_u_shell ( const Vector< double > &  s) const
inline

Return FE representation of unknown value u(s) at local coordinate s.

Add the element's contribution to its residual vector and element Jacobian matrix (wrapper)

initialise tensors to zero

compute displacement u in cartesian coordinate displacement component in y direction is identical with normal dirention

Definition at line 220 of file unstructured_clamped_curved_shell.cc.

◆ output() [1/4]

template<unsigned DIM, unsigned NNODE_1D>
void oomph::MyShellEquations< DIM, NNODE_1D >::output ( std::ostream &  outfile)
inline

Output with default number of plot points.

Definition at line 99 of file unstructured_clamped_curved_shell.cc.

◆ output() [2/4]

template<unsigned DIM, unsigned NNODE_1D>
void oomph::MyShellEquations< DIM, NNODE_1D >::output ( std::ostream &  outfile,
const unsigned &  nplot 
)

Output FE representation of soln: x,y,u or x,y,z,u at n_plot^DIM plot points.

Output function:

x,y,u or x,y,z,u

nplot points in each coordinate direction

Definition at line 1250 of file unstructured_clamped_curved_shell.cc.

◆ output() [3/4]

template<unsigned DIM, unsigned NNODE_1D>
void oomph::MyShellEquations< DIM, NNODE_1D >::output ( FILE *  file_pt)
inline

C_style output with default number of plot points.

Definition at line 110 of file unstructured_clamped_curved_shell.cc.

◆ output() [4/4]

template<unsigned DIM, unsigned NNODE_1D>
void oomph::MyShellEquations< DIM, NNODE_1D >::output ( FILE *  file_pt,
const unsigned &  nplot 
)

C-style output FE representation of soln: x,y,u or x,y,z,u at n_plot^DIM plot points.

C-style output function:

x,y,u or x,y,z,u

nplot points in each coordinate direction

Definition at line 1303 of file unstructured_clamped_curved_shell.cc.

◆ output_fct() [1/2]

template<unsigned DIM, unsigned NNODE_1D>
void oomph::MyShellEquations< DIM, NNODE_1D >::output_fct ( std::ostream &  outfile,
const unsigned &  nplot,
FiniteElement::SteadyExactSolutionFctPt  exact_soln_pt 
)

Output exact soln: x,y,u_exact or x,y,z,u_exact at n_plot^DIM plot points.

Output exact solution

Solution is provided via function pointer. Plot at a given number of plot points.

x,y,u_exact or x,y,z,u_exact

Definition at line 1343 of file unstructured_clamped_curved_shell.cc.

◆ output_fct() [2/2]

template<unsigned DIM, unsigned NNODE_1D>
virtual void oomph::MyShellEquations< DIM, NNODE_1D >::output_fct ( std::ostream &  outfile,
const unsigned &  n_plot,
const double &  time,
FiniteElement::UnsteadyExactSolutionFctPt  exact_soln_pt 
)
inlinevirtual

Output exact soln: x,y,u_exact or x,y,z,u_exact at n_plot^DIM plot points (dummy time-dependent version to keep intel compiler happy)

Reimplemented in oomph::BellShellElement< DIM, NNODE_1D >.

Definition at line 127 of file unstructured_clamped_curved_shell.cc.

◆ self_test()

template<unsigned DIM, unsigned NNODE_1D>
unsigned oomph::MyShellEquations< DIM, NNODE_1D >::self_test ( )

Self-test: Return 0 for OK.

Definition at line 1217 of file unstructured_clamped_curved_shell.cc.

◆ source_fct_gradient_pt() [1/2]

template<unsigned DIM, unsigned NNODE_1D>
SourceFctGradientPt& oomph::MyShellEquations< DIM, NNODE_1D >::source_fct_gradient_pt ( )
inline

Access function: Pointer to gradient of source function.

Definition at line 163 of file unstructured_clamped_curved_shell.cc.

◆ source_fct_gradient_pt() [2/2]

template<unsigned DIM, unsigned NNODE_1D>
SourceFctGradientPt oomph::MyShellEquations< DIM, NNODE_1D >::source_fct_gradient_pt ( ) const
inline

Access function: Pointer to gradient source function. Const version.

Definition at line 167 of file unstructured_clamped_curved_shell.cc.

◆ source_fct_pt() [1/2]

template<unsigned DIM, unsigned NNODE_1D>
SourceFctPt& oomph::MyShellEquations< DIM, NNODE_1D >::source_fct_pt ( )
inline

Access function: Pointer to source function.

Definition at line 157 of file unstructured_clamped_curved_shell.cc.

◆ source_fct_pt() [2/2]

template<unsigned DIM, unsigned NNODE_1D>
SourceFctPt oomph::MyShellEquations< DIM, NNODE_1D >::source_fct_pt ( ) const
inline

Access function: Pointer to source function. Const version.

Definition at line 160 of file unstructured_clamped_curved_shell.cc.

◆ u_index_shell()

template<unsigned DIM, unsigned NNODE_1D>
virtual unsigned oomph::MyShellEquations< DIM, NNODE_1D >::u_index_shell ( ) const
inlinevirtual

Return the index at which the unknown value is stored. In derived multi-physics elements, this function should be overloaded to reflect the chosen storage scheme. Note that these equations require that the unknown is always stored at the same index at each node.

Definition at line 96 of file unstructured_clamped_curved_shell.cc.

◆ undeformed_midplane_pt()

template<unsigned DIM, unsigned NNODE_1D>
GeomObject*& oomph::MyShellEquations< DIM, NNODE_1D >::undeformed_midplane_pt ( )
inline

Access function: Undeformed shell.

Definition at line 171 of file unstructured_clamped_curved_shell.cc.

Member Data Documentation

◆ H_pt

template<unsigned DIM, unsigned NNODE_1D>
double* oomph::MyShellEquations< DIM, NNODE_1D >::H_pt
protected

Pointer to wall thickness.

Definition at line 392 of file unstructured_clamped_curved_shell.cc.

◆ Lambda_sq_pt

template<unsigned DIM, unsigned NNODE_1D>
double* oomph::MyShellEquations< DIM, NNODE_1D >::Lambda_sq_pt
protected

Pointer to Timescale ratio.

Definition at line 395 of file unstructured_clamped_curved_shell.cc.

◆ Sigma0_pt

template<unsigned DIM, unsigned NNODE_1D>
double* oomph::MyShellEquations< DIM, NNODE_1D >::Sigma0_pt
protected

Pointer to axial prestress.

Definition at line 389 of file unstructured_clamped_curved_shell.cc.

◆ Source_fct_gradient_pt

template<unsigned DIM, unsigned NNODE_1D>
SourceFctGradientPt oomph::MyShellEquations< DIM, NNODE_1D >::Source_fct_gradient_pt
protected

Pointer to gradient of source function.

Definition at line 383 of file unstructured_clamped_curved_shell.cc.

◆ Source_fct_pt

template<unsigned DIM, unsigned NNODE_1D>
SourceFctPt oomph::MyShellEquations< DIM, NNODE_1D >::Source_fct_pt
protected

Pointer to source function:

Definition at line 380 of file unstructured_clamped_curved_shell.cc.

◆ Undeformed_midplane_pt

template<unsigned DIM, unsigned NNODE_1D>
GeomObject* oomph::MyShellEquations< DIM, NNODE_1D >::Undeformed_midplane_pt
protected

Pointer to undeformed beam:

Definition at line 386 of file unstructured_clamped_curved_shell.cc.


The documentation for this class was generated from the following file: