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

///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// 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 215 of file two_d_unsteady_heat_ALE.cc.

Constructor & Destructor Documentation

◆ RefineableUnsteadyHeatProblem()

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

◆ ~RefineableUnsteadyHeatProblem()

template<class ELEMENT >
RefineableUnsteadyHeatProblem< ELEMENT >::~RefineableUnsteadyHeatProblem

Destructor: Close trace file.

Definition at line 476 of file two_d_unsteady_heat_ALE.cc.

Member Function Documentation

◆ actions_after_adapt()

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

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

Definition at line 541 of file two_d_unsteady_heat_ALE.cc.

References TanhSolnForUnsteadyHeat::prescribed_flux_on_fixed_y_boundary().

◆ actions_after_implicit_timestep()

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

Update the problem specs after timestep (empty)

Definition at line 234 of file two_d_unsteady_heat_ALE.cc.

◆ actions_after_newton_solve()

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

Update the problem specs after solve (empty)

Definition at line 228 of file two_d_unsteady_heat_ALE.cc.

◆ actions_before_adapt()

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

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

Definition at line 525 of file two_d_unsteady_heat_ALE.cc.

◆ actions_before_implicit_timestep()

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 489 of file two_d_unsteady_heat_ALE.cc.

References TanhSolnForUnsteadyHeat::get_exact_u().

◆ actions_before_newton_solve()

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

Update the problem specs before solve (empty)

Definition at line 231 of file two_d_unsteady_heat_ALE.cc.

◆ bulk_mesh_pt()

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

Pointer to bulk mesh.

Definition at line 272 of file two_d_unsteady_heat_ALE.cc.

Referenced by main().

◆ create_flux_elements()

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 853 of file two_d_unsteady_heat_ALE.cc.

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

◆ delete_flux_elements()

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 886 of file two_d_unsteady_heat_ALE.cc.

◆ doc_solution()

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

Doc the solution.

Definition at line 713 of file two_d_unsteady_heat_ALE.cc.

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

Referenced by main().

◆ dump_it()

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 909 of file two_d_unsteady_heat_ALE.cc.

◆ restart()

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

Read problem data for restart.

Read solution from disk.

Definition at line 924 of file two_d_unsteady_heat_ALE.cc.

◆ set_initial_condition()

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 571 of file two_d_unsteady_heat_ALE.cc.

References TanhSolnForUnsteadyHeat::get_exact_u().

Referenced by main().

Member Data Documentation

◆ Boundary_pt

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

Pointer to GeomObject that specifies the domain bondary.

Definition at line 281 of file two_d_unsteady_heat_ALE.cc.

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

◆ Bulk_mesh_pt

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

Pointer to the "bulk" mesh.

Definition at line 287 of file two_d_unsteady_heat_ALE.cc.

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

◆ Doc_info

template<class ELEMENT >
DocInfo RefineableUnsteadyHeatProblem< ELEMENT >::Doc_info
private

◆ Doc_node_pt

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

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

Definition at line 293 of file two_d_unsteady_heat_ALE.cc.

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

◆ Source_fct_pt

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

Pointer to source function.

Definition at line 284 of file two_d_unsteady_heat_ALE.cc.

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

◆ Surface_mesh_pt

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

Pointer to the "surface" mesh.

Definition at line 290 of file two_d_unsteady_heat_ALE.cc.

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

◆ Trace_file

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

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