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

////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// More...

Inheritance diagram for FourierDecomposedHelmholtzProblem< ELEMENT >:

Public Member Functions

 FourierDecomposedHelmholtzProblem ()
 Constructor. More...
 
 ~FourierDecomposedHelmholtzProblem ()
 Destructor (empty) More...
 
void actions_before_newton_solve ()
 Update the problem specs before solve (empty) More...
 
void actions_after_newton_solve ()
 Update the problem after solve (empty) More...
 
void doc_solution (DocInfo &doc_info)
 Doc the solution. DocInfo object stores flags/labels for where the output gets written to. More...
 
void actions_before_newton_convergence_check ()
 Recompute gamma integral before checking Newton residuals. More...
 
void check_gamma (DocInfo &doc_info)
 Check gamma computation. More...
 
 FourierDecomposedHelmholtzProblem ()
 Constructor. More...
 
 ~FourierDecomposedHelmholtzProblem ()
 Destructor (empty) More...
 
void actions_before_newton_solve ()
 Update the problem specs before solve (empty) More...
 
void actions_after_newton_solve ()
 Update the problem after solve (empty) More...
 
void doc_solution (DocInfo &doc_info)
 Doc the solution. DocInfo object stores flags/labels for where the output gets written to. More...
 
void actions_before_newton_convergence_check ()
 Recompute gamma integral before checking Newton residuals. 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 check_gamma (DocInfo &doc_info)
 Check gamma computation. More...
 

Private Member Functions

void create_outer_bc_elements ()
 Create BC elements on outer boundary. More...
 
void create_flux_elements_on_inner_boundary ()
 Create flux elements on inner boundary. More...
 
void create_outer_bc_elements ()
 Create BC elements on outer boundary. More...
 
void create_flux_elements_on_inner_boundary ()
 Create flux elements on inner boundary. More...
 
void delete_face_elements (Mesh *const &boundary_mesh_pt)
 Delete boundary face elements and wipe the surface mesh. More...
 

Private Attributes

AnnularQuadMesh< ELEMENT > * Bulk_mesh_pt
 Pointer to bulk mesh. More...
 
FourierDecomposedHelmholtzDtNMesh< ELEMENT > * Helmholtz_outer_boundary_mesh_pt
 Pointer to mesh containing the DtN boundary condition elements. More...
 
Mesh * Helmholtz_inner_boundary_mesh_pt
 Mesh of face elements that apply the prescribed flux on the inner boundary. More...
 
RefineableTriangleMesh< ELEMENT > * Bulk_mesh_pt
 Pointer to the "bulk" mesh. More...
 
TriangleMesh< ELEMENT > * Bulk_mesh_pt
 Pointer to the "bulk" mesh. More...
 
ofstream Trace_file
 Trace file. More...
 

Detailed Description

template<class ELEMENT>
class FourierDecomposedHelmholtzProblem< ELEMENT >

////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////

Problem class

Definition at line 379 of file sphere_scattering.cc.

Constructor & Destructor Documentation

◆ FourierDecomposedHelmholtzProblem() [1/2]

Constructor.

Constructor for Fourier-decomposed Helmholtz problem.

Definition at line 436 of file sphere_scattering.cc.

References ProblemParameters::El_multiplier, ProblemParameters::K_squared, ProblemParameters::N_fourier, and ProblemParameters::Nterms_for_DtN.

◆ ~FourierDecomposedHelmholtzProblem() [1/2]

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

Destructor (empty)

Definition at line 388 of file sphere_scattering.cc.

◆ FourierDecomposedHelmholtzProblem() [2/2]

template<class ELEMENT >
FourierDecomposedHelmholtzProblem< ELEMENT >::FourierDecomposedHelmholtzProblem ( )

Constructor.

◆ ~FourierDecomposedHelmholtzProblem() [2/2]

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

Destructor (empty)

Definition at line 333 of file unstructured_sphere_scattering.cc.

Member Function Documentation

◆ actions_after_adapt()

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::actions_after_adapt

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

Actions after adapt: Rebuild the face element meshes.

Definition at line 437 of file unstructured_sphere_scattering.cc.

References ProblemParameters::K_squared, and ProblemParameters::N_fourier.

