specfem::source_time_functions::Heaviside¶
-
class Heaviside : public specfem::source_time_functions::stf¶
Heaviside step function source time function.
Represents a step function that transitions from 0 to 1 over a specified duration.
Public Functions
-
Heaviside(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 = 2.0)¶
Construct a Heaviside step function source time function.
- 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: 2.0)
-
Heaviside(YAML::Node &HeavisideNode, const int nsteps, const type_real dt, const bool use_trick_for_better_pressure, const type_real t0_factor = 2.0)¶
Construct a Heaviside source time function from YAML configuration.
- Parameters:
HeavisideNode – YAML node with Heaviside 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: 2.0)
-
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
-
Heaviside(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 = 2.0)¶