unstructured_two_d_helmholtz_scattering.cc File Reference
#include <fenv.h>
#include "math.h"
#include <complex>
#include "generic.h"
#include "helmholtz.h"
#include "pml_helmholtz.h"
#include "meshes/triangle_mesh.h"
#include "meshes/rectangular_quadmesh.h"
#include "oomph_crbond_bessel.h"

Classes

class  GlobalParameters::TestPMLMapping
 
class  PMLProblem< ELEMENT >
 

Namespaces

 GlobalParameters
 Global parameters.
 

Functions

std::complex< doubleGlobalParameters::I (0.0, 1.0)
 Imaginary unit. More...
 
void GlobalParameters::get_exact_u (const Vector< double > &x, Vector< double > &u)
 Exact solution as a Vector. More...
 
void GlobalParameters::prescribed_incoming_flux (const Vector< double > &x, complex< double > &flux)
 
int main (int argc, char **argv)
 Solve 2D Helmholtz problem. More...
 

Function Documentation

◆ main()

int main ( int argc  ,
char **  argv 
)

Solve 2D Helmholtz problem.

916 {
917  //Set up the problem
918  //------------------
919 
920 #ifdef ADAPTIVE
921 
922  // Set up the problem with projectable 2D six-node elements from the
923  // TPMLHelmholtzElement family.
926 
927 #else
928 
929  // Set up the problem with 2D six-node elements from the
930  // TPMLHelmholtzElement family.
932 #endif
933 
934  // Create label for output
935  //------------------------
936  DocInfo doc_info;
937 
938  // Set output directory
939  doc_info.set_directory("RESLT");
940 
941 
942 #ifdef ADAPTIVE
943 
944  // Max. number of adaptations
945  unsigned max_adapt=1;
946 
947  // Solve the problem with the adaptive Newton's method, allowing
948  // up to max_adapt mesh adaptations after every solve.
949  problem.newton_solve(max_adapt);
950 
951 #else
952 
953  // Solve the problem with Newton's method
954  problem.newton_solve();
955 
956 #endif
957 
958  //Output solution
959  problem.doc_solution(doc_info);
960 
961 } //end of main
Definition: pml_helmholtz/scattering/unstructured_two_d_helmholtz.cc:76
Definition: oomph_utilities.h:499
void set_directory(const std::string &directory)
Definition: oomph_utilities.cc:298
PMLHelmholtz upgraded to become projectable.
Definition: pml_helmholtz_elements.h:1015
Definition: Tpml_helmholtz_elements.h:63
Constructor for SteadyAxisymAdvectionDiffusion problem
Definition: steady_axisym_advection_diffusion.cc:213

References problem, and oomph::DocInfo::set_directory().