////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// More...
Public Member Functions | |
PMLProblem () | |
Constructor. More... | |
~PMLProblem () | |
Destructor (empty) More... | |
void | actions_before_newton_solve () |
Update the problem specs before solve (empty) More... | |
void | actions_after_newton_solve () |
Update the problem specs 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 | apply_boundary_conditions () |
Apply boundary conditions. More... | |
void | actions_before_adapt () |
Actions before adapt: Wipe the PML meshes. More... | |
void | actions_after_adapt () |
Actions after adapt: Rebuild the PML meshes. More... | |
PMLProblem () | |
Constructor. More... | |
~PMLProblem () | |
Destructor (empty) More... | |
void | actions_before_newton_solve () |
Update the problem specs before solve (empty) More... | |
void | actions_after_newton_solve () |
Update the problem specs 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_flux_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &helmholtz_inner_boundary_mesh_pt) |
Create Helmholtz flux elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the specified surface Mesh. More... | |
void | create_power_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &helmholtz_power_boundary_mesh_pt) |
Create Helmholtz power elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the specified surface Mesh. More... | |
void | actions_before_adapt () |
Actions before adapt: Wipe the PML meshes. More... | |
void | actions_after_adapt () |
Actions after adapt: Rebuild the PML meshes. More... | |
Private Attributes | |
RefineableTriangleMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the refineable "bulk" mesh. More... | |
TriangleMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. 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_left_mesh_pt |
Pointer to the left 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_top_left_mesh_pt |
Pointer to the top left corner PML mesh. More... | |
Mesh * | PML_bottom_right_mesh_pt |
Pointer to the bottom right corner PML mesh. More... | |
Mesh * | PML_bottom_left_mesh_pt |
Pointer to the bottom left corner PML mesh. More... | |
ofstream | Trace_file |
Trace file. More... | |
Mesh * | Helmholtz_inner_boundary_mesh_pt |
Pointer to the mesh containing the Helmholtz inner boundary condition elements. More... | |
Mesh * | Helmholtz_power_boundary_mesh_pt |
Pointer to mesh of elements that compute the radiated power. More... | |
////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////
Problem class to demonstrate use of perfectly matched layers for Helmholtz problems.
Definition at line 75 of file unstructured_two_d_helmholtz.cc.
PMLProblem< ELEMENT >::PMLProblem |
Constructor.
Constructor for Helmholtz problem.
Definition at line 165 of file unstructured_two_d_helmholtz.cc.
References GlobalParameters::K_squared.
|
inline |
Destructor (empty)
Definition at line 84 of file unstructured_two_d_helmholtz.cc.
PMLProblem< ELEMENT >::PMLProblem | ( | ) |
Constructor.
|
inline |
Destructor (empty)
Definition at line 251 of file unstructured_two_d_helmholtz_scattering.cc.
void PMLProblem< ELEMENT >::actions_after_adapt |
Actions after adapt: Rebuild the PML meshes.
Actions after adapt: Rebuild the face element meshes.
Definition at line 386 of file unstructured_two_d_helmholtz.cc.
References GlobalParameters::K_squared.
void PMLProblem< ELEMENT >::actions_after_adapt | ( | ) |
Actions after adapt: Rebuild the PML meshes.
|
inline |
Update the problem specs after solve (empty)
Definition at line 90 of file unstructured_two_d_helmholtz.cc.
|
inline |
Update the problem specs after solve (empty)
Definition at line 257 of file unstructured_two_d_helmholtz_scattering.cc.
void PMLProblem< ELEMENT >::actions_before_adapt |
Actions before adapt: Wipe the PML meshes.
Actions before adapt: Wipe the mesh of face elements.
Definition at line 346 of file unstructured_two_d_helmholtz.cc.
void PMLProblem< ELEMENT >::actions_before_adapt | ( | ) |
Actions before adapt: Wipe the PML meshes.
|
inline |
Update the problem specs before solve (empty)
Definition at line 87 of file unstructured_two_d_helmholtz.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 254 of file unstructured_two_d_helmholtz_scattering.cc.
void PMLProblem< ELEMENT >::apply_boundary_conditions |
Apply boundary conditions.
Definition at line 422 of file unstructured_two_d_helmholtz.cc.
void PMLProblem< ELEMENT >::create_flux_elements | ( | const unsigned & | b, |
Mesh *const & | bulk_mesh_pt, | ||
Mesh *const & | helmholtz_inner_boundary_mesh_pt | ||
) |
Create Helmholtz flux elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the specified surface Mesh.
Create Helmholtz inner 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 pointed to by helmholtz_inner_boundary_mesh_pt.
Definition at line 747 of file unstructured_two_d_helmholtz_scattering.cc.
References GlobalParameters::prescribed_incoming_flux().
void PMLProblem< ELEMENT >::create_pml_meshes |
Create PML meshes.
Create PML meshes and add them to the problem's sub-meshes.
Definition at line 530 of file unstructured_two_d_helmholtz.cc.
void PMLProblem< ELEMENT >::create_pml_meshes | ( | ) |
Create PML meshes.
void PMLProblem< ELEMENT >::create_power_elements | ( | const unsigned & | b, |
Mesh *const & | bulk_mesh_pt, | ||
Mesh *const & | helmholtz_power_boundary_mesh_pt | ||
) |
Create Helmholtz power elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the specified surface Mesh.
Create Helmholtz inner 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 pointed to by helmholtz_power_boundary_mesh_pt.
Definition at line 783 of file unstructured_two_d_helmholtz_scattering.cc.
void PMLProblem< 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 453 of file unstructured_two_d_helmholtz.cc.
Referenced by main().
void PMLProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution. DocInfo object stores flags/labels for where the output gets written to.
|
private |
Pointer to the refineable "bulk" mesh.
Pointer to the "bulk" mesh.
Definition at line 118 of file unstructured_two_d_helmholtz.cc.
|
private |
Pointer to the "bulk" mesh.
Definition at line 125 of file unstructured_two_d_helmholtz.cc.
|
private |
Pointer to the mesh containing the Helmholtz inner boundary condition elements.
Definition at line 332 of file unstructured_two_d_helmholtz_scattering.cc.
|
private |
Pointer to mesh of elements that compute the radiated power.
Definition at line 335 of file unstructured_two_d_helmholtz_scattering.cc.
|
private |
Pointer to the bottom left corner PML mesh.
Definition at line 152 of file unstructured_two_d_helmholtz.cc.
|
private |
Pointer to the bottom PML mesh.
Definition at line 140 of file unstructured_two_d_helmholtz.cc.
|
private |
Pointer to the bottom right corner PML mesh.
Definition at line 149 of file unstructured_two_d_helmholtz.cc.
|
private |
Pointer to the left PML mesh.
Definition at line 137 of file unstructured_two_d_helmholtz.cc.
|
private |
Pointer to the right PML mesh.
Definition at line 131 of file unstructured_two_d_helmholtz.cc.
|
private |
Pointer to the top left corner PML mesh.
Definition at line 146 of file unstructured_two_d_helmholtz.cc.
|
private |
Pointer to the top PML mesh.
Definition at line 134 of file unstructured_two_d_helmholtz.cc.
|
private |
Pointer to the top right corner PML mesh.
Definition at line 143 of file unstructured_two_d_helmholtz.cc.
|
private |
Trace file.
Definition at line 155 of file unstructured_two_d_helmholtz.cc.