#include <sed/sed_sedflux.h>
#include "sakura_local.h"
#include "sakura.h"
#include <string.h>
Go to the source code of this file.
Defines | |
#define | SAKURA_VELOCITY_RANGE (3.0) |
#define | SAKURA_INITIAL_WIDTH (1000.0) |
#define | SAKURA_INITIAL_HEIGHT (6.0) |
#define | SAKURA_INITIAL_VELOCITY (1.0) |
#define | SAKURA_INITIAL_CONCENTRATION (.01) |
#define | SAKURA_GRAIN_DENSITY (2650.) |
#define | SAKURA_SPREADING_ANGLE (14.) |
#define | SAKURA_DENSITY_OF_SEDIMENT_GRAINS (2650.) |
Functions | |
void | sakura_erode_sediment (Sed_cube p, Sakura_bathy_st *bathy_data, gssize i_start, double **erosion_in_m) |
void | sakura_deposit_sediment (Sed_cube p, Sakura_bathy_st *bathy_data, gssize i_start, double **deposit_in_m) |
double * | sakura_set_width_from_cube (Sed_cube p, gssize i_start) |
Sakura_bathy_st * | sakura_set_bathy_data_from_cube (Sed_cube p, double *width, gssize ind_start, double dx) |
Sakura_sediment_st * | sakura_set_sediment_data_from_env () |
double | sakura_get_equivalent_diameter (double real_diameter) |
gboolean | sed_sakura (Sed_cube p, Sed_hydro f, gint i_start, double dx, Sakura_const_st *c) |
Sed_hydro | sakura_flood_from_cell (Sed_cell c, double area) |
void | sakura_sed_get_phe (Sed_cube p, double y, Sakura_phe_st *phe_data) |
double | sakura_sed_remove_sediment (Sed_cube p, double y, Sakura_cell_st *s) |
double | sakura_sed_add_sediment (Sed_cube p, double y, Sakura_cell_st *s) |
double | sakura_sed_get_depth (Sed_cube p, double y) |
#define SAKURA_DENSITY_OF_SEDIMENT_GRAINS (2650.) |
Definition at line 12 of file sakura_sedflux_interface.c.
#define SAKURA_GRAIN_DENSITY (2650.) |
#define SAKURA_INITIAL_CONCENTRATION (.01) |
#define SAKURA_INITIAL_HEIGHT (6.0) |
#define SAKURA_INITIAL_VELOCITY (1.0) |
#define SAKURA_INITIAL_WIDTH (1000.0) |
Definition at line 6 of file sakura_sedflux_interface.c.
Referenced by sakura_flood_from_cell(), and sakura_set_width_from_cube().
#define SAKURA_SPREADING_ANGLE (14.) |
Definition at line 11 of file sakura_sedflux_interface.c.
Referenced by sakura_set_width_from_cube().
#define SAKURA_VELOCITY_RANGE (3.0) |
Definition at line 5 of file sakura_sedflux_interface.c.
void sakura_deposit_sediment | ( | Sed_cube | p, | |
Sakura_bathy_st * | bathy_data, | |||
gssize | i_start, | |||
double ** | deposit_in_m | |||
) |
Definition at line 151 of file sakura_sedflux_interface.c.
References eh_dbl_array_mult(), eh_dbl_array_mult_each(), eh_dbl_array_rebin(), eh_free, eh_new, Sakura_bathy_st::len, S_FACIES_TURBIDITE, sed_cell_add_amount(), sed_cell_clear(), sed_cell_destroy(), sed_cell_new_env(), sed_cell_set_age(), sed_cell_set_facies(), sed_column_add_cell(), sed_cube_age(), sed_cube_col(), sed_cube_x_res(), sed_cube_y_res(), sed_sediment_env_n_types(), Sakura_bathy_st::width, and Sakura_bathy_st::x.
void sakura_erode_sediment | ( | Sed_cube | p, | |
Sakura_bathy_st * | bathy_data, | |||
gssize | i_start, | |||
double ** | erosion_in_m | |||
) |
Definition at line 114 of file sakura_sedflux_interface.c.
References eh_dbl_array_mult(), eh_dbl_array_mult_each(), eh_dbl_array_rebin(), eh_free, eh_new, Sakura_bathy_st::len, sed_column_remove_top(), sed_cube_col(), sed_cube_x_res(), sed_cube_y_res(), sed_sediment_env_n_types(), Sakura_bathy_st::width, and Sakura_bathy_st::x.
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().
double sakura_get_equivalent_diameter | ( | double | real_diameter | ) |
Calculate the equivalent grain size.
Sediment grains falling through water will settle a rates that are greater than those predicted because of flocculation. That is, a grain will settle at a rate predicted for a larger grain. This function calculates this "equivalent" grain size, given the real grain size.
real_diameter | The real grain size in meters. |
Definition at line 529 of file sakura_sedflux_interface.c.
double sakura_sed_add_sediment | ( | Sed_cube | p, | |
double | y, | |||
Sakura_cell_st * | s | |||
) |
Definition at line 470 of file sakura_sedflux_interface.c.
References eh_free, eh_new0, eh_require, Sakura_cell_st::id, sed_column_add_vec(), sed_column_water_depth(), sed_cube_col_pos(), sed_cube_x_res(), sed_cube_y_res(), sed_sediment_env_n_types(), and Sakura_cell_st::t.
Referenced by sed_sakura().
double sakura_sed_get_depth | ( | Sed_cube | p, | |
double | y | |||
) |
Definition at line 501 of file sakura_sedflux_interface.c.
References eh_require, sed_cube_column_id(), and sed_cube_water_depth().
Referenced by sed_sakura().
void sakura_sed_get_phe | ( | Sed_cube | p, | |
double | y, | |||
Sakura_phe_st * | phe_data | |||
) |
Get the grain size distribution of bottom sediments.
Get the fractions of each grain type of bottom sediments from a Sed_cube. This function is intended to be used within another program that needs to communicate with the sedflux architecture but is otherwise separate from sedflux.
Note that the member, eroded_depth may be changed to reflect the actual amount of bottom sediment available to be eroded. That is, we may be trying to erode more sediment than is actually present.
data | A structure that contains the necessary data for the function to retreive the grain type fracitons. | |
p | A Sed_cube to query |
Definition at line 383 of file sakura_sedflux_interface.c.
References eh_dbl_array_set(), eh_require, eh_upper_bound, Sakura_phe_st::phe, sed_cell_copy_fraction(), sed_cell_destroy(), sed_cell_new_env(), sed_cell_size(), sed_column_extract_top(), sed_cube_col(), sed_cube_column_id(), sed_cube_is_in_domain(), sed_cube_thickness(), sed_cube_x_res(), sed_cube_y_res(), sed_sediment_env_n_types(), and Sakura_phe_st::val.
Referenced by sed_sakura().
double sakura_sed_remove_sediment | ( | Sed_cube | p, | |
double | y, | |||
Sakura_cell_st * | s | |||
) |
Definition at line 443 of file sakura_sedflux_interface.c.
References eh_free, eh_new0, eh_require, Sakura_cell_st::id, sed_cell_destroy(), sed_cell_size(), sed_column_separate_top(), sed_cube_col_pos(), sed_cube_x_res(), sed_cube_y_res(), sed_sediment_env_n_types(), and Sakura_cell_st::t.
Referenced by sed_sakura().
Sakura_bathy_st * sakura_set_bathy_data_from_cube | ( | Sed_cube | p, | |
double * | width, | |||
gssize | ind_start, | |||
double | dx | |||
) |
Definition at line 267 of file sakura_sedflux_interface.c.
References eh_dbl_grid_data(), eh_free, eh_grid_destroy(), eh_id_array(), eh_new_2, eh_require, sakura_set_bathy_data(), sed_cube_size(), sed_cube_water_depth_grid(), sed_cube_y(), and sed_sediment_env_n_types().
Referenced by sed_sakura().
Sakura_sediment_st * sakura_set_sediment_data_from_env | ( | ) |
Definition at line 307 of file sakura_sedflux_interface.c.
References Sakura_sediment_st::bulk_density, eh_new, Sakura_sediment_st::grain_density, Sakura_sediment_st::lambda, Sakura_sediment_st::n_grains, Sakura_sediment_st::reynolds_no, S_DAYS_PER_SECOND, S_SECONDS_PER_DAY, sed_removal_rate_to_settling_velocity(), sed_sediment_env_n_types(), sed_sediment_property(), sed_type_lambda_in_per_seconds(), sed_type_rho_grain(), sed_type_rho_sat(), Sakura_sediment_st::size_equiv, and Sakura_sediment_st::u_settling.
Referenced by sed_sakura().
double * sakura_set_width_from_cube | ( | Sed_cube | p, | |
gssize | i_start | |||
) |
Definition at line 197 of file sakura_sedflux_interface.c.
References eh_dbl_array_new_set(), S_RADS_PER_DEGREE, SAKURA_INITIAL_WIDTH, SAKURA_SPREADING_ANGLE, sed_cube_n_y(), sed_cube_x_res(), and sed_cube_y_res().
Referenced by sed_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().