#include <stdio.h>
#include <glib.h>
#include <utils/utils.h>
#include <sed/sed_sedflux.h>
#include <sed/datadir_path.h>
Go to the source code of this file.
Classes | |
struct | Sakura_phe_st |
struct | Sakura_cell_st |
struct | Sakura_const_st |
Defines | |
#define | DATADIR "/usr/local/share" |
#define | SAKURA_TEST_PARAM_FILE DATADIR "/ew/sakura_param.kvf" |
#define | SAKURA_TEST_BATHY_FILE DATADIR "/ew/sakura_bathy.csv" |
#define | SAKURA_TEST_FLOOD_FILE DATADIR "/ew/sakura_flood.kvf" |
#define | SAKURA_ERROR sakura_error_quark() |
Typedefs | |
typedef double(*) | Sakura_phe_func (gpointer data, double x, Sakura_phe_st *s) |
typedef double(*) | Sakura_add_func (gpointer data, double x, Sakura_cell_st *s) |
typedef double(*) | Sakura_get_func (gpointer data, double x) |
Enumerations | |
enum | Sakura_error { SAKURA_ERROR_BAD_PARAMETER } |
Functions | |
double ** | sakura (double u_riv, double c_riv, double h_riv, double *f_riv, double dt, double duration, double *x, double *z, double *w, gint len, double *rho_grain, double *rho_dep, double *u_fall, gint n_grains, Sakura_const_st *c) |
Sed_hydro | sakura_flood_from_cell (Sed_cell c, double area) |
gboolean | sed_sakura (Sed_cube p, Sed_hydro f, gint i_start, double dx, Sakura_const_st *c) |
#define SAKURA_ERROR sakura_error_quark() |
#define SAKURA_TEST_BATHY_FILE DATADIR "/ew/sakura_bathy.csv" |
#define SAKURA_TEST_FLOOD_FILE DATADIR "/ew/sakura_flood.kvf" |
#define SAKURA_TEST_PARAM_FILE DATADIR "/ew/sakura_param.kvf" |
typedef double(*) Sakura_add_func(gpointer data, double x, Sakura_cell_st *s) |
typedef double(*) Sakura_get_func(gpointer data, double x) |
typedef double(*) Sakura_phe_func(gpointer data, double x, Sakura_phe_st *s) |
enum Sakura_error |
double** sakura | ( | double | u_riv, | |
double | c_riv, | |||
double | h_riv, | |||
double * | f_riv, | |||
double | dt, | |||
double | duration, | |||
double * | x, | |||
double * | z, | |||
double * | w, | |||
gint | n_nodes, | |||
double * | rho_grain, | |||
double * | rho_dep, | |||
double * | u_fall, | |||
gint | n_grains, | |||
Sakura_const_st * | c | |||
) |
Run the sakura hyperpycnal flow model
u_riv | River velocity (m/s) | |
c_riv | River concentration (kg/m^3) | |
h_riv | River depth (m) | |
f_riv | Fraction of each grain type in river | |
dt | Time step to use (s) | |
duration | Duration of flow (s) | |
x | Position of grid nodes (m) | |
z | Elevation of grid nodes (m) | |
w | Channel widht at grid nodes (m) | |
n_nodes | Number of grid nodes | |
rho_grain | Grain density of sediment types (kg/m^3) | |
rho_dep | Bulk density of each grain type when deposited on the sea floor (kg/m^3) | |
u_fall | Settling velocitiesfor sediment types (m/s) | |
n_grains | Number of sediment types | |
c | Structure of constants used in model |
Definition at line 1535 of file sakura.c.
References Sakura_const_st::c_drag, calculate_head_index(), calculate_mid_c_and_h(), calculate_mid_vel(), calculate_next_vel(), Sakura_const_st::channel_len, Sakura_const_st::channel_width, compute_next_c(), compute_next_h(), Sakura_array::d, Sakura_const_st::data_int, Sakura_const_st::dep_start, Sakura_const_st::dt, Sakura_const_st::e_a, Sakura_const_st::e_b, eh_compare_dbl(), eh_dbl_array_dup(), eh_dbl_array_set(), eh_dbl_array_sum(), eh_free, eh_new_2, eh_require, eh_watch_dbl, floor, HMIN, inflow(), Sakura_const_st::mu_water, Sakura_const_st::rho_river_water, Sakura_const_st::rho_sea_water, S_SECONDS_PER_DAY, sakura_array_copy(), sakura_array_destroy(), sakura_array_mass_deposited(), sakura_array_mass_eroded(), sakura_array_mass_in_susp(), sakura_array_mass_lost(), sakura_array_new(), sakura_array_print_data(), sakura_array_set_bc(), sakura_array_set_w(), sakura_array_set_x(), sakura_deposit_all(), sakura_node_destroy(), sakura_node_new(), sakura_sediment_destroy(), sakura_sediment_new(), sakura_sediment_set_rho_dep(), sakura_sediment_set_rho_grain(), sakura_sediment_set_u_settling(), sakura_set_outflow(), Sakura_const_st::sua, Sakura_const_st::sub, Sakura_const_st::tan_phi, Sakura_array::u, and Sakura_array::x.
Referenced by sakura_wrapper().
Sed_hydro sakura_flood_from_cell | ( | Sed_cell | c, | |
double | area | |||
) |
Definition at line 223 of file sakura_sedflux_interface.c.
References eh_dbl_array_mult(), eh_free, eh_require, S_DAYS_PER_SECOND, SAKURA_GRAIN_DENSITY, SAKURA_INITIAL_CONCENTRATION, SAKURA_INITIAL_HEIGHT, SAKURA_INITIAL_VELOCITY, SAKURA_INITIAL_WIDTH, sed_cell_copy_fraction(), sed_cell_density(), sed_cell_n_types(), sed_cell_size_0(), sed_hydro_check(), sed_hydro_new(), sed_hydro_set_bedload(), sed_hydro_set_depth(), sed_hydro_set_duration(), sed_hydro_set_nth_concentration(), sed_hydro_set_velocity(), sed_hydro_set_width(), sed_hydro_size(), and sed_hydro_suspended_flux().
Referenced by run_turbidity_sakura().
gboolean sed_sakura | ( | Sed_cube | p, | |
Sed_hydro | f, | |||
gint | i_start, | |||
double | dx, | |||
Sakura_const_st * | c | |||
) |
Definition at line 42 of file sakura_sedflux_interface.c.
References Sakura_const_st::add, Sakura_const_st::add_data, Sakura_const_st::depth_data, eh_free_2, eh_require, Sakura_const_st::get_depth, Sakura_const_st::get_phe, Sakura_const_st::get_phe_data, Sakura_bathy_st::len, Sakura_sediment_st::n_grains, Sakura_const_st::remove, Sakura_const_st::remove_data, Sakura_const_st::rho_river_water, S_SECONDS_PER_DAY, sakura_destroy_bathy_data(), sakura_destroy_flood_data(), sakura_sed_add_sediment(), sakura_sed_get_depth(), sakura_sed_get_phe(), sakura_sed_remove_sediment(), sakura_sed_set_flood_data(), sakura_set_bathy_data_from_cube(), sakura_set_sediment_data_from_env(), sakura_set_width(), sakura_set_width_from_cube(), sakura_wrapper(), sed_hydro_duration(), and Sakura_flood_st::width.
Referenced by run_plume_hyper_sakura(), and run_turbidity_sakura().