#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().
1.5.2