Public Member Functions | Private Attributes | List of all members
RefineableUnsteadyHeatProblem< ELEMENT > Class Template Reference

Unsteady heat problem in deformable ellipse domain. More...

Inheritance diagram for RefineableUnsteadyHeatProblem< ELEMENT >:

Public Member Functions

 RefineableUnsteadyHeatProblem (UnsteadyHeatEquations< 2 >::UnsteadyHeatSourceFctPt source_fct_pt)
 Constructor: Pass pointer to source function. More...
 
 ~RefineableUnsteadyHeatProblem ()
 Destructor: Close trace file. More...
 
void actions_after_newton_solve ()
 Update the problem specs after solve (empty) More...
 
void actions_before_newton_solve ()
 Update the problem specs before solve (empty) More...
 
void actions_after_implicit_timestep ()
 Update the problem specs after timestep (empty) More...
 
void actions_before_implicit_timestep ()
 Update the problem specs before next timestep: Set Dirchlet boundary conditions from exact solution. More...
 
void actions_before_adapt ()
 Actions before adapt: Wipe the mesh of prescribed flux elements. More...
 
void actions_after_adapt ()
 Actions after adapt: Rebuild the mesh of prescribed flux elements. More...
 
void set_initial_condition ()
 Set initial condition (incl previous timesteps) according to specified function. Note that his overloads the virtual function in the Problem base class and is therefore executed automatically to re-assign the initial conditions during the spatially adaptive solution at the first timestep. More...
 
void create_flux_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &surface_mesh_pt)
 Create UnsteadyHeat flux elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the Mesh object pointed to by surface_mesh_pt. More...
 
void delete_flux_elements (Mesh *const &surface_mesh_pt)
 Delete UnsteadyHeat flux elements and wipe the surface mesh. More...
 
void doc_solution ()
 Doc the solution. More...
 
void dump_it (ofstream &dump_file)
 Dump problem data to allow for later restart. More...
 
void restart (ifstream &restart_file)
 Read problem data for restart. More...
 
RefineableQuarterCircleSectorMesh
< ELEMENT > * 
bulk_mesh_pt ()
 Pointer to bulk mesh. More...
 

Private Attributes

GeomObject * Boundary_pt
 Pointer to GeomObject that specifies the domain bondary. More...
 
UnsteadyHeatEquations
< 2 >::UnsteadyHeatSourceFctPt 
Source_fct_pt
 Pointer to source function. More...
 
RefineableQuarterCircleSectorMesh
< ELEMENT > * 
Bulk_mesh_pt
 Pointer to the "bulk" mesh. More...
 
Mesh * Surface_mesh_pt
 Pointer to the "surface" mesh. More...
 
Node * Doc_node_pt
 Pointer to central node (exists at all refinement levels) for doc. More...
 
DocInfo Doc_info
 Doc info object. More...
 
ofstream Trace_file
 Trace file. More...
 

Detailed Description

template<class ELEMENT>
class RefineableUnsteadyHeatProblem< ELEMENT >

Unsteady heat problem in deformable ellipse domain.

Definition at line 219 of file two_d_unsteady_heat_ALE.cc.

Constructor & Destructor Documentation

template<class ELEMENT >
RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem ( UnsteadyHeatEquations< 2 >::UnsteadyHeatSourceFctPt  source_fct_pt)
template<class ELEMENT >
RefineableUnsteadyHeatProblem< ELEMENT >::~RefineableUnsteadyHeatProblem ( )

Destructor: Close trace file.

Definition at line 480 of file two_d_unsteady_heat_ALE.cc.

Member Function Documentation

template<class ELEMENT >
void RefineableUnsteadyHeatProblem< ELEMENT >::actions_after_adapt ( )

Actions after adapt: Rebuild the mesh of prescribed flux elements.

Definition at line 545 of file two_d_unsteady_heat_ALE.cc.

References TanhSolnForUnsteadyHeat::prescribed_flux_on_fixed_y_boundary().

template<class ELEMENT>
void RefineableUnsteadyHeatProblem< ELEMENT >::actions_after_implicit_timestep ( )
inline

Update the problem specs after timestep (empty)

Definition at line 238 of file two_d_unsteady_heat_ALE.cc.

template<class ELEMENT>
void RefineableUnsteadyHeatProblem< ELEMENT >::actions_after_newton_solve ( )
inline

Update the problem specs after solve (empty)

Definition at line 232 of file two_d_unsteady_heat_ALE.cc.

template<class ELEMENT >
void RefineableUnsteadyHeatProblem< ELEMENT >::actions_before_adapt ( )

Actions before adapt: Wipe the mesh of prescribed flux elements.

Definition at line 529 of file two_d_unsteady_heat_ALE.cc.

template<class ELEMENT >
void RefineableUnsteadyHeatProblem< ELEMENT >::actions_before_implicit_timestep ( )

Update the problem specs before next timestep: Set Dirchlet boundary conditions from exact solution.

