2D Poisson problem on rectangular domain, discretised with 2D QPoisson elements. Flux boundary conditions are applied along boundary 1 (the boundary where x=L). The specific type of element is specified via the template parameter. More...
Public Member Functions | |
| RefineableTwoMeshFluxPoissonProblem (PoissonEquations< 2 >::PoissonSourceFctPt source_fct_pt) | |
| Constructor: Pass pointer to source function. More... | |
| ~RefineableTwoMeshFluxPoissonProblem () | |
| Destructor (empty) More... | |
| void | doc_solution (DocInfo &doc_info) |
| Doc the solution. DocInfo object stores flags/labels for where the output gets written to. More... | |
Private Member Functions | |
| void | actions_before_newton_solve () |
| Update the problem specs before solve: Reset boundary conditions to the values from the exact solution. More... | |
| void | actions_after_newton_solve () |
| Update the problem specs after solve (empty) 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 | create_flux_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &surface_mesh_pt) |
| Create Poisson 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 Poisson flux elements and wipe the surface mesh. More... | |
| void | set_prescribed_flux_pt () |
| Set pointer to prescribed-flux function for all elements in the surface mesh. More... | |
Private Attributes | |
| SimpleRefineableRectangularQuadMesh< ELEMENT > * | Bulk_mesh_pt |
| Pointer to the "bulk" mesh. More... | |
| Mesh * | Surface_mesh_pt |
| Pointer to the "surface" mesh. More... | |
| PoissonEquations< 2 >::PoissonSourceFctPt | Source_fct_pt |
| Pointer to source function. More... | |
2D Poisson problem on rectangular domain, discretised with 2D QPoisson elements. Flux boundary conditions are applied along boundary 1 (the boundary where x=L). The specific type of element is specified via the template parameter.
Definition at line 141 of file two_d_poisson_flux_bc_adapt.cc.
| RefineableTwoMeshFluxPoissonProblem< ELEMENT >::RefineableTwoMeshFluxPoissonProblem | ( | PoissonEquations< 2 >::PoissonSourceFctPt | source_fct_pt | ) |
Constructor: Pass pointer to source function.
Constructor for Poisson problem: Pass pointer to source function.
Definition at line 203 of file two_d_poisson_flux_bc_adapt.cc.
References RefineableTwoMeshFluxPoissonProblem< ELEMENT >::Bulk_mesh_pt, RefineableTwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::set_prescribed_flux_pt(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::Source_fct_pt, and RefineableTwoMeshFluxPoissonProblem< ELEMENT >::Surface_mesh_pt.
|
inline |
Destructor (empty)
Definition at line 150 of file two_d_poisson_flux_bc_adapt.cc.
|
private |
Actions after adapt: Rebuild the mesh of prescribed flux elements.
Definition at line 354 of file two_d_poisson_flux_bc_adapt.cc.
|
inlineprivate |
Update the problem specs after solve (empty)
Definition at line 164 of file two_d_poisson_flux_bc_adapt.cc.
|
private |
Actions before adapt: Wipe the mesh of prescribed flux elements.
Definition at line 338 of file two_d_poisson_flux_bc_adapt.cc.
|
private |
Update the problem specs before solve: Reset boundary conditions to the values from the exact solution.
Definition at line 296 of file two_d_poisson_flux_bc_adapt.cc.
References TanhSolnForPoisson::get_exact_u().
|
private |
Create Poisson 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 Poisson 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 pointeed to by surface_mesh_pt.
Definition at line 470 of file two_d_poisson_flux_bc_adapt.cc.
Referenced by RefineableTwoMeshFluxPoissonProblem< ELEMENT >::RefineableTwoMeshFluxPoissonProblem().
|
private |
Delete Poisson flux elements and wipe the surface mesh.
Delete Poisson Flux Elements and wipe the surface mesh.
Definition at line 504 of file two_d_poisson_flux_bc_adapt.cc.
| void RefineableTwoMeshFluxPoissonProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution. DocInfo object stores flags/labels for where the output gets written to.
Doc the solution: doc_info contains labels/output directory etc.
Definition at line 409 of file two_d_poisson_flux_bc_adapt.cc.
References TanhSolnForPoisson::get_exact_u().
Referenced by main().
|
private |
Set pointer to prescribed-flux function for all elements in the surface mesh.
Definition at line 384 of file two_d_poisson_flux_bc_adapt.cc.
References TanhSolnForPoisson::prescribed_flux_on_fixed_x_boundary().
Referenced by RefineableTwoMeshFluxPoissonProblem< ELEMENT >::RefineableTwoMeshFluxPoissonProblem().
|
private |
Pointer to the "bulk" mesh.
Definition at line 186 of file two_d_poisson_flux_bc_adapt.cc.
Referenced by RefineableTwoMeshFluxPoissonProblem< ELEMENT >::RefineableTwoMeshFluxPoissonProblem().
|
private |
Pointer to source function.
Definition at line 192 of file two_d_poisson_flux_bc_adapt.cc.
Referenced by RefineableTwoMeshFluxPoissonProblem< ELEMENT >::RefineableTwoMeshFluxPoissonProblem().
|
private |
Pointer to the "surface" mesh.
Definition at line 189 of file two_d_poisson_flux_bc_adapt.cc.
Referenced by RefineableTwoMeshFluxPoissonProblem< ELEMENT >::RefineableTwoMeshFluxPoissonProblem().