/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/sedflux/run_erosion.c File Reference

#include <stdio.h>
#include <string.h>
#include <utils/utils.h>
#include <sed/sed_sedflux.h>
#include <diffusion.h>
#include "my_processes.h"
#include <math.h>

Go to the source code of this file.

Classes

struct  Erosion_log_st
struct  Erosion_lin_st
struct  Erosion_exp_st

Defines

#define EH_LOG_DOMAIN   EROSION_PROCESS_NAME_S
#define RIVER_SLOPE   0.001
#define A_DELTA   6.1
#define B_DELTA   .000059
#define OMEGA_DELTA   6
#define H_DELTA   10
#define L_DELTA   10000
#define PAOLA_MEANDERING   (1)
#define PAOLA_BRAIDED   (2)
#define EROSION_ALGORITHM_DIFFUSION   (1)
#define EROSION_ALGORITHM_SLOPE   (2)
#define EROSION_KEY_REACH   "reach of highest order stream"
#define EROSION_KEY_RELIEF   "relief of highest order stream"
#define EROSION_KEY_METHOD   "method"

Functions

Sed_cell erode_river_profile (Sed_cube p, Sed_riv r, double slope, gint method)
Sed_process_info run_erosion (Sed_process proc, Sed_cube p)
gboolean init_erosion (Sed_process p, Eh_symbol_table tab, GError **error)
gboolean destroy_erosion (Sed_process p)
Sed_cell erode_profile (Sed_cube river_profile, double slope)
Sed_cell diffuse_profile (Sed_cube river_profile, Sed_hydro river_data)
double get_paola_diffusion (Sed_hydro river_data, double basin_width, double time_fraction, int river_type)
Erosion_lin_st erosion_get_linear_constants (double slope)
double erosion_get_linear_height (double x, Erosion_lin_st c)
Erosion_exp_st erosion_get_exp_constants (double a, double b)
double erosion_get_exp_profile (double x, Erosion_exp_st c)
Erosion_log_st erosion_get_log_constants (double omega, double h, double l)
double eroion_get_log_height (double x, Erosion_log_st c)


Define Documentation

#define A_DELTA   6.1

Definition at line 37 of file run_erosion.c.

#define B_DELTA   .000059

Definition at line 38 of file run_erosion.c.

#define EH_LOG_DOMAIN   EROSION_PROCESS_NAME_S

Definition at line 21 of file run_erosion.c.

#define EROSION_ALGORITHM_DIFFUSION   (1)

Definition at line 50 of file run_erosion.c.

Referenced by erode_river_profile(), and init_erosion().

#define EROSION_ALGORITHM_SLOPE   (2)

Definition at line 51 of file run_erosion.c.

Referenced by erode_river_profile(), and init_erosion().

#define EROSION_KEY_METHOD   "method"

Definition at line 248 of file run_erosion.c.

Referenced by init_erosion().

#define EROSION_KEY_REACH   "reach of highest order stream"

Definition at line 246 of file run_erosion.c.

Referenced by init_erosion().

#define EROSION_KEY_RELIEF   "relief of highest order stream"

Definition at line 247 of file run_erosion.c.

Referenced by init_erosion().

#define H_DELTA   10

Definition at line 44 of file run_erosion.c.

#define L_DELTA   10000

Definition at line 45 of file run_erosion.c.

#define OMEGA_DELTA   6

Definition at line 43 of file run_erosion.c.

#define PAOLA_BRAIDED   (2)

Definition at line 48 of file run_erosion.c.

Referenced by diffuse_profile(), and get_paola_diffusion().

#define PAOLA_MEANDERING   (1)

Definition at line 47 of file run_erosion.c.

Referenced by get_paola_diffusion().

#define RIVER_SLOPE   0.001

Definition at line 33 of file run_erosion.c.


Function Documentation

gboolean destroy_erosion ( Sed_process  p  ) 

Definition at line 309 of file run_erosion.c.

References eh_free, and sed_process_user_data().

Sed_cell diffuse_profile ( Sed_cube  river_profile,
Sed_hydro  river_data 
)

Definition at line 382 of file run_erosion.c.

References diffuse_sediment(), DIFFUSION_OPT_FILL, DIFFUSION_OPT_LAND, eh_free, eh_require, get_paola_diffusion(), PAOLA_BRAIDED, S_SECONDS_PER_DAY, sed_cell_add(), sed_cell_destroy(), sed_cell_new_env(), sed_cell_resize(), sed_cell_separate_cell(), sed_cell_size(), sed_cube_storm(), sed_cube_time_step_in_days(), sed_cube_x_res(), sed_cube_y_res(), and sed_hydro_width().

