#include <sed/sed_sedflux.h>
#include "inflow_local.h"
#include "inflow.h"
Go to the source code of this file.
Defines | |
#define | INFLOW_VELOCITY_RANGE (3.0) |
#define | INFLOW_INITIAL_WIDTH (1000.0) |
#define | INFLOW_INITIAL_HEIGHT (6.0) |
#define | INFLOW_INITIAL_VELOCITY (1.0) |
#define | INFLOW_INITIAL_CONCENTRATION (.01) |
#define | INFLOW_GRAIN_DENSITY (2650.) |
#define | INFLOW_SPREADING_ANGLE (14.) |
#define | INFLOW_DENSITY_OF_SEDIMENT_GRAINS (2650.) |
Functions | |
void | inflow_erode_sediment (Sed_cube p, Inflow_bathy_st *bathy_data, gssize i_start, double **erosion_in_m) |
void | inflow_deposit_sediment (Sed_cube p, Inflow_bathy_st *bathy_data, gssize i_start, double **deposit_in_m) |
double * | inflow_set_width_from_cube (Sed_cube p, gssize i_start) |
Inflow_bathy_st * | inflow_set_bathy_data_from_cube (Sed_cube p, double *width, gssize ind_start, double dx) |
Inflow_sediment_st * | inflow_set_sediment_data_from_env () |
void | sed_get_phe (Inflow_phe_query_st *data, Sed_cube p) |
double | inflow_get_equivalent_diameter (double real_diameter) |
gboolean | sed_inflow (Sed_cube p, Sed_hydro f, gint i_start, double dx, Inflow_const_st *c) |
Sed_hydro | inflow_flood_from_cell (Sed_cell c, double area) |
#define INFLOW_DENSITY_OF_SEDIMENT_GRAINS (2650.) |
#define INFLOW_GRAIN_DENSITY (2650.) |
Definition at line 10 of file inflow_sedflux_interface.c.
Referenced by inflow_flood_from_cell(), and inflow_set_sediment_data_from_env().
#define INFLOW_INITIAL_CONCENTRATION (.01) |
#define INFLOW_INITIAL_HEIGHT (6.0) |
#define INFLOW_INITIAL_VELOCITY (1.0) |
#define INFLOW_INITIAL_WIDTH (1000.0) |
Definition at line 6 of file inflow_sedflux_interface.c.
Referenced by inflow_flood_from_cell(), and inflow_set_width_from_cube().
#define INFLOW_SPREADING_ANGLE (14.) |
Definition at line 11 of file inflow_sedflux_interface.c.
Referenced by inflow_set_width_from_cube().
#define INFLOW_VELOCITY_RANGE (3.0) |
Definition at line 5 of file inflow_sedflux_interface.c.
void inflow_deposit_sediment | ( | Sed_cube | p, | |
Inflow_bathy_st * | bathy_data, | |||
gssize | i_start, | |||
double ** | deposit_in_m | |||
) |
Definition at line 140 of file inflow_sedflux_interface.c.
References eh_dbl_array_mult(), eh_dbl_array_mult_each(), eh_dbl_array_rebin(), eh_free, eh_new, Inflow_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(), Inflow_bathy_st::width, and Inflow_bathy_st::x.
Referenced by sed_inflow().
void inflow_erode_sediment | ( | Sed_cube | p, | |
Inflow_bathy_st * | bathy_data, | |||
gssize | i_start, | |||
double ** | erosion_in_m | |||
) |
Definition at line 104 of file inflow_sedflux_interface.c.
References eh_dbl_array_mult(), eh_dbl_array_mult_each(), eh_dbl_array_rebin(), eh_free, eh_new, Inflow_bathy_st::len, sed_column_remove_top(), sed_cube_col(), sed_cube_x_res(), sed_cube_y_res(), sed_sediment_env_n_types(), Inflow_bathy_st::width, and Inflow_bathy_st::x.
Referenced by sed_inflow().
Sed_hydro inflow_flood_from_cell | ( | Sed_cell | c, | |
double | area | |||
) |
Definition at line 212 of file inflow_sedflux_interface.c.
References eh_dbl_array_mult(), eh_free, eh_require, INFLOW_GRAIN_DENSITY, INFLOW_INITIAL_CONCENTRATION, INFLOW_INITIAL_HEIGHT, INFLOW_INITIAL_VELOCITY, INFLOW_INITIAL_WIDTH, S_DAYS_PER_SECOND, 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_inflow().
double inflow_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 411 of file inflow_sedflux_interface.c.
Referenced by inflow_set_sediment_data_from_env().
Inflow_bathy_st * inflow_set_bathy_data_from_cube | ( | Sed_cube | p, | |
double * | width, | |||
gssize | ind_start, | |||
double | dx | |||
) |
Definition at line 256 of file inflow_sedflux_interface.c.
References eh_dbl_grid_data(), eh_free, eh_grid_destroy(), eh_id_array(), eh_new_2, eh_require, inflow_set_bathy_data(), sed_cube_size(), sed_cube_water_depth_grid(), and sed_cube_y().
Referenced by sed_inflow().
Inflow_sediment_st * inflow_set_sediment_data_from_env | ( | ) |
Definition at line 302 of file inflow_sedflux_interface.c.
References Inflow_sediment_st::bulk_density, eh_dbl_array_new_set(), eh_new, Inflow_sediment_st::grain_density, inflow_get_equivalent_diameter(), INFLOW_GRAIN_DENSITY, Inflow_sediment_st::lambda, Inflow_sediment_st::n_grains, sed_sediment_env_n_types(), sed_sediment_property(), sed_type_grain_size_in_meters(), sed_type_lambda_in_per_seconds(), sed_type_rho_sat(), and Inflow_sediment_st::size_equiv.
Referenced by sed_inflow().
double * inflow_set_width_from_cube | ( | Sed_cube | p, | |
gssize | i_start | |||
) |
Definition at line 186 of file inflow_sedflux_interface.c.
References eh_dbl_array_new_set(), INFLOW_INITIAL_WIDTH, INFLOW_SPREADING_ANGLE, S_RADS_PER_DEGREE, sed_cube_n_y(), sed_cube_x_res(), and sed_cube_y_res().
Referenced by sed_inflow().
void sed_get_phe | ( | Inflow_phe_query_st * | data, | |
Sed_cube | p | |||
) |
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 339 of file inflow_sedflux_interface.c.
References Inflow_phe_query_st::dx, eh_lower_bound, eh_upper_bound, Inflow_phe_query_st::erode_depth, INFLOW_DENSITY_OF_SEDIMENT_GRAINS, Inflow_phe_query_st::phe, sed_cell_destroy(), sed_cell_new_env(), sed_cell_nth_fraction(), sed_column_extract_top(), sed_cube_col(), sed_cube_n_y(), sed_cube_thickness(), sed_cube_y_res(), sed_sediment_env_n_types(), sed_sediment_type(), sed_type_rho_sat(), and Inflow_phe_query_st::x.
Referenced by sed_inflow().
gboolean sed_inflow | ( | Sed_cube | p, | |
Sed_hydro | f, | |||
gint | i_start, | |||
double | dx, | |||
Inflow_const_st * | c | |||
) |
Definition at line 37 of file inflow_sedflux_interface.c.
References Inflow_flood_st::duration, eh_free_2, eh_new_2, eh_require, Inflow_const_st::get_phe, Inflow_const_st::get_phe_data, inflow_deposit_sediment(), inflow_destroy_bathy_data(), inflow_destroy_flood_data(), inflow_erode_sediment(), inflow_set_bathy_data_from_cube(), inflow_set_flood_data(), inflow_set_sediment_data_from_env(), inflow_set_width_from_cube(), inflow_wrapper(), Inflow_bathy_st::len, Inflow_sediment_st::n_grains, Inflow_const_st::rho_river_water, S_SECONDS_PER_DAY, sed_get_phe(), and sed_hydro_duration().
Referenced by run_plume_hyper_inflow(), and run_turbidity_inflow().