rolland.discretization.DiscretizationEBBVertic¶
- class rolland.discretization.DiscretizationEBBVertic(*args, **kwargs)[source]¶
Bases:
DiscretizationAbstract base class for FDM discretization according to Stampka and Sarradj [4].
Discretizes the differential equation and can be applied either with constant or time-dependent parameters, which is the case, for example, with a moving sound source.
- Parameters:
args (t.Any)
kwargs (t.Any)
- dt¶
Step size in time \([s]\).
- Type:
float
- req_simt¶
Requested simulation time \([s]\).
- Type:
float
- bx¶
Stability coefficient for dx calculation (must be \(b_x \geq 1\)) \([-]\).
- Type:
float
- nt¶
Number of time steps \([-]\).
- Type:
int
- sim_t¶
Actual simulation time \([s]\).
- Type:
float
- dx¶
Step size in space \([m]\).
- Type:
float
- bx_upd¶
Updated stability coefficient \([-]\).
- Type:
float
- nx¶
Number of spatial steps \([-]\).
- Type:
int
- bound¶
Boundary instance.
- Type:
- n_bound¶
Number of spatial steps in single sided boundary domain \([-]\).
- Type:
int
- pml¶
Damping array for boundary domain.
- Type:
numpy.ndarray
- A¶
Coefficient matrix A.
- Type:
scipy.sparse.csc_matrix
- B¶
Coefficient matrix B.
- Type:
scipy.sparse.csc_matrix
- C¶
Coefficient matrix C.
- Type:
scipy.sparse.csc_matrix
- build_matrix(vec_dr, vec_sp, vec_dp, vec_ms, vec_sb, vec_db)[source]¶
Build matrices A, B, and C according to Stampka and Sarradj [4].
- Parameters:
vec_dr (numpy.ndarray) – Rail damping vector.
vec_sp (numpy.ndarray) – Pad stiffness vector.
vec_dp (numpy.ndarray) – Pad damping vector.
vec_ms (numpy.ndarray) – Sleeper/Slab mass vector.
vec_sb (numpy.ndarray) – Ballast stiffness vector.
vec_db (numpy.ndarray) – Ballast damping vector.
- Return type:
None