Problem class to compute scattering of planar wave from unit disk. More...
Public Member Functions | |
ScatteringProblem () | |
Constructor. More... | |
~ScatteringProblem () | |
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... | |
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 | 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 | create_outer_bc_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &helmholtz_outer_boundary_mesh_pt) |
Create BC elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the specified survace Mesh. 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 | delete_face_elements (Mesh *const &boundary_mesh_pt) |
Delete boundary face elements and wipe the surface mesh. More... | |
void | set_prescribed_incoming_flux_pt () |
Set pointer to prescribed-flux function for all elements in the surface mesh on the surface of the unit disk. More... | |
void | setup_outer_boundary () |
Set up boundary condition elements on outer boundary. More... | |
ScatteringProblem () | |
Constructor. More... | |
~ScatteringProblem () | |
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... | |
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 | 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 | create_outer_bc_elements (const unsigned &b, Mesh *const &bulk_mesh_pt, Mesh *const &helmholtz_outer_boundary_mesh_pt) |
Create BC elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the specified survace Mesh. 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 | delete_face_elements (Mesh *const &boundary_mesh_pt) |
Delete boundary face elements and wipe the surface mesh. More... | |
void | set_prescribed_incoming_flux_pt () |
Set pointer to prescribed-flux function for all elements in the surface mesh on the surface of the unit disk. More... | |
void | setup_outer_boundary () |
Set up boundary condition elements on outer boundary. More... | |
Public Attributes | |
RefineableTwoDAnnularMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. More... | |
TwoDAnnularMesh< ELEMENT > * | Bulk_mesh_pt |
Pointer to the "bulk" mesh. More... | |
HelmholtzDtNMesh< ELEMENT > * | Helmholtz_outer_boundary_mesh_pt |
Pointer to mesh containing the DtN (or ABC) boundary condition elements. More... | |
Mesh * | Helmholtz_inner_boundary_mesh_pt |
Pointer to the mesh containing the Helmholtz inner boundary condition elements. 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... | |
Problem class to compute scattering of planar wave from unit disk.
Definition at line 226 of file scattering.cc.
ScatteringProblem< ELEMENT >::ScatteringProblem | ( | ) |
Constructor.
Constructor for Helmholtz problem.
Definition at line 312 of file scattering.cc.
References GlobalParameters::K_squared, GlobalParameters::N_fourier, and GlobalParameters::Outer_radius.
|
inline |
Destructor (empty)
Definition at line 235 of file scattering.cc.
ScatteringProblem< ELEMENT >::ScatteringProblem | ( | ) |
Constructor.
|
inline |
Destructor (empty)
Definition at line 234 of file unstructured_scattering.cc.
void ScatteringProblem< ELEMENT >::actions_after_adapt | ( | ) |
Actions after adapt: Rebuild the mesh of prescribed flux elements.
void ScatteringProblem< 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 433 of file scattering.cc.
|
inline |
Update the problem specs after solve (empty)
Definition at line 244 of file unstructured_scattering.cc.
|
inline |
Update the problem specs after solve (empty)
Definition at line 245 of file scattering.cc.
void ScatteringProblem< ELEMENT >::actions_before_adapt | ( | ) |
Actions before adapt: Wipe the mesh of prescribed flux elements.
void ScatteringProblem< 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 417 of file scattering.cc.
|
inline |
Recompute gamma integral before checking Newton residuals.
Definition at line 247 of file unstructured_scattering.cc.
References GlobalParameters::DtN_BC.
|
inline |
Recompute gamma integral before checking Newton residuals.
Definition at line 248 of file scattering.cc.
References GlobalParameters::DtN_BC.
|
inline |
Update the problem specs before solve (empty)
Definition at line 241 of file unstructured_scattering.cc.
|
inline |
Update the problem specs before solve (empty)
Definition at line 242 of file scattering.cc.
void ScatteringProblem< 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.
void ScatteringProblem< 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 615 of file scattering.cc.
References ScatteringProblem< ELEMENT >::create_outer_bc_elements().
Referenced by ScatteringProblem< ELEMENT >::doc_solution().
void ScatteringProblem< ELEMENT >::create_outer_bc_elements | ( | const unsigned & | b, |
Mesh *const & | bulk_mesh_pt, | ||
Mesh *const & | helmholtz_outer_boundary_mesh_pt | ||
) |
Create BC elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the specified survace Mesh.
void ScatteringProblem< ELEMENT >::create_outer_bc_elements | ( | const unsigned & | b, |
Mesh *const & | bulk_mesh_pt, | ||
Mesh *const & | helmholtz_outer_boundary_mesh_pt | ||
) |
Create BC elements on boundary b of the Mesh pointed to by bulk_mesh_pt and add them to the specified survace Mesh.
Create outer BC 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_outer_boundary_mesh_pt.
Definition at line 649 of file scattering.cc.
References ScatteringProblem< ELEMENT >::delete_face_elements(), and GlobalParameters::DtN_BC.
Referenced by ScatteringProblem< ELEMENT >::create_flux_elements().
void ScatteringProblem< ELEMENT >::delete_face_elements | ( | Mesh *const & | boundary_mesh_pt | ) |
Delete boundary face elements and wipe the surface mesh.
void ScatteringProblem< ELEMENT >::delete_face_elements | ( | Mesh *const & | boundary_mesh_pt | ) |
Delete boundary face elements and wipe the surface mesh.
Delete face elements and wipe the boundary mesh.
Definition at line 692 of file scattering.cc.
Referenced by ScatteringProblem< ELEMENT >::create_outer_bc_elements().
void ScatteringProblem< ELEMENT >::doc_solution | ( | DocInfo & | doc_info | ) |
Doc the solution. DocInfo object stores flags/labels for where the output gets written to.
void ScatteringProblem< 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 520 of file scattering.cc.
References ScatteringProblem< ELEMENT >::create_flux_elements(), and GlobalParameters::get_exact_u().
Referenced by main().
void ScatteringProblem< ELEMENT >::set_prescribed_incoming_flux_pt | ( | ) |
Set pointer to prescribed-flux function for all elements in the surface mesh on the surface of the unit disk.
void ScatteringProblem< ELEMENT >::set_prescribed_incoming_flux_pt | ( | ) |
Set pointer to prescribed-flux function for all elements in the surface mesh on the surface of the unit disk.
Set pointer to prescribed incoming-flux function for all elements in the inner boundary
Definition at line 497 of file scattering.cc.
References GlobalParameters::prescribed_incoming_flux().
void ScatteringProblem< ELEMENT >::setup_outer_boundary | ( | ) |
Set up boundary condition elements on outer boundary.
void ScatteringProblem< ELEMENT >::setup_outer_boundary | ( | ) |
Set up boundary condition elements on outer boundary.
Set pointers for elements on outer boundary.
Definition at line 455 of file scattering.cc.
References GlobalParameters::ABC_order, GlobalParameters::DtN_BC, and GlobalParameters::Outer_radius.
RefineableTriangleMesh<ELEMENT>* ScatteringProblem< ELEMENT >::Bulk_mesh_pt |
Pointer to the "bulk" mesh.
Definition at line 285 of file unstructured_scattering.cc.
RefineableTwoDAnnularMesh<ELEMENT>* ScatteringProblem< ELEMENT >::Bulk_mesh_pt |
Pointer to the "bulk" mesh.
Definition at line 286 of file scattering.cc.
TriangleMesh<ELEMENT>* ScatteringProblem< ELEMENT >::Bulk_mesh_pt |
Pointer to the "bulk" mesh.
Definition at line 290 of file unstructured_scattering.cc.
TwoDAnnularMesh<ELEMENT>* ScatteringProblem< ELEMENT >::Bulk_mesh_pt |
Pointer to the "bulk" mesh.
Definition at line 291 of file scattering.cc.
Mesh * ScatteringProblem< ELEMENT >::Helmholtz_inner_boundary_mesh_pt |
Pointer to the mesh containing the Helmholtz inner boundary condition elements.
Definition at line 301 of file scattering.cc.
HelmholtzDtNMesh< ELEMENT > * ScatteringProblem< ELEMENT >::Helmholtz_outer_boundary_mesh_pt |
Pointer to mesh containing the DtN (or ABC) boundary condition elements.
Definition at line 297 of file scattering.cc.
ofstream ScatteringProblem< ELEMENT >::Trace_file |
Trace file.
Definition at line 303 of file unstructured_scattering.cc.