#include <stdio.h>
#include <math.h>
#include <glib.h>
#include <utils/utils.h>
#include <sed/sed_sedflux.h>
#include "avulsion.h"
Go to the source code of this file.
Classes | |
struct | stream_st |
Enumerations | |
enum | Avulsion_out_type { AVULSION_OUTPUT_ANGLES, AVULSION_OUTPUT_DEPTHS } |
Functions | |
int | avulsion_lite (void) |
int | avulsion_full (void) |
int | main (int argc, char *argv[]) |
GList * | avulse_streams (GList *streams) |
GList * | create_streams (GList *streams, double alpha) |
GList * | merge_streams (GList *streams, double eps) |
GList * | print_streams (GList *streams) |
GList * | print_streams_as_table (GList *streams) |
void | avulse_stream (stream_st *stream, gpointer data) |
int | sort_streams_by_angle (stream_st *s1, stream_st *s2) |
int | sort_streams_by_discharge (stream_st *s1, stream_st *s2) |
int | sort_streams_by_id (stream_st *s1, stream_st *s2) |
void | combine_rivers (Sed_riv r_1, Sed_riv r_2) |
void | sed_merge_all_rivers (Sed_cube c, double eps) |
GList * | merge_rivers (GList *rivers, double eps) |
int | sort_rivers_by_angle (Sed_riv r_1, Sed_riv r_2) |
int | sort_rivers_by_discharge (Sed_riv r_1, Sed_riv r_2) |
void | combine_river_discharge (Sed_riv r_1, Sed_riv r_2) |
Sed_riv | split_river_discharge (Sed_riv r_1, Sed_riv r_2) |
void | sed_split_all_rivers (Sed_cube c, double alpha) |
GList * | create_rivers (GList *rivers, double alpha) |
void | deposit_sediment_at_river_mouth (Sed_cube c) |
void | deposit_sediment_helper (Sed_riv this_river, Sed_cube c) |
Variables | |
Avulsion_out_type | output_type |
enum Avulsion_out_type |
Definition at line 76 of file avulsion_main.c.
void avulse_stream | ( | stream_st * | stream, | |
gpointer | data | |||
) |
GList* avulse_streams | ( | GList * | streams | ) |
int avulsion_full | ( | void | ) |
Definition at line 206 of file avulsion_main.c.
References avulsion_new(), AVULSION_OUTPUT_ANGLES, AVULSION_OUTPUT_DEPTHS, deposit_sediment_at_river_mouth(), eh_dlm_read(), eh_free_2, eh_grid_destroy(), eh_grid_n_x(), eh_grid_n_y(), eh_new_2, eh_require, eh_status_bar_destroy(), eh_status_bar_new(), output_type, S_DEGREES_PER_RAD, S_RADS_PER_DEGREE, sed_cube_add_trunk(), sed_cube_avulse_all_rivers(), sed_cube_n_x(), sed_cube_n_y(), sed_cube_new(), sed_cube_nth_river(), sed_cube_set_bathy(), sed_cube_set_dz(), sed_cube_water_depth(), sed_get_floor_3_default(), sed_hydro_scan(), sed_river_angle(), sed_river_new(), sed_river_set_angle(), sed_river_set_angle_limit(), sed_river_set_avulsion_data(), sed_river_set_hinge(), sed_river_set_hydro(), sed_sediment_destroy(), sed_sediment_scan(), sed_sediment_set_env(), SED_SEDIMENT_TEST_FILE, and sed_sediment_unset_env().
Referenced by main().
int avulsion_lite | ( | void | ) |
Definition at line 152 of file avulsion_main.c.
References avulsion(), and S_DEGREES_PER_RAD.
Referenced by main().
void combine_river_discharge | ( | Sed_riv | r_1, | |
Sed_riv | r_2 | |||
) |
Definition at line 451 of file avulsion_main.c.
References eh_require, sed_river_depth(), sed_river_set_width(), sed_river_velocity(), and sed_river_water_flux().
Referenced by merge_rivers().
void combine_rivers | ( | Sed_riv | r_1, | |
Sed_riv | r_2 | |||
) |
GList * create_rivers | ( | GList * | rivers, | |
double | alpha | |||
) |
Definition at line 499 of file avulsion_main.c.
References sed_river_angle(), sed_river_destroy(), sed_river_dup(), sed_river_set_angle(), sed_river_set_width(), sort_rivers_by_angle(), and split_river_discharge().
Referenced by sed_split_all_rivers().
GList* create_streams | ( | GList * | streams, | |
double | alpha | |||
) |
void deposit_sediment_at_river_mouth | ( | Sed_cube | c | ) |
Definition at line 336 of file avulsion_main.c.
References deposit_sediment_helper(), and sed_cube_river_list().
Referenced by avulsion_full().
void deposit_sediment_helper | ( | Sed_riv | this_river, | |
Sed_cube | c | |||
) |
Definition at line 341 of file avulsion_main.c.
References eh_free, eh_get_fuzzy_dbl(), eh_new, Eh_ind_2::i, Eh_ind_2::j, sed_cell_destroy(), sed_cell_new_sized(), sed_cell_resize(), sed_cell_size(), sed_column_add_cell(), sed_column_water_depth(), sed_cube_col_ij(), sed_cube_find_river_mouth(), sed_cube_is_in_domain(), sed_river_mouth(), and sed_sediment_env_n_types().
Referenced by deposit_sediment_at_river_mouth().
int main | ( | int | argc, | |
char * | argv[] | |||
) |
Definition at line 85 of file avulsion_main.c.
References avulsion_full(), avulsion_lite(), AVULSION_MAJOR_VERSION, AVULSION_MICRO_VERSION, AVULSION_MINOR_VERSION, AVULSION_OUTPUT_ANGLES, AVULSION_OUTPUT_DEPTHS, AVULSION_PROGRAM_NAME, eh_fprint_version_info(), eh_new0, eh_require_not_reached, eh_set_verbosity_level(), output_type, and S_RADS_PER_DEGREE.
GList * merge_rivers | ( | GList * | rivers, | |
double | eps | |||
) |
Definition at line 383 of file avulsion_main.c.
References combine_river_discharge(), sed_river_angle(), sort_rivers_by_angle(), and sort_rivers_by_discharge().
Referenced by sed_merge_all_rivers().
GList* merge_streams | ( | GList * | streams, | |
double | eps | |||
) |
GList* print_streams | ( | GList * | streams | ) |
GList* print_streams_as_table | ( | GList * | streams | ) |
void sed_merge_all_rivers | ( | Sed_cube | c, | |
double | eps | |||
) |
Definition at line 377 of file avulsion_main.c.
References merge_rivers(), sed_cube_river_list(), and sed_cube_set_river_list().
void sed_split_all_rivers | ( | Sed_cube | c, | |
double | alpha | |||
) |
Definition at line 494 of file avulsion_main.c.
References create_rivers(), sed_cube_river_list(), and sed_cube_set_river_list().
int sort_rivers_by_angle | ( | Sed_riv | r_1, | |
Sed_riv | r_2 | |||
) |
Definition at line 418 of file avulsion_main.c.
References sed_river_angle().
Referenced by create_rivers(), and merge_rivers().
int sort_rivers_by_discharge | ( | Sed_riv | r_1, | |
Sed_riv | r_2 | |||
) |
Definition at line 428 of file avulsion_main.c.
References sed_river_water_flux().
Referenced by merge_rivers().
Sed_riv split_river_discharge | ( | Sed_riv | r_1, | |
Sed_riv | r_2 | |||
) |
Definition at line 466 of file avulsion_main.c.
References eh_require, sed_river_angle(), sed_river_bedload(), sed_river_depth(), sed_river_dup(), sed_river_set_angle(), sed_river_set_bedload(), sed_river_set_depth(), sed_river_set_velocity(), sed_river_set_width(), sed_river_velocity(), sed_river_water_flux(), and sed_river_width().
Referenced by create_rivers().