compressible_rk package

A method-of-lines compressible hydrodynamics solver. Piecewise constant reconstruction is done in space and a Runge-Kutta time integration is used to advance the solutiion.

Subpackages

Submodules

compressible_rk.fluxes module

This is a 2nd-order PLM method for a method-of-lines integration (i.e., no characteristic tracing).

We wish to solve

\[U_t + F^x_x + F^y_y = H\]

we want U_{i+1/2} – the interface values that are input to the Riemann problem through the faces for each zone.

Taylor expanding in space only yields:

                           dU
U          = U   + 0.5 dx  --
 i+1/2,j,L    i,j          dx
compressible_rk.fluxes.fluxes(my_data, rp, ivars, solid, tc)[source]

unsplitFluxes returns the fluxes through the x and y interfaces by doing an unsplit reconstruction of the interface values and then solving the Riemann problem through all the interfaces at once

currently we assume a gamma-law EOS

Parameters:
my_data : CellCenterData2d object

The data object containing the grid and advective scalar that we are advecting.

rp : RuntimeParameters object

The runtime parameters for the simulation

vars : Variables object

The Variables object that tells us which indices refer to which variables

tc : TimerCollection object

The timers we are using to profile

Returns:
out : ndarray, ndarray

The fluxes on the x- and y-interfaces

compressible_rk.simulation module

class compressible_rk.simulation.Simulation(solver_name, problem_name, rp, timers=None, data_class=<class 'mesh.patch.CellCenterData2d'>)[source]

Bases: compressible.simulation.Simulation

The main simulation class for the method of lines compressible hydrodynamics solver

evolve()[source]

Evolve the equations of compressible hydrodynamics through a timestep dt.

method_compute_timestep()[source]

The timestep function computes the advective timestep (CFL) constraint. The CFL constraint says that information cannot propagate further than one zone per timestep.

We use the driver.cfl parameter to control what fraction of the CFL step we actually take.

substep(myd)[source]

take a single substep in the RK timestepping starting with the conservative state defined as part of myd