Unsteady heat problem in quarter circle domain. More...
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... | |
Unsteady heat problem in quarter circle domain.
Definition at line 191 of file two_d_unsteady_heat_adapt.cc.
RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem | ( | UnsteadyHeatEquations< 2 >::UnsteadyHeatSourceFctPt | source_fct_pt | ) |
Constructor: Pass pointer to source function.
Constructor for UnsteadyHeat problem in quarter circle domain. Pass pointer to source function.
Definition at line 284 of file two_d_unsteady_heat_adapt.cc.
References TanhSolnForUnsteadyHeat::Alpha, TanhSolnForUnsteadyHeat::Beta, RefineableUnsteadyHeatProblem< ELEMENT >::Boundary_pt, RefineableUnsteadyHeatProblem< ELEMENT >::Bulk_mesh_pt, RefineableUnsteadyHeatProblem< ELEMENT >::create_flux_elements(), RefineableUnsteadyHeatProblem< ELEMENT >::Doc_info, RefineableUnsteadyHeatProblem< ELEMENT >::Doc_node_pt, TanhSolnForUnsteadyHeat::Gamma, TanhSolnForUnsteadyHeat::prescribed_flux_on_fixed_y_boundary(), RefineableUnsteadyHeatProblem< ELEMENT >::Source_fct_pt, RefineableUnsteadyHeatProblem< ELEMENT >::Surface_mesh_pt, TanhSolnForUnsteadyHeat::TanPhi, and RefineableUnsteadyHeatProblem< ELEMENT >::Trace_file.
RefineableUnsteadyHeatProblem< ELEMENT >::~RefineableUnsteadyHeatProblem | ( | ) |
Destructor: Close trace file.
Definition at line 439 of file two_d_unsteady_heat_adapt.cc.
References RefineableUnsteadyHeatProblem< ELEMENT >::Trace_file.
void RefineableUnsteadyHeatProblem< ELEMENT >::actions_after_adapt | ( | ) |
Actions after adapt: Rebuild the mesh of prescribed flux elements.
Definition at line 500 of file two_d_unsteady_heat_adapt.cc.
References RefineableUnsteadyHeatProblem< ELEMENT >::Bulk_mesh_pt, RefineableUnsteadyHeatProblem< ELEMENT >::create_flux_elements(), TanhSolnForUnsteadyHeat::prescribed_flux_on_fixed_y_boundary(), and RefineableUnsteadyHeatProblem< ELEMENT >::Surface_mesh_pt.
|
inline |
Update the problem specs after timestep (empty)
Definition at line 210 of file two_d_unsteady_heat_adapt.cc.
|
inline |
Update the problem specs after solve (empty)
Definition at line 204 of file two_d_unsteady_heat_adapt.cc.
void RefineableUnsteadyHeatProblem< ELEMENT >::actions_before_adapt | ( | ) |
Actions before adapt: Wipe the mesh of prescribed flux elements.
Definition at line 484 of file two_d_unsteady_heat_adapt.cc.
References RefineableUnsteadyHeatProblem< ELEMENT >::delete_flux_elements(), and RefineableUnsteadyHeatProblem< ELEMENT >::Surface_mesh_pt.
void RefineableUnsteadyHeatProblem< ELEMENT >::actions_before_implicit_timestep | ( | ) |
Update the problem specs before next timestep: Set Dirchlet boundary conditions from exact solution.
Actions before timestep: Set the boundary conditions for the current time.
Definition at line 451 of file two_d_unsteady_heat_adapt.cc.
References RefineableUnsteadyHeatProblem< ELEMENT >::Bulk_mesh_pt, and TanhSolnForUnsteadyHeat::get_exact_u().
|
inline |
Update the problem specs before solve (empty)
Definition at line 207 of file two_d_unsteady_heat_adapt.cc.
|
inline |
Pointer to bulk mesh.
Definition at line 248 of file two_d_unsteady_heat_adapt.cc.
Referenced by main().
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 803 of file two_d_unsteady_heat_adapt.cc.
References RefineableUnsteadyHeatProblem< ELEMENT >::delete_flux_elements().
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::actions_after_adapt(), RefineableUnsteadyHeatProblem< ELEMENT >::doc_solution(), and RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().
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 836 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::actions_before_adapt(), and RefineableUnsteadyHeatProblem< ELEMENT >::create_flux_elements().
void RefineableUnsteadyHeatProblem< ELEMENT >::doc_solution | ( | ) |
Doc the solution.
Definition at line 662 of file two_d_unsteady_heat_adapt.cc.
References RefineableUnsteadyHeatProblem< ELEMENT >::Boundary_pt, RefineableUnsteadyHeatProblem< ELEMENT >::Bulk_mesh_pt, RefineableUnsteadyHeatProblem< ELEMENT >::create_flux_elements(), RefineableUnsteadyHeatProblem< ELEMENT >::Doc_info, RefineableUnsteadyHeatProblem< ELEMENT >::Doc_node_pt, RefineableUnsteadyHeatProblem< ELEMENT >::dump_it(), TanhSolnForUnsteadyHeat::get_exact_u(), TanhSolnForUnsteadyHeat::step_position(), and RefineableUnsteadyHeatProblem< ELEMENT >::Trace_file.
Referenced by main().
void RefineableUnsteadyHeatProblem< ELEMENT >::dump_it | ( | ofstream & | dump_file | ) |
Dump problem data to allow for later restart.
Dump the solution to disk.
Definition at line 858 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::doc_solution().
void RefineableUnsteadyHeatProblem< ELEMENT >::restart | ( | ifstream & | restart_file | ) |
Read problem data for restart.
Read solution from disk.
Definition at line 869 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::set_initial_condition().
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 530 of file two_d_unsteady_heat_adapt.cc.
References RefineableUnsteadyHeatProblem< ELEMENT >::Bulk_mesh_pt, TanhSolnForUnsteadyHeat::get_exact_u(), and RefineableUnsteadyHeatProblem< ELEMENT >::restart().
Referenced by main().
|
private |
Pointer to GeomObject that specifies the domain bondary.
Definition at line 257 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::doc_solution(), and RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().
|
private |
Pointer to the "bulk" mesh.
Definition at line 263 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::actions_after_adapt(), RefineableUnsteadyHeatProblem< ELEMENT >::actions_before_implicit_timestep(), RefineableUnsteadyHeatProblem< ELEMENT >::doc_solution(), RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem(), and RefineableUnsteadyHeatProblem< ELEMENT >::set_initial_condition().
|
private |
Doc info object.
Definition at line 272 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::doc_solution(), and RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().
|
private |
Pointer to central node (exists at all refinement levels) for doc.
Definition at line 269 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::doc_solution(), and RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().
|
private |
Pointer to source function.
Definition at line 260 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().
|
private |
Pointer to the "surface" mesh.
Definition at line 266 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::actions_after_adapt(), RefineableUnsteadyHeatProblem< ELEMENT >::actions_before_adapt(), and RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem().
|
private |
Trace file.
Definition at line 275 of file two_d_unsteady_heat_adapt.cc.
Referenced by RefineableUnsteadyHeatProblem< ELEMENT >::doc_solution(), RefineableUnsteadyHeatProblem< ELEMENT >::RefineableUnsteadyHeatProblem(), and RefineableUnsteadyHeatProblem< ELEMENT >::~RefineableUnsteadyHeatProblem().