specfem::io::read_2d_mesh

specfem::mesh::mesh<specfem::element::dimension_tag::dim2> specfem::io::read_2d_mesh(const std::string &filename, const specfem::enums::elastic_wave wave, const specfem::enums::electromagnetic_wave electromagnetic_wave, const specfem::attenuation::Setup &attenuation_setup)

Construct a mesh object from a Fortran binary database file.

// Read 2D mesh from Fortran binary database file
auto mesh = specfem::io::read_2d_mesh(
     "DATABASES_MPI",
     specfem::enums::elastic_wave::psv,
     specfem::enums::electromagnetic_wave::te,
     specfem::attenuation::Setup{}); // attenuation disabled

Parameters:

filename – Fortran binary database filename

Returns:

specfem::mesh::mesh Specfem mesh object for dimension type dim2

specfem::io::read_3d_mesh

specfem::mesh::mesh<specfem::element::dimension_tag::dim3> specfem::io::read_3d_mesh(const std::string &database_file, const specfem::attenuation::Setup &attenuation_setup)

Construct a 3D mesh object from the SPECFEM++ 3D binary database.

Reads boundary face data and classifies faces into absorbing boundaries.

auto mesh = specfem::io::read_3d_mesh("database.bin",
                                       specfem::attenuation::Setup{});

Parameters:
  • database_file – Path to the binary mesh database

  • attenuation_setup – Attenuation configuration

Returns:

specfem::mesh::mesh<specfem::element::dimension_tag::dim3>