Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
QThermalPVDElement< DIM > Class Template Reference

A class that solves the equations of steady thermoelasticity by combining the UnsteadyHeat and PVD equations into a single element. A temperature-dependent growth term is added to the PVD equations by overloading the member function get_istotropic_growth() More...

Inheritance diagram for QThermalPVDElement< DIM >:

Public Member Functions

 QThermalPVDElement ()
 Constructor: call the underlying constructors and initialise the pointer to Alpha to point to the default value of 1.0. More...
 
unsigned required_nvalue (const unsigned &n) const
 The required number of values stored at the nodes is the sum of the required values of the two single-physics elements. Note that this step is generic for any multi-physics element of this type. More...
 
const double & alpha () const
 Access function for the thermal expansion coefficient (const version) More...
 
double *& alpha_pt ()
 Access function for the pointer to the thermal expansion coefficientr. More...
 
void output (ostream &outfile)
 Overload the standard output function with the broken default. More...
 
void output (ostream &outfile, const unsigned &nplot)
 Output function:
Output x, y, u, v, p, theta at Nplot^DIM plot points. More...
 
void output (FILE *file_pt)
 C-style output function: Broken default. More...
 
void output (FILE *file_pt, const unsigned &n_plot)
 C-style output function: Broken default. More...
 
void output_fct (ostream &outfile, const unsigned &Nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
 Output function for an exact solution: Broken default. More...
 
void output_fct (ostream &outfile, const unsigned &Nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt)
 Output function for a time-dependent exact solution: Broken default. More...
 
void compute_norm (double &el_norm)
 Compute norm of solution: use the version in the unsteady heat class. More...
 
void compute_error (ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm)
 Validate against exact solution at given time Solution is provided via function pointer. Plot at a given number of plot points and compute L2 error and L2 norm of velocity solution over element Call the broken default. More...
 
void compute_error (ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm)
 Validate against exact solution. Solution is provided via function pointer. Plot at a given number of plot points and compute L2 error and L2 norm of velocity solution over element Call the broken default. More...
 
void get_isotropic_growth (const unsigned &ipt, const Vector< double > &s, const Vector< double > &xi, double &gamma) const
 Overload the growth function in the advection-diffusion equations. to be temperature-dependent. More...
 
void fill_in_contribution_to_residuals (Vector< double > &residuals)
 Calculate the contribution to the residual vector. We assume that the vector has been initialised to zero before this function is called. More...
 
void fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 Compute the element's residual Vector and the jacobian matrix We assume that the residuals vector and jacobian matrix have been initialised to zero before calling this function. More...
 

Private Member Functions

double Default_Physical_Constant_Value
 Set the default physical value to be one. More...
 

Private Attributes

double * Alpha_pt
 Pointer to a private data member, the thermal expansion coefficient. More...
 

Static Private Attributes

static double Default_Physical_Constant_Value
 The static default value of Alpha. More...
 

Detailed Description

template<unsigned DIM>
class QThermalPVDElement< DIM >

A class that solves the equations of steady thermoelasticity by combining the UnsteadyHeat and PVD equations into a single element. A temperature-dependent growth term is added to the PVD equations by overloading the member function get_istotropic_growth()

Definition at line 52 of file thermo.cc.

Constructor & Destructor Documentation

◆ QThermalPVDElement()

template<unsigned DIM>
QThermalPVDElement< DIM >::QThermalPVDElement ( )
inline

Constructor: call the underlying constructors and initialise the pointer to Alpha to point to the default value of 1.0.

Definition at line 67 of file thermo.cc.

Member Function Documentation

◆ alpha()

template<unsigned DIM>
const double& QThermalPVDElement< DIM >::alpha ( ) const
inline

Access function for the thermal expansion coefficient (const version)

Definition at line 81 of file thermo.cc.

◆ alpha_pt()

template<unsigned DIM>
double* & QThermalPVDElement< DIM >::alpha_pt ( )
inline

Access function for the pointer to the thermal expansion coefficientr.

Definition at line 84 of file thermo.cc.

◆ compute_error() [1/2]

template<unsigned DIM>
void QThermalPVDElement< DIM >::compute_error ( ostream &  outfile,
FiniteElement::SteadyExactSolutionFctPt  exact_soln_pt,
double &  error,
double &  norm 
)
inline

Validate against exact solution. Solution is provided via function pointer. Plot at a given number of plot points and compute L2 error and L2 norm of velocity solution over element Call the broken default.

Definition at line 174 of file thermo.cc.

◆ compute_error() [2/2]

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

Validate against exact solution at given time Solution is provided via function pointer. Plot at a given number of plot points and compute L2 error and L2 norm of velocity solution over element Call the broken default.

Definition at line 162 of file thermo.cc.

◆ compute_norm()

template<unsigned DIM>
void QThermalPVDElement< DIM >::compute_norm ( double &  el_norm)
inline

Compute norm of solution: use the version in the unsteady heat class.

Definition at line 152 of file thermo.cc.

◆ Default_Physical_Constant_Value()

double QThermalPVDElement< 2 >::Default_Physical_Constant_Value
private

Set the default physical value to be one.

Definition at line 219 of file thermo.cc.

◆ fill_in_contribution_to_jacobian()

template<unsigned DIM>
void QThermalPVDElement< DIM >::fill_in_contribution_to_jacobian ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian 
)
inline