◆ actions_after_newton_solve() [1/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::actions_after_newton_solve ( )
inline

Update the problem after solve (empty)

Definition at line 394 of file sphere_scattering.cc.

◆ actions_after_newton_solve() [2/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::actions_after_newton_solve ( )
inline

Update the problem after solve (empty)

Definition at line 339 of file unstructured_sphere_scattering.cc.

◆ actions_before_adapt()

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::actions_before_adapt

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

Actions before adapt: Wipe the mesh of face elements.

Definition at line 418 of file unstructured_sphere_scattering.cc.

◆ actions_before_newton_convergence_check() [1/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::actions_before_newton_convergence_check ( )
inline

Recompute gamma integral before checking Newton residuals.

Definition at line 401 of file sphere_scattering.cc.

References FourierDecomposedHelmholtzProblem< ELEMENT >::Helmholtz_outer_boundary_mesh_pt.

◆ actions_before_newton_convergence_check() [2/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::actions_before_newton_convergence_check ( )
inline

Recompute gamma integral before checking Newton residuals.

Definition at line 346 of file unstructured_sphere_scattering.cc.

References FourierDecomposedHelmholtzProblem< ELEMENT >::Helmholtz_outer_boundary_mesh_pt.

◆ actions_before_newton_solve() [1/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::actions_before_newton_solve ( )
inline

Update the problem specs before solve (empty)

Definition at line 391 of file sphere_scattering.cc.

◆ actions_before_newton_solve() [2/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::actions_before_newton_solve ( )
inline

Update the problem specs before solve (empty)

Definition at line 336 of file unstructured_sphere_scattering.cc.

◆ check_gamma() [1/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::check_gamma ( DocInfo &  doc_info)

Check gamma computation.

Check gamma computation: $ \gamma = -du/dn $.

Definition at line 505 of file sphere_scattering.cc.

References ProblemParameters::exact_minus_dudr().

◆ check_gamma() [2/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::check_gamma ( DocInfo &  doc_info)

Check gamma computation.

◆ create_flux_elements_on_inner_boundary() [1/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::create_flux_elements_on_inner_boundary
private

Create flux elements on inner boundary.

Definition at line 696 of file sphere_scattering.cc.

References ProblemParameters::exact_minus_dudr().

◆ create_flux_elements_on_inner_boundary() [2/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::create_flux_elements_on_inner_boundary ( )
private

Create flux elements on inner boundary.

◆ create_outer_bc_elements() [1/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::create_outer_bc_elements
private

Create BC elements on outer boundary.

Definition at line 658 of file sphere_scattering.cc.

◆ create_outer_bc_elements() [2/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::create_outer_bc_elements ( )
private

Create BC elements on outer boundary.

◆ delete_face_elements()

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::delete_face_elements ( Mesh *const &  boundary_mesh_pt)
inlineprivate

Delete boundary face elements and wipe the surface mesh.

Definition at line 373 of file unstructured_sphere_scattering.cc.

◆ doc_solution() [1/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< 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 574 of file sphere_scattering.cc.

References ProblemParameters::get_exact_u(), ProblemParameters::K_squared, and ProblemParameters::N_fourier.

Referenced by main().

◆ doc_solution() [2/2]

template<class ELEMENT >
void FourierDecomposedHelmholtzProblem< ELEMENT >::doc_solution ( DocInfo &  doc_info)

Doc the solution. DocInfo object stores flags/labels for where the output gets written to.

Member Data Documentation

◆ Bulk_mesh_pt [1/3]

template<class ELEMENT >
AnnularQuadMesh<ELEMENT>* FourierDecomposedHelmholtzProblem< ELEMENT >::Bulk_mesh_pt
private

Pointer to bulk mesh.

Definition at line 418 of file sphere_scattering.cc.

◆ Bulk_mesh_pt [2/3]

template<class ELEMENT >
RefineableTriangleMesh<ELEMENT>* FourierDecomposedHelmholtzProblem< ELEMENT >::Bulk_mesh_pt
private

Pointer to the "bulk" mesh.

Definition at line 391 of file unstructured_sphere_scattering.cc.

◆ Bulk_mesh_pt [3/3]

template<class ELEMENT >
TriangleMesh<ELEMENT>* FourierDecomposedHelmholtzProblem< ELEMENT >::Bulk_mesh_pt
private

Pointer to the "bulk" mesh.

Definition at line 396 of file unstructured_sphere_scattering.cc.

◆ Helmholtz_inner_boundary_mesh_pt

template<class ELEMENT >
Mesh * FourierDecomposedHelmholtzProblem< ELEMENT >::Helmholtz_inner_boundary_mesh_pt
private

Mesh of face elements that apply the prescribed flux on the inner boundary.

on the inner boundary

Definition at line 426 of file sphere_scattering.cc.

◆ Helmholtz_outer_boundary_mesh_pt

template<class ELEMENT >
FourierDecomposedHelmholtzDtNMesh< ELEMENT > * FourierDecomposedHelmholtzProblem< ELEMENT >::Helmholtz_outer_boundary_mesh_pt
private

Pointer to mesh containing the DtN boundary condition elements.

Definition at line 422 of file sphere_scattering.cc.

Referenced by FourierDecomposedHelmholtzProblem< ELEMENT >::actions_before_newton_convergence_check().

◆ Trace_file

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

Trace file.

Definition at line 408 of file unstructured_sphere_scattering.cc.


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