lcyllp/moonbit-nlse-ssfm/src/types does not have a README file
fn DispersionProfile::new(alpha_db_per_km? : Double, beta2? : Double, beta3? : Double, beta4? : Double, beta5? : Double, beta6? : Double, beta7? : Double, beta8? : Double, beta9? : Double, beta10? : Double) -> DispersionProfilepub struct FiberSegment {
name : String
length : Double
dispersion : DispersionProfile
nonlinearity : NonlinearProfile
gain_db_per_m : Double
saturation_energy : Double
} derive(Eq, Debug)fn FiberSegment::new(name : String, length : Double, dispersion : DispersionProfile, nonlinearity : NonlinearProfile, gain_db_per_m? : Double, saturation_energy? : Double) -> FiberSegmentfn NonlinearProfile::new(gamma? : Double, self_steepening? : Bool, tau_s? : Double, enable_raman? : Bool, fr? : Double, tau1? : Double, tau2? : Double) -> NonlinearProfilepub struct PulseConfig {
shape : PulseShape
peak_power : Double
fwhm_duration : Double
central_wavelength : Double
chirp : Double
order : Double
phase_offset : Double
time_window : Double
num_points : Int
} derive(Eq, Debug)fn PulseConfig::new(shape? : PulseShape, peak_power? : Double, fwhm_duration? : Double, central_wavelength? : Double, chirp? : Double, order? : Double, phase_offset? : Double, time_window? : Double, num_points? : Int) -> PulseConfigimpl Show for PulseShapepub struct SimulationConfig {
solver_method : SolverMethod
total_length : Double
num_steps : Int
adaptive_step : Bool
tolerance : Double
max_step_size : Double
min_step_size : Double
save_history_steps : Int
} derive(Eq, Debug)fn SimulationConfig::new(solver_method? : SolverMethod, total_length? : Double, num_steps? : Int, adaptive_step? : Bool, tolerance? : Double, max_step_size? : Double, min_step_size? : Double, save_history_steps? : Int) -> SimulationConfigimpl Show for SolverMethodlet WAVELENGTH_1550NM : Doublelet WAVELENGTH_800NM : Doublefn average_power_to_energy(avg_power_w : Double, rep_rate_hz : Double) -> Doublefn bessel_j0(x : Double) -> Doublefn bessel_j1(x : Double) -> Doublefn beta2_to_d(beta2 : Double, wavelength_m : Double) -> Doublefn d_to_beta2(d_param : Double, wavelength : Double) -> Doublefn d_to_beta2_param(d_param : Double, wavelength_m : Double) -> Doublefn dt_to_frequency_span(dt : Double) -> Doublefn energy_to_average_power(energy_j : Double, rep_rate_hz : Double) -> Doublefn energy_to_gaussian_peak_power(energy_j : Double, fwhm_duration : Double) -> Doublefn energy_to_sech_peak_power(energy_j : Double, fwhm_duration : Double) -> Doublefn erf(x : Double) -> Doublefn grid_frequency_resolution(num_points : Int, dt : Double) -> Doublefn omega_to_wavelength(omega : Double) -> Doublefn watts_to_dbm(power_w : Double) -> Doublefn wavelength_to_omega(wavelength : Double) -> DoubleInstall
Download zipNonlinear Fiber Optics and Optical Pulse Propagation Split-Step Fourier Simulator in MoonBit