oomph::TemplateFreeUnsteadyHeatBaseFaceElement Class Reference

#include <heat_transfer_and_melt_elements.h>

+ Inheritance diagram for oomph::TemplateFreeUnsteadyHeatBaseFaceElement:

Public Types

typedef void(* UnsteadyHeatPrescribedFluxFctPt) (const double &time, const Vector< double > &x, const Vector< double > &n, const double &u, double &flux)
 

Public Member Functions

 TemplateFreeUnsteadyHeatBaseFaceElement ()
 Constructor. More...
 
virtual ~TemplateFreeUnsteadyHeatBaseFaceElement ()
 Destrutor. More...
 
UnsteadyHeatPrescribedFluxFctPtflux_fct_pt ()
 Access function for the prescribed-flux function pointer. More...
 

Protected Member Functions

virtual void get_flux (const unsigned &ipt, const double &time, const Vector< double > &x, const Vector< double > &n, const double &u, double &flux)
 

Protected Attributes

unsigned U_index_ust_heat
 Index at which temperature is stored. More...
 
unsigned Dim
 The spatial dimension of the problem. More...
 
UnsteadyHeatPrescribedFluxFctPt Flux_fct_pt
 Function pointer to the (global) prescribed-flux function. More...
 

Detailed Description

////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// Template free base class for face elements that involve all kinds of heat transfer operation. Used to store spatial dim of problem and the index at which the temperature is stored in the bulk element

Member Typedef Documentation

◆ UnsteadyHeatPrescribedFluxFctPt

typedef void(* oomph::TemplateFreeUnsteadyHeatBaseFaceElement::UnsteadyHeatPrescribedFluxFctPt) (const double &time, const Vector< double > &x, const Vector< double > &n, const double &u, double &flux)

Function pointer to the prescribed-flux function. Flux is allowed to depend on the spatial position, x, the outer unit normal, n, and the continuous time. We also allow a dependendence on actual local "temperature", u.

Constructor & Destructor Documentation

◆ TemplateFreeUnsteadyHeatBaseFaceElement()

oomph::TemplateFreeUnsteadyHeatBaseFaceElement::TemplateFreeUnsteadyHeatBaseFaceElement ( )
inline

Constructor.

139  : U_index_ust_heat(0),
140  Dim(0), Flux_fct_pt(0)
141  {}
UnsteadyHeatPrescribedFluxFctPt Flux_fct_pt
Function pointer to the (global) prescribed-flux function.
Definition: heat_transfer_and_melt_elements.h:185
unsigned U_index_ust_heat
Index at which temperature is stored.
Definition: heat_transfer_and_melt_elements.h:179
unsigned Dim
The spatial dimension of the problem.
Definition: heat_transfer_and_melt_elements.h:182

◆ ~TemplateFreeUnsteadyHeatBaseFaceElement()

virtual oomph::TemplateFreeUnsteadyHeatBaseFaceElement::~TemplateFreeUnsteadyHeatBaseFaceElement ( )
inlinevirtual

Destrutor.

144 {}

Member Function Documentation

◆ flux_fct_pt()

UnsteadyHeatPrescribedFluxFctPt& oomph::TemplateFreeUnsteadyHeatBaseFaceElement::flux_fct_pt ( )
inline

Access function for the prescribed-flux function pointer.

147 {return Flux_fct_pt;}

References Flux_fct_pt.

Referenced by MeltContactProblem< ELEMENT >::complete_problem_setup(), and UnsteadyHeatMeltProblem< ELEMENT >::complete_problem_setup().

◆ get_flux()

virtual void oomph::TemplateFreeUnsteadyHeatBaseFaceElement::get_flux ( const unsigned ipt,
const double time,
const Vector< double > &  x,
const Vector< double > &  n,
const double u,
double flux 
)
inlineprotectedvirtual

Function to calculate the prescribed flux at a given spatial position, x, the outer unit normal, n, and the continuous time. We also allow an explicit dependendence on the integration point, ipt, and the actual local "temperature", u, in anticipation of Stefan Boltzmann radiation. Virtual so it can be overloaded. Note that the potential dependence on u makes the problem potentially nonlinear – Jacobian is currently worked out by finite differencing.

Reimplemented in oomph::StefanBoltzmannUnsteadyHeatFluxElement< ELEMENT >.

165  {
166  //If the function pointer is zero return zero
167  if(Flux_fct_pt == 0)
168  {
169  flux=0.0;
170  }
171  //Otherwise call the function
172  else
173  {
174  (*Flux_fct_pt)(time,x,n,u,flux);
175  }
176  }
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
void flux(const double &time, const Vector< double > &x, double &flux)
Get flux applied along boundary x=0.
Definition: pretend_melt.cc:59
list x
Definition: plotDoE.py:28

References ProblemParameters::flux(), Flux_fct_pt, n, and plotDoE::x.

Referenced by oomph::UnsteadyHeatBaseFaceElement< ELEMENT >::output(), and oomph::SurfaceMeltElement< ELEMENT >::output_melt().

Member Data Documentation

◆ Dim

◆ Flux_fct_pt

UnsteadyHeatPrescribedFluxFctPt oomph::TemplateFreeUnsteadyHeatBaseFaceElement::Flux_fct_pt
protected

Function pointer to the (global) prescribed-flux function.

Referenced by flux_fct_pt(), get_flux(), and oomph::StefanBoltzmannUnsteadyHeatFluxElement< ELEMENT >::get_flux().

◆ U_index_ust_heat


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