specfem::source_time_functions::GaussianHdur¶
-
class GaussianHdur : public specfem::source_time_functions::stf¶
Gaussian source time function parameterized by half duration.
Similar to Gaussian but uses half duration (hdur) instead of frequency for parameterization.
Public Functions
-
GaussianHdur(const int nsteps, const type_real dt, const type_real hdur, const type_real tshift, const type_real factor, const bool use_trick_for_better_pressure, const type_real t0_factor = 1.5)¶
Construct a Gaussian source time function with half duration parameterization.
- Parameters:
nsteps – Number of time steps
dt – Time step size
hdur – Half duration
tshift – Time shift value
factor – Scaling factor
use_trick_for_better_pressure – Use pressure optimization trick
t0_factor – Start time factor (default: 1.5)
-
GaussianHdur(YAML::Node &GaussianNode, const int nsteps, const type_real dt, const bool use_trick_for_better_pressure, const type_real t0_factor = 1.5)¶
Construct a GaussianHdur source time function from YAML configuration.
- Parameters:
GaussianNode – YAML node with GaussianHdur 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.5)
-
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, Kokkos::View<type_real**, Kokkos::LayoutRight, Kokkos::HostSpace> 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
-
GaussianHdur(const int nsteps, const type_real dt, const type_real hdur, const type_real tshift, const type_real factor, const bool use_trick_for_better_pressure, const type_real t0_factor = 1.5)¶