specfem::runtime_configuration::plot_wavefield

class plot_wavefield

Runtime configuration class for instantiating wavefield plotter.

Constructors

inline plot_wavefield(const std::string &output_format, const std::string &output_folder, const std::string &field_type, const std::string &simulation_wavefield_type, const std::string &component, const int time_interval, const specfem::enums::elastic_wave elastic_wave, const specfem::enums::electromagnetic_wave electromagnetic_wave)

Construct a new plotter configuration object.

Parameters:
  • output_format – output format for the resulting plot (PNG, JPG)

  • output_folder – path to the folder where the plot will be stored

  • wavefield_type – type of wavefield to plot (displacement, velocity, acceleration)

  • simulation_wavefield_type – type of simulation wavefield to plot (forward, adjoint)

  • component – component of the wavefield to plot (x, y, z, magnitude)

  • time_interval – time interval between subsequent plots

  • elastic_wave – type of elastic wave simulation, ignored for 3D

  • electromagnetic_wave – type of electromagnetic wave simulation ignored for 3D

plot_wavefield(const YAML::Node &Node, const specfem::enums::elastic_wave elastic_wave, const specfem::enums::electromagnetic_wave electromagnetic_wave)

Construct a new plotter configuration object from YAML node.

Parameters:

Node – YAML node describing the plotter configuration

Public Functions

template<specfem::dimension::type DimensionTag>
std::shared_ptr<specfem::periodic_tasks::periodic_task<DimensionTag>> instantiate_wavefield_plotter(const specfem::assembly::assembly<DimensionTag> &assembly, const type_real &dt) const

Instantiate a wavefield plotter object.

Parameters:

assembly – SPECFEM++ assembly object

Returns:

std::shared_ptr<specfem::io::writer> Pointer to an instantiated plotter object

Private Members

std::string output_format

format of output file

std::string output_folder

Path to output folder.

std::string field_type

Component of the wavefield to plot (displacement, velocity, etc.)

std::string simulation_wavefield_type

Type of simulation wavefield to plot ( forward, adjoint)

std::string component

Component of the wavefield to plot (x,y,z,magnitude)

type_real dt

Time step.

int time_interval

Time interval for plotting.

specfem::enums::elastic_wave elastic_wave

Type of elastic wave simulation

specfem::enums::electromagnetic_wave electromagnetic_wave

Type of electromagnetic wave simulation