jaxfluids.iles package
Submodules
jaxfluids.iles.ALDM module
- class jaxfluids.iles.ALDM.ALDM(domain_information: DomainInformation, material_manager: MaterialManager)[source]
Bases:
objectAdaptive Local Deconvolution Method - ALDM - Hickel et al. 2014
ALDM is a numerical scheme for computation of convective fluxes. It consits of a combined reconstruction and flux-function. ALDM is optimized to model subgrid-scale terms in underresolved LES.
ALDM consists of a 1) cell face reconstruction based on a convex sum of adapted WENO1, WENO3, and WENO5
2) flux-function with adjusted dissipation of SGS modeling and low Mach number consistency.
- compute_fluxes_xi(prime: Array, cons: Array, axis: int, **kwargs) Array[source]
Computes the numerical flux in the axis direction.
- Parameters:
prime (jnp.ndarray) – Buffer of primitive variables.
cons (jnp.ndarray) – Buffer of conservative variables.
axis (int) – Spatial direction in which the flux is computed.
- Returns:
Numerical flux in specified direction.
- Return type:
jnp.ndarray
- compute_phi(primes: Array, cons: Array) Array[source]
Computes the phi vector which is the quantity that is reconstructed in the ALDM scheme.
- phi vector notation different from paper,
ar{phi} = {ar{rho}, ar{u1}, ar{u2}, ar{u3}, ar{p}, ar{rho_e}}
- Parameters:
primes (jnp.ndarray) – Buffer of primitive variables.
cons (jnp.ndarray) – Buffer of conservative variables.
- Returns:
Buffer of the phi vector.
- Return type:
jnp.ndarray
- reconstruct_xi(phi: Array, alpha_1: Array, alpha_2: Array, alpha_3: Array, fs: Array, axis: int, j: int, dx: float | None = None) Tuple[Array, Array][source]
Reconstructs the phi vector along the axis direction. Reconstruction is done via a convex combination of modified WENO1, WENO3 and WENO5.
- Parameters:
phi (jnp.ndarray) – Buffer of phi vector.
alpha_1 (jnp.ndarray) – First-order reconstruction weight.
alpha_2 (jnp.ndarray) – Second-order reconstruction weight.
alpha_3 (jnp.ndarray) – Third-order reconstruction weight.
fs (jnp.ndarray) – Shock sensor.
axis (int) – Spatial direction along which reconstruction is done.
j (int) – Bit indicating whether reconstruction is left (j=0) or right (j=1) of the cell face.
dx (float, optional) – Vector of cell sizes in axis direction, defaults to None
- Returns:
Reconstructed phi vector and reconstructed third-oder pressure value.
- Return type:
Tuple[jnp.ndarray, jnp.ndarray]
- solve_riemann_problem_xi(phi_L: Array, phi_R: Array, p3_L: Array, p3_R: Array, alpha_3: Array, fs: Array, axis: int) Array[source]
Solves the Riemann problem, i.e., calculates the numerical flux, in the direction specified by axis.
phi = [rho, u1, u2, u3, p, rho_e] p3_K is third-order pressure reconstruction
- Parameters:
phi_L (jnp.ndarray) – Phi vector of left neighboring state
phi_R (jnp.ndarray) – Phi vector of right neighboring state
p3_L (jnp.ndarray) – Third-order pressure reconstruction of left neighboring state
p3_R (jnp.ndarray) – Third-order pressure reconstruction of right neighboring state
alpha_3 (jnp.ndarray) – Third-order reconstruction weight
fs (jnp.ndarray) – Shock sensor.
axis (int) – Spatial direction along which flux is calculated.
- Returns:
Numerical flux in axis drection.
- Return type:
jnp.ndarray
jaxfluids.iles.ALDM_WENO1 module
- class jaxfluids.iles.ALDM_WENO1.ALDM_WENO1(nh: int, inactive_axis: List)[source]
Bases:
SpatialReconstructionImplementation details provided in parent class.
jaxfluids.iles.ALDM_WENO3 module
- class jaxfluids.iles.ALDM_WENO3.ALDM_WENO3(nh: int, inactive_axis: List)[source]
Bases:
SpatialReconstructionImplementation details provided in parent class.
jaxfluids.iles.ALDM_WENO5 module
- class jaxfluids.iles.ALDM_WENO5.ALDM_WENO5(nh: int, inactive_axis: List)[source]
Bases:
SpatialReconstructionImplementation details provided in parent class.