#include <stdio.h>
#include <limits.h>
#include <string.h>
#include <math.h>
#include <utils/utils.h>
#include <sed/sed_sedflux.h>
#include "my_processes.h"
#include "sedflux.h"
Go to the source code of this file.
Classes | |
struct | Bed_load_data |
Defines | |
#define | SED_BEDLOAD_PROC_NAME "bedload dumping" |
#define | EH_LOG_DOMAIN SED_BEDLOAD_PROC_NAME |
#define | BED_LOAD_SPREADING_ANGLE (14.*S_RADS_PER_DEGREE) |
#define | BEDLOAD_KEY_DUMP_LEN "distance to dump bedload" |
#define | BEDLOAD_KEY_RATIO "ratio of flood plain to bedload rate" |
#define | BEDLOAD_KEY_RETAINED "fraction of bedload retained in the delta plain" |
#define | BEDLOAD_KEY_RIVER_NAME "river name" |
Functions | |
double | deposit_in_ocean (Sed_cube p, Sed_riv r, double vol, Eh_dbl_grid fraction_grid) |
double | deposit_in_river (Sed_cube p, Sed_riv r, double vol) |
gboolean | bed_load_2d_domain (double x, double y, Bed_load_data *user_data) |
gboolean | bed_load_1d_domain (double x, double y, Bed_load_data *user_data) |
Sed_process_info | run_bedload (Sed_process p, Sed_cube prof) |
gboolean | init_bedload (Sed_process p, Eh_symbol_table t, GError **error) |
gboolean | destroy_bedload (Sed_process p) |
#define BED_LOAD_SPREADING_ANGLE (14.*S_RADS_PER_DEGREE) |
#define BEDLOAD_KEY_DUMP_LEN "distance to dump bedload" |
#define BEDLOAD_KEY_RATIO "ratio of flood plain to bedload rate" |
#define BEDLOAD_KEY_RETAINED "fraction of bedload retained in the delta plain" |
#define BEDLOAD_KEY_RIVER_NAME "river name" |
#define EH_LOG_DOMAIN SED_BEDLOAD_PROC_NAME |
Definition at line 22 of file run_bedload.c.
#define SED_BEDLOAD_PROC_NAME "bedload dumping" |
Definition at line 21 of file run_bedload.c.
gboolean bed_load_1d_domain | ( | double | x, | |
double | y, | |||
Bed_load_data * | user_data | |||
) |
Definition at line 467 of file run_bedload.c.
References Bed_load_data::dy, Bed_load_data::r_max, and Bed_load_data::y_0.
Referenced by run_bedload().
gboolean bed_load_2d_domain | ( | double | x, | |
double | y, | |||
Bed_load_data * | user_data | |||
) |
Definition at line 481 of file run_bedload.c.
References Bed_load_data::dx, Bed_load_data::dy, eh_reduce_angle(), M_PI, Bed_load_data::max_angle, Bed_load_data::min_angle, Bed_load_data::r_max, Bed_load_data::x_0, and Bed_load_data::y_0.
Referenced by run_bedload().
double deposit_in_ocean | ( | Sed_cube | p, | |
Sed_riv | r, | |||
double | vol, | |||
Eh_dbl_grid | fraction_grid | |||
) |
Definition at line 277 of file run_bedload.c.
References eh_dbl_grid_sum(), eh_dbl_grid_val(), eh_grid_low_x(), eh_grid_low_y(), eh_grid_n_x(), eh_grid_n_y(), eh_require, eh_require_not_reached, sed_cell_add(), sed_cell_destroy(), sed_cell_grid_val(), sed_cell_new_bedload(), sed_cell_resize(), sed_cube_in_suspension(), sed_cube_x_res(), and sed_cube_y_res().
Referenced by run_bedload().
double deposit_in_river | ( | Sed_cube | p, | |
Sed_riv | r, | |||
double | vol | |||
) |
Deposit sediment along the profile of a river.
p | A Sed_cube | |
r | A Sed_riv | |
vol | Volume of bedload to deposit along river (m^3) |
Definition at line 345 of file run_bedload.c.
References eh_free, eh_require, sed_cell_destroy(), sed_cell_new_bedload(), sed_column_add_cell(), sed_cube_col(), sed_cube_cols(), sed_cube_free(), sed_cube_river_mouth_1d(), sed_cube_river_path_id(), sed_cube_set_x_res(), sed_cube_set_y_res(), sed_cube_x_res(), sed_cube_y_res(), sed_mode_is_3d(), sed_river_hydro(), and sed_river_width().
Referenced by run_bedload().
gboolean destroy_bedload | ( | Sed_process | p | ) |
Definition at line 260 of file run_bedload.c.
References eh_free, Bedload_dump_t::river_name, and sed_process_user_data().
gboolean init_bedload | ( | Sed_process | p, | |
Eh_symbol_table | t, | |||
GError ** | error | |||
) |
Definition at line 227 of file run_bedload.c.
References Bedload_dump_t::bed_load_dump_length, BEDLOAD_KEY_DUMP_LEN, BEDLOAD_KEY_RATIO, BEDLOAD_KEY_RETAINED, BEDLOAD_KEY_RIVER_NAME, Bedload_dump_t::bedload_ratio, eh_check_to_s(), eh_set_error_strv(), eh_symbol_table_dbl_value(), eh_symbol_table_require_labels(), eh_symbol_table_value(), Bedload_dump_t::f_retained, Bedload_dump_t::river_name, sed_process_new_user_data, SEDFLUX_ERROR, and SEDFLUX_ERROR_BAD_PARAM.
Sed_process_info run_bedload | ( | Sed_process | p, | |
Sed_cube | prof | |||
) |
Definition at line 53 of file run_bedload.c.
References bed_load_1d_domain(), bed_load_2d_domain(), Bedload_dump_t::bed_load_dump_length, BED_LOAD_SPREADING_ANGLE, deposit_in_ocean(), deposit_in_river(), Bed_load_data::dx, Bed_load_data::dy, eh_dbl_grid_populate(), eh_dbl_grid_set_val(), eh_dbl_grid_val(), eh_free, eh_grid_destroy(), eh_grid_low_x(), eh_grid_low_y(), eh_grid_n_x(), eh_grid_n_y(), eh_grid_new, eh_grid_reindex(), eh_new, eh_upper_bound, Bedload_dump_t::f_retained, Eh_ind_2::i, Eh_ind_2::j, Sed_process_info::mass_added, Sed_process_info::mass_lost, Bed_load_data::max_angle, Bed_load_data::min_angle, Bed_load_data::r_max, Bedload_dump_t::river_name, S_SECONDS_PER_DAY, sed_cube_col_x(), sed_cube_col_y(), sed_cube_n_x(), sed_cube_n_y(), sed_cube_river_by_name(), sed_cube_river_mouth_1d(), sed_cube_river_mouth_position(), sed_cube_time_step_in_days(), sed_cube_time_step_in_seconds(), sed_cube_x_res(), sed_cube_y_res(), SED_EMPTY_INFO, sed_mode_is_3d(), sed_process_user_data(), sed_river_angle(), sed_river_bedload(), sed_river_mouth(), sed_sediment_type(), sed_type_rho_sat(), Eh_pt_2::x, Bed_load_data::x_0, Eh_pt_2::y, and Bed_load_data::y_0.