specfem::source_time_functions::Ricker

class Ricker : public specfem::source_time_functions::stf

Ricker wavelet source time function (first derivative of a Gaussian)

Commonly used in seismic modeling, defined as the second derivative of a Gaussian function.

Public Functions

Ricker(const int nsteps, const type_real dt, const type_real f0, const type_real tshift, const type_real factor, const bool use_trick_for_better_pressure, const type_real t0_factor = 1.2)

Construct a Ricker source time function.

Parameters:
  • nsteps – Number of time steps

  • dt – Time step size

  • f0 – Central frequency

  • tshift – Time shift value

  • factor – Scaling factor

  • use_trick_for_better_pressure – Use pressure optimization trick

  • t0_factor – Start time factor (default: 1.2)

Ricker(YAML::Node &Ricker, const int nsteps, const type_real dt, const bool use_trick_for_better_pressure, const type_real t0_factor = 1.2)

Construct a Ricker source time function from YAML configuration.

Parameters:
  • Ricker – YAML node with Ricker parameters

  • nsteps – Number of time steps

  • dt – Time step size

  • use_trick_for_better_pressure – Use pressure optimization trick

  • t0_factor – Start time factor (default: 1.2)

type_real compute(type_real t)

Compute source time function value at time t.

Parameters:

t – Time value

Returns:

Source time function value

inline virtual void update_tshift(type_real tshift) override

Update the time shift value.

Parameters:

tshift – New time shift value

inline virtual type_real get_t0() const override

Get start time value.

Returns:

Start time t0

inline virtual type_real get_tshift() const override

Get the time shift value.

Returns:

Time shift value

virtual std::string print() const override

Get string representation of the source time function.

Returns:

String describing the STF parameters

virtual void compute_source_time_function(const type_real t0, const type_real dt, const int nsteps, specfem::kokkos::HostView2d<type_real> source_time_function) override

Compute source time function values for all time steps.

Parameters:
  • t0 – Start time

  • dt – Time step size

  • nsteps – Number of time steps

  • source_time_function – Output view to store computed values

virtual bool operator==(const stf &other) const override

Equality operator.

Parameters:

other – Another source time function to compare with

Returns:

true if equal, false otherwise

virtual bool operator!=(const stf &other) const override

Inequality operator.

Parameters:

other – Another source time function to compare with

Returns:

true if not equal, false otherwise