5#ifndef FLUX_CORRECTION_H
6#define FLUX_CORRECTION_H
8void Flux_Correction_3D(Real *C1, Real *C2,
int nx,
int ny,
int nz,
int x_off,
int y_off,
int z_off,
int n_ghost,
9 Real dx, Real dy, Real dz, Real xbound, Real ybound, Real zbound, Real dt);
11void fill_flux_array_pcm(Real *C1,
int idl,
int idr, Real cW[],
int n_cells,
int dir);
13void second_order_fluxes(Real *C1, Real *C2, Real C_i[], Real C_imo[], Real C_imt[], Real C_ipo[], Real C_ipt[],
14 Real C_jmo[], Real C_jmt[], Real C_jpo[], Real C_jpt[], Real C_kmo[], Real C_kmt[],
15 Real C_kpo[], Real C_kpt[],
int i,
int j,
int k, Real dx, Real dy, Real dz, Real dt,
16 int n_fields,
int nx,
int ny,
int nz,
int n_cells);
18void average_cell(Real *C1,
int i,
int j,
int k,
int nx,
int ny,
int nz,
int n_cells,
int n_fields);
20void first_order_fluxes(Real *C1, Real *C2,
int i,
int j,
int k, Real dtodx, Real dtody, Real dtodz,
int nfields,
21 int nx,
int ny,
int nz,
int n_cells);
23void first_order_update(Real *C1, Real *C_half,
int i,
int j,
int k, Real dtodx, Real dtody, Real dtodz,
int nfields,
24 int nx,
int ny,
int nz,
int n_cells);
26void calc_g_3D(
int xid,
int yid,
int zid,
int x_off,
int y_off,
int z_off,
int n_ghost, Real dx, Real dy, Real dz,
27 Real xbound, Real ybound, Real zbound, Real *gx, Real *gy, Real *gz);
29void cooling_CPU(Real *C2,
int id,
int n_cells, Real dt);
31Real Schure_cool_CPU(Real n, Real T);
33Real Wiersma_cool_CPU(Real n, Real T);