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().