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 and timestep. 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...
 
double global_temporal_error_norm ()
 Global error norm for adaptive time-stepping. More...
 
void set_initial_condition ()
 Set initial condition (incl previous timesteps) according to specified function. 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...
 
double & epsilon_t ()
 Target error for adaptive timestepping. More...
 
void write_trace_file_header ()
 Write header for trace file. More...
 
double & next_dt ()
 Suggestion for next timestep (stored to allow it to be written to (or read from) restart file) More...
 

Private Attributes

DocInfo Doc_info
 Doc info object. More...
 
double Next_dt
 Suggestion for next timestep (stored to allow it to be written to (or read from) restart file) More...
 
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...
 
ofstream Trace_file
 Trace file. More...
 
double Epsilon_t
 Target error for adaptive timestepping. 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_2adapt.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 480 of file two_d_unsteady_heat_2adapt.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 544 of file two_d_unsteady_heat_2adapt.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_2adapt.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_2adapt.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 528 of file two_d_unsteady_heat_2adapt.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 492 of file two_d_unsteady_heat_2adapt.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_2adapt.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_2adapt.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 906 of file two_d_unsteady_heat_2adapt.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 939 of file two_d_unsteady_heat_2adapt.cc.

◆ doc_solution()

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

Doc the solution.

Definition at line 764 of file two_d_unsteady_heat_2adapt.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 996 of file two_d_unsteady_heat_2adapt.cc.

◆ epsilon_t()

template<class ELEMENT >
double& RefineableUnsteadyHeatProblem< ELEMENT >::epsilon_t ( )
inline

Target error for adaptive timestepping.

Definition at line 278 of file two_d_unsteady_heat_2adapt.cc.

Referenced by main().

◆ global_temporal_error_norm()

template<class ELEMENT >
double RefineableUnsteadyHeatProblem< ELEMENT >::global_temporal_error_norm

Global error norm for adaptive time-stepping.

Global error norm for adaptive timestepping: RMS error, based on difference between predicted and actual value at all nodes.

Definition at line 963 of file two_d_unsteady_heat_2adapt.cc.

◆ next_dt()

template<class ELEMENT >
double& RefineableUnsteadyHeatProblem< ELEMENT >::next_dt ( )
inline

Suggestion for next timestep (stored to allow it to be written to (or read from) restart file)

Definition at line 285 of file two_d_unsteady_heat_2adapt.cc.

Referenced by main().

◆ restart()

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

Read problem data for restart.

Read solution from disk.

Definition at line 1014 of file two_d_unsteady_heat_2adapt.cc.

◆ set_initial_condition()

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

Set initial condition (incl previous timesteps) according to specified function.

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

Definition at line 574 of file two_d_unsteady_heat_2adapt.cc.

References TanhSolnForUnsteadyHeat::get_exact_u().

Referenced by main().

◆ write_trace_file_header()

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

Write header for trace file.

Write the tecplot header for the trace file.

Definition at line 723 of file two_d_unsteady_heat_2adapt.cc.

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 297 of file two_d_unsteady_heat_2adapt.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 303 of file two_d_unsteady_heat_2adapt.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 309 of file two_d_unsteady_heat_2adapt.cc.

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

◆ Epsilon_t

template<class ELEMENT >
double RefineableUnsteadyHeatProblem< ELEMENT >::Epsilon_t
private

Target error for adaptive timestepping.

Definition at line 315 of file two_d_unsteady_heat_2adapt.cc.

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

◆ Next_dt

template<class ELEMENT >
double RefineableUnsteadyHeatProblem< ELEMENT >::Next_dt
private

Suggestion for next timestep (stored to allow it to be written to (or read from) restart file)

Definition at line 294 of file two_d_unsteady_heat_2adapt.cc.

◆ Source_fct_pt

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

Pointer to source function.

Definition at line 300 of file two_d_unsteady_heat_2adapt.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 306 of file two_d_unsteady_heat_2adapt.cc.

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

◆ Trace_file

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

Trace file.

Definition at line 312 of file two_d_unsteady_heat_2adapt.cc.


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