Referenced by erode_river_profile().

Sed_cell erode_profile ( Sed_cube  river_profile,
double  slope 
)

Definition at line 472 of file run_erosion.c.

References eh_require, erosion_get_linear_constants(), erosion_get_linear_height(), sed_cell_add(), sed_cell_destroy(), sed_cell_new_env(), sed_cell_resize(), sed_cell_size(), sed_column_extract_top(), sed_cube_col(), sed_cube_river_mouth_1d(), sed_cube_top_height(), sed_cube_x_res(), and sed_cube_y_res().

Referenced by erode_river_profile().

Sed_cell erode_river_profile ( Sed_cube  p,
Sed_riv  r,
double  slope,
gint  method 
)

Definition at line 325 of file run_erosion.c.

References diffuse_profile(), eh_free, eh_require, eh_require_not_reached, erode_profile(), EROSION_ALGORITHM_DIFFUSION, EROSION_ALGORITHM_SLOPE, sed_cube_cols(), sed_cube_free(), sed_cube_river_path_id(), sed_cube_set_x_res(), sed_cube_set_y_res(), sed_cube_x_res(), sed_cube_y_res(), sed_hydro_add_cell(), sed_hydro_destroy(), sed_mode_is_3d(), sed_river_hydro(), and sed_river_set_hydro().

Referenced by run_erosion().

double eroion_get_log_height ( double  x,
Erosion_log_st  c 
)

Definition at line 620 of file run_erosion.c.

References Erosion_log_st::b, Erosion_log_st::H1, Erosion_log_st::Rl, Erosion_log_st::x0, and Erosion_log_st::y0.

Erosion_exp_st erosion_get_exp_constants ( double  a,
double  b 
)

Definition at line 579 of file run_erosion.c.

References Erosion_exp_st::a, and Erosion_exp_st::b.

double erosion_get_exp_profile ( double  x,
Erosion_exp_st  c 
)

Definition at line 588 of file run_erosion.c.

References Erosion_exp_st::a, and Erosion_exp_st::b.

Erosion_lin_st erosion_get_linear_constants ( double  slope  ) 

Definition at line 563 of file run_erosion.c.

References Erosion_lin_st::a.

Referenced by erode_profile().

double erosion_get_linear_height ( double  x,
Erosion_lin_st  c 
)

Definition at line 571 of file run_erosion.c.

References Erosion_lin_st::a.

Referenced by erode_profile().

Erosion_log_st erosion_get_log_constants ( double  omega,
double  h,
double  l 
)

Definition at line 601 of file run_erosion.c.

References Erosion_log_st::b, Erosion_log_st::H1, Erosion_log_st::Rl, Erosion_log_st::x0, and Erosion_log_st::y0.

double get_paola_diffusion ( Sed_hydro  river_data,
double  basin_width,
double  time_fraction,
int  river_type 
)

Definition at line 529 of file run_erosion.c.

References eh_require, eh_require_not_reached, PAOLA_BRAIDED, PAOLA_MEANDERING, sed_hydro_suspended_concentration(), sed_hydro_water_flux(), sed_hydro_width(), sed_rho_quartz(), and sed_rho_sea_water().

Referenced by diffuse_profile().

gboolean init_erosion ( Sed_process  p,
Eh_symbol_table  tab,
GError **  error 
)

Definition at line 264 of file run_erosion.c.

References eh_check_to_s(), eh_return_val_if_fail, eh_set_error_strv(), eh_symbol_table_dbl_value(), eh_symbol_table_lookup(), eh_symbol_table_require_labels(), EROSION_ALGORITHM_DIFFUSION, EROSION_ALGORITHM_SLOPE, EROSION_KEY_METHOD, EROSION_KEY_REACH, EROSION_KEY_RELIEF, Erosion_t::method, sed_process_new_user_data, SEDFLUX_ERROR, SEDFLUX_ERROR_BAD_ALGORITHM, SEDFLUX_ERROR_BAD_PARAM, Erosion_t::slope, Erosion_t::stream_reach, and Erosion_t::stream_relief.

Sed_process_info run_erosion ( Sed_process  proc,
Sed_cube  p 
)

Definition at line 56 of file run_erosion.c.

References eh_free, erode_river_profile(), Erosion_t::method, sed_cell_destroy(), sed_cube_all_leaves(), SED_EMPTY_INFO, sed_process_user_data(), sed_river_name_loc(), and Erosion_t::slope.


Generated on Fri Jan 4 18:04:18 2008 for sedflux by  doxygen 1.5.2