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

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

Inheritance diagram for RefineableTwoMeshFluxPoissonProblem< ELEMENT >:

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

Detailed Description

template<class ELEMENT>
class RefineableTwoMeshFluxPoissonProblem< ELEMENT >

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.

Constructor & Destructor Documentation

◆ RefineableTwoMeshFluxPoissonProblem()

template<class ELEMENT >
RefineableTwoMeshFluxPoissonProblem< ELEMENT >::RefineableTwoMeshFluxPoissonProblem ( PoissonEquations< 2 >::PoissonSourceFctPt  source_fct_pt)

◆ ~RefineableTwoMeshFluxPoissonProblem()

template<class ELEMENT >
RefineableTwoMeshFluxPoissonProblem< ELEMENT >::~RefineableTwoMeshFluxPoissonProblem ( )
inline

Destructor (empty)

Definition at line 150 of file two_d_poisson_flux_bc_adapt.cc.

Member Function Documentation

◆ actions_after_adapt()

template<class ELEMENT >
void RefineableTwoMeshFluxPoissonProblem< ELEMENT >::actions_after_adapt
private

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

Definition at line 354 of file two_d_poisson_flux_bc_adapt.cc.

◆ actions_after_newton_solve()

template<class ELEMENT >
void RefineableTwoMeshFluxPoissonProblem< ELEMENT >::actions_after_newton_solve ( )
inlineprivate

Update the problem specs after solve (empty)

Definition at line 164 of file two_d_poisson_flux_bc_adapt.cc.

◆ actions_before_adapt()

template<class ELEMENT >
void RefineableTwoMeshFluxPoissonProblem< ELEMENT >::actions_before_adapt
private

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

Definition at line 338 of file two_d_poisson_flux_bc_adapt.cc.

◆ actions_before_newton_solve()

template<class ELEMENT >
void RefineableTwoMeshFluxPoissonProblem< ELEMENT >::actions_before_newton_solve
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().

◆ create_flux_elements()

template<class ELEMENT >
void RefineableTwoMeshFluxPoissonProblem< ELEMENT >::create_flux_elements ( const unsigned &  b,
Mesh *const &  bulk_mesh_pt,
Mesh *const &  surface_mesh_pt 
)
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().

◆ delete_flux_elements()

template<class ELEMENT >
void RefineableTwoMeshFluxPoissonProblem< ELEMENT >::delete_flux_elements ( Mesh *const &  surface_mesh_pt)
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.

◆ doc_solution()

template<class ELEMENT >
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().

◆ set_prescribed_flux_pt()

template<class ELEMENT >
void RefineableTwoMeshFluxPoissonProblem< ELEMENT >::set_prescribed_flux_pt
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().

Member Data Documentation

◆ Bulk_mesh_pt

template<class ELEMENT >
SimpleRefineableRectangularQuadMesh<ELEMENT>* RefineableTwoMeshFluxPoissonProblem< ELEMENT >::Bulk_mesh_pt
private

◆ Source_fct_pt

template<class ELEMENT >
PoissonEquations<2>::PoissonSourceFctPt RefineableTwoMeshFluxPoissonProblem< ELEMENT >::Source_fct_pt
private

◆ Surface_mesh_pt

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

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