////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// More...
Public Member Functions | |
PMLFourierDecomposedHelmholtzProblem () | |
Constructor. More... | |
~PMLFourierDecomposedHelmholtzProblem () | |
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 | create_pml_meshes () |
Create PML meshes. More... | |
void | create_power_monitor_mesh () |
Create mesh of face elements that monitor the radiated power. 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 | complete_problem_setup () |
Private Member Functions | |
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... | |
void | apply_zero_dirichlet_boundary_conditions () |
void | setup_point_source () |
Set point source. More... | |
Private Attributes | |
Mesh * | Power_monitor_mesh_pt |
Pointer to mesh that stores the power monitor elements. More... | |
RefineableTriangleMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the refineable "bulk" mesh. More... | |
MeshAsGeomObject * | Mesh_as_geom_obj_pt |
Mesh as geometric object representation of bulk mesh. More... | |
TriangleMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. More... | |
Mesh * | Helmholtz_inner_boundary_mesh_pt |
Mesh of FaceElements that apply the flux bc on the inner boundary. More... | |
Mesh * | PML_right_mesh_pt |
Pointer to the right PML mesh. More... | |
Mesh * | PML_top_mesh_pt |
Pointer to the top PML mesh. More... | |
Mesh * | PML_bottom_mesh_pt |
Pointer to the bottom PML mesh. More... | |
Mesh * | PML_top_right_mesh_pt |
Pointer to the top right corner PML mesh. More... | |
Mesh * | PML_bottom_right_mesh_pt |
Pointer to the bottom right corner PML mesh. More... | |
ofstream | Trace_file |
Trace file. More... | |
////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////
Problem class
Definition at line 429 of file oscillating_sphere.cc.
PMLFourierDecomposedHelmholtzProblem< ELEMENT >::PMLFourierDecomposedHelmholtzProblem |
Constructor.
Constructor for Pml Fourier-decomposed Helmholtz problem.
Setup "bulk" mesh
Definition at line 789 of file oscillating_sphere.cc.
References ProblemParameters::Directory, ProblemParameters::Element_area, and ProblemParameters::K_squared.
|
inline |
Destructor (empty)
Definition at line 438 of file oscillating_sphere.cc.
void PMLFourierDecomposedHelmholtzProblem< 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 618 of file oscillating_sphere.cc.
|
inline |
Update the problem after solve (empty)
Definition at line 444 of file oscillating_sphere.cc.
void PMLFourierDecomposedHelmholtzProblem< 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 580 of file oscillating_sphere.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 441 of file oscillating_sphere.cc.
|
private |
Definition at line 731 of file oscillating_sphere.cc.
void PMLFourierDecomposedHelmholtzProblem< ELEMENT >::complete_problem_setup |
Definition at line 648 of file oscillating_sphere.cc.
References ProblemParameters::K_squared, and ProblemParameters::N_fourier.
|
private |
Create flux elements on inner boundary.
Definition at line 1071 of file oscillating_sphere.cc.
References ProblemParameters::exact_minus_dudr().
void PMLFourierDecomposedHelmholtzProblem< ELEMENT >::create_pml_meshes |
Create PML meshes.
Create PML meshes and add them to the problem's sub-meshes.
Definition at line 1110 of file oscillating_sphere.cc.
References ProblemParameters::Nel_pml, and ProblemParameters::PML_thickness.
void PMLFourierDecomposedHelmholtzProblem< ELEMENT >::create_power_monitor_mesh |
Create mesh of face elements that monitor the radiated power.
Create BC elements on outer boundary.
Definition at line 543 of file oscillating_sphere.cc.
|
inlineprivate |
Delete boundary face elements and wipe the surface mesh.
Definition at line 476 of file oscillating_sphere.cc.
void PMLFourierDecomposedHelmholtzProblem< 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 974 of file oscillating_sphere.cc.
References ProblemParameters::get_exact_u().
|
private |
Set point source.
Definition at line 689 of file oscillating_sphere.cc.
References ProblemParameters::Magnitude(), ProblemParameters::N_fourier, ProblemParameters::R_source, and ProblemParameters::Z_source.
|
private |
Pointer to the refineable "bulk" mesh.
Definition at line 503 of file oscillating_sphere.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 511 of file oscillating_sphere.cc.
|
private |
Mesh of FaceElements that apply the flux bc on the inner boundary.
Definition at line 516 of file oscillating_sphere.cc.
|
private |
Mesh as geometric object representation of bulk mesh.
Definition at line 506 of file oscillating_sphere.cc.
|
private |
Pointer to the bottom PML mesh.
Definition at line 525 of file oscillating_sphere.cc.
|
private |
Pointer to the bottom right corner PML mesh.
Definition at line 531 of file oscillating_sphere.cc.
|
private |
Pointer to the right PML mesh.
Definition at line 519 of file oscillating_sphere.cc.
|
private |
Pointer to the top PML mesh.
Definition at line 522 of file oscillating_sphere.cc.
|
private |
Pointer to the top right corner PML mesh.
Definition at line 528 of file oscillating_sphere.cc.
|
private |
Pointer to mesh that stores the power monitor elements.
Definition at line 494 of file oscillating_sphere.cc.
|
private |
Trace file.
Definition at line 534 of file oscillating_sphere.cc.