Actions before timestep: Update the domain shape, then set the boundary conditions for the current time.

Definition at line 493 of file two_d_unsteady_heat_ALE.cc.

References TanhSolnForUnsteadyHeat::get_exact_u().

template<class ELEMENT>
void RefineableUnsteadyHeatProblem< ELEMENT >::actions_before_newton_solve ( )
inline

Update the problem specs before solve (empty)

Definition at line 235 of file two_d_unsteady_heat_ALE.cc.

template<class ELEMENT>
RefineableQuarterCircleSectorMesh<ELEMENT>* RefineableUnsteadyHeatProblem< ELEMENT >::bulk_mesh_pt ( )
inline

Pointer to bulk mesh.

Definition at line 276 of file two_d_unsteady_heat_ALE.cc.

Referenced by main().

template<class ELEMENT >
void RefineableUnsteadyHeatProblem< ELEMENT >::create_flux_elements ( const unsigned &  b,
Mesh *const &  bulk_mesh_pt,
Mesh *const &  surface_mesh_pt 
)

Create UnsteadyHeat flux elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the Mesh object pointed to by surface_mesh_pt.

Create UnsteadyHeat Flux Elements on the b-th boundary of the Mesh object pointed to by bulk_mesh_pt and add the elements to the Mesh object pointed to by surface_mesh_pt.

Definition at line 858 of file two_d_unsteady_heat_ALE.cc.

Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().

template<class ELEMENT >
void RefineableUnsteadyHeatProblem< ELEMENT >::delete_flux_elements ( Mesh *const &  surface_mesh_pt)

Delete UnsteadyHeat flux elements and wipe the surface mesh.

Delete UnsteadyHeat Flux Elements and wipe the surface mesh.

Definition at line 891 of file two_d_unsteady_heat_ALE.cc.

template<class ELEMENT >
void RefineableUnsteadyHeatProblem< ELEMENT >::doc_solution ( )

Doc the solution.

Definition at line 717 of file two_d_unsteady_heat_ALE.cc.

References TanhSolnForUnsteadyHeat::get_exact_u(), and TanhSolnForUnsteadyHeat::step_position().

Referenced by main().

template<class ELEMENT >
void RefineableUnsteadyHeatProblem< ELEMENT >::dump_it ( ofstream &  dump_file)

Dump problem data to allow for later restart.

Dump the solution to disk.

Definition at line 913 of file two_d_unsteady_heat_ALE.cc.

template<class ELEMENT >
void RefineableUnsteadyHeatProblem< ELEMENT >::restart ( ifstream &  restart_file)

Read problem data for restart.

Read solution from disk.

Definition at line 928 of file two_d_unsteady_heat_ALE.cc.

template<class ELEMENT >
void RefineableUnsteadyHeatProblem< ELEMENT >::set_initial_condition ( )

Set initial condition (incl previous timesteps) according to specified function. Note that his overloads the virtual function in the Problem base class and is therefore executed automatically to re-assign the initial conditions during the spatially adaptive solution at the first timestep.

Set initial condition: Assign previous and current values from exact solution.

Definition at line 575 of file two_d_unsteady_heat_ALE.cc.

References TanhSolnForUnsteadyHeat::get_exact_u().

Referenced by main().

Member Data Documentation

template<class ELEMENT>
GeomObject* RefineableUnsteadyHeatProblem< ELEMENT >::Boundary_pt
private

Pointer to GeomObject that specifies the domain bondary.

Definition at line 285 of file two_d_unsteady_heat_ALE.cc.

Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().

template<class ELEMENT>
RefineableQuarterCircleSectorMesh<ELEMENT>* RefineableUnsteadyHeatProblem< ELEMENT >::Bulk_mesh_pt
private

Pointer to the "bulk" mesh.

Definition at line 291 of file two_d_unsteady_heat_ALE.cc.

Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().

template<class ELEMENT>
DocInfo RefineableUnsteadyHeatProblem< ELEMENT >::Doc_info
private
template<class ELEMENT>
Node* RefineableUnsteadyHeatProblem< ELEMENT >::Doc_node_pt
private

Pointer to central node (exists at all refinement levels) for doc.

Definition at line 297 of file two_d_unsteady_heat_ALE.cc.

Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().

template<class ELEMENT>
UnsteadyHeatEquations<2>::UnsteadyHeatSourceFctPt RefineableUnsteadyHeatProblem< ELEMENT >::Source_fct_pt
private

Pointer to source function.

Definition at line 288 of file two_d_unsteady_heat_ALE.cc.

Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().

template<class ELEMENT>
Mesh* RefineableUnsteadyHeatProblem< ELEMENT >::Surface_mesh_pt
private

Pointer to the "surface" mesh.

Definition at line 294 of file two_d_unsteady_heat_ALE.cc.

Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().

template<class ELEMENT>
ofstream RefineableUnsteadyHeatProblem< ELEMENT >::Trace_file
private

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