Compute the element's residual Vector and the jacobian matrix We assume that the residuals vector and jacobian matrix have been initialised to zero before calling this function.

Definition at line 205 of file thermo.cc.

◆ fill_in_contribution_to_residuals()

template<unsigned DIM>
void QThermalPVDElement< DIM >::fill_in_contribution_to_residuals ( Vector< double > &  residuals)
inline

Calculate the contribution to the residual vector. We assume that the vector has been initialised to zero before this function is called.

Definition at line 192 of file thermo.cc.

◆ get_isotropic_growth()

template<unsigned DIM>
void QThermalPVDElement< DIM >::get_isotropic_growth ( const unsigned &  ipt,
const Vector< double > &  s,
const Vector< double > &  xi,
double &  gamma 
) const
inline

Overload the growth function in the advection-diffusion equations. to be temperature-dependent.

Definition at line 181 of file thermo.cc.

◆ output() [1/4]

template<unsigned DIM>
void QThermalPVDElement< DIM >::output ( FILE *  file_pt)
inline

C-style output function: Broken default.

Definition at line 125 of file thermo.cc.

◆ output() [2/4]

template<unsigned DIM>
void QThermalPVDElement< DIM >::output ( FILE *  file_pt,
const unsigned &  n_plot 
)
inline

C-style output function: Broken default.

Definition at line 129 of file thermo.cc.

◆ output() [3/4]

template<unsigned DIM>
void QThermalPVDElement< DIM >::output ( ostream &  outfile)
inline

Overload the standard output function with the broken default.

Definition at line 87 of file thermo.cc.

◆ output() [4/4]

template<unsigned DIM>
void QThermalPVDElement< DIM >::output ( ostream &  outfile,
const unsigned &  nplot 
)
inline

Output function:
Output x, y, u, v, p, theta at Nplot^DIM plot points.

Definition at line 92 of file thermo.cc.

◆ output_fct() [1/2]

template<unsigned DIM>
void QThermalPVDElement< DIM >::output_fct ( ostream &  outfile,
const unsigned &  Nplot,
const double &  time,
FiniteElement::UnsteadyExactSolutionFctPt  exact_soln_pt 
)
inline

Output function for a time-dependent exact solution: Broken default.

Definition at line 141 of file thermo.cc.

◆ output_fct() [2/2]

template<unsigned DIM>
void QThermalPVDElement< DIM >::output_fct ( ostream &  outfile,
const unsigned &  Nplot,
FiniteElement::SteadyExactSolutionFctPt  exact_soln_pt 
)
inline

Output function for an exact solution: Broken default.

Definition at line 133 of file thermo.cc.

◆ required_nvalue()

template<unsigned DIM>
unsigned QThermalPVDElement< DIM >::required_nvalue ( const unsigned &  n) const
inline

The required number of values stored at the nodes is the sum of the required values of the two single-physics elements. Note that this step is generic for any multi-physics element of this type.

Definition at line 76 of file thermo.cc.

Member Data Documentation

◆ Alpha_pt

template<unsigned DIM>
double* QThermalPVDElement< DIM >::Alpha_pt
private

Pointer to a private data member, the thermal expansion coefficient.

Definition at line 58 of file thermo.cc.

◆ Default_Physical_Constant_Value

template<unsigned DIM>
double QThermalPVDElement< DIM >::Default_Physical_Constant_Value
staticprivate

The static default value of Alpha.

Definition at line 61 of file thermo.cc.


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