/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/sed/sed_river.h File Reference

#include <glib.h>
#include "utils/utils.h"
#include "sed_hydro.h"

Go to the source code of this file.

Defines

#define SED_RIVER_H

Functions

 new_handle (Sed_riv)
Sed_riv sed_river_new ()
Sed_riv sed_river_copy (Sed_riv d, Sed_riv s)
Sed_riv sed_river_dup (Sed_riv s)
Sed_riv sed_river_set_hydro (Sed_riv s, const Sed_hydro h)
Sed_riv sed_river_set_width (Sed_riv s, double width)
Sed_riv sed_river_set_depth (Sed_riv s, double depth)
Sed_riv sed_river_set_velocity (Sed_riv s, double velocity)
Sed_riv sed_river_set_bedload (Sed_riv s, double bedload)
Sed_riv sed_river_set_angle (Sed_riv s, double a)
Sed_riv sed_river_set_increment_angle (Sed_riv s, double da)
Sed_riv sed_river_set_angle_limit (Sed_riv s, double a_min, double a_max)
Sed_riv sed_river_set_hinge (Sed_riv r, gint i, gint j)
Sed_riv sed_river_set_mouth (Sed_riv r, gint i, gint j)
Sed_riv sed_river_adjust_mass (Sed_riv s, double f)
double sed_river_water_flux (Sed_riv s)
double sed_river_sediment_load (Sed_riv s)
double sed_river_suspended_load (Sed_riv s)
Sed_hydro sed_river_hydro (Sed_riv s)
gboolean sed_river_is_hyperpycnal (Sed_riv s)
double sed_river_concentration (Sed_riv s)
gint sed_river_n_branches (Sed_riv s)
double sed_river_width (Sed_riv s)
double sed_river_depth (Sed_riv s)
double sed_river_velocity (Sed_riv s)
double sed_river_bedload (Sed_riv s)
double sed_river_angle (Sed_riv s)
double sed_river_angle_to_deg (Sed_riv s)
double sed_river_min_angle (Sed_riv s)
double sed_river_max_angle (Sed_riv s)
Eh_ind_2 sed_river_hinge (Sed_riv s)
Eh_ind_2 sed_river_mouth (Sed_riv s)
gboolean sed_river_mouth_is (Sed_riv s, gint i, gint j)
gchar * sed_river_name (Sed_riv s)
gchar * sed_river_name_loc (Sed_riv s)
gboolean sed_river_name_is (Sed_riv s, gchar *name)
gint sed_river_name_cmp (Sed_riv s, const gchar *name)
gboolean sed_river_has_children (Sed_riv s)
Sed_riv sed_river_left (Sed_riv s)
Sed_riv sed_river_right (Sed_riv s)
Sed_riv sed_river_split_discharge (Sed_riv s)
Sed_riv sed_river_split (Sed_riv s)
Sed_riv sed_river_longest_branch (Sed_riv s)
Sed_riv sed_river_destroy (Sed_riv s)
Sed_riv * sed_river_leaves (Sed_riv s)
Sed_riv * sed_river_branches (Sed_riv s)
gint sed_river_fprint (FILE *fp, Sed_riv s)
Sed_riv sed_river_fread (FILE *fp, Sed_riv d)
gint sed_river_fwrite (FILE *fp, Sed_riv s)


Define Documentation

#define SED_RIVER_H

Definition at line 2 of file sed_river.h.


Function Documentation

new_handle ( Sed_riv   ) 

Sed_riv sed_river_adjust_mass ( Sed_riv  s,
double  f 
)

Definition at line 240 of file sed_river.c.

References eh_return_val_if_fail, and sed_hydro_adjust_mass().

Referenced by run_avulsion().

double sed_river_angle ( Sed_riv  s  ) 

Definition at line 371 of file sed_river.c.

References eh_return_val_if_fail.

Referenced by avulsion_full(), create_rivers(), merge_rivers(), run_bedload(), run_plume_hypo(), sed_cube_find_river_mouth(), sed_cube_river_mouth_position(), sed_cube_river_path(), sed_cube_river_path_id(), sed_river_angle_to_deg(), sed_river_avulse(), sed_river_fprint(), sed_river_split(), sort_rivers_by_angle(), and split_river_discharge().

double sed_river_angle_to_deg ( Sed_riv  s  ) 

Definition at line 380 of file sed_river.c.

References S_DEGREES_PER_RAD, and sed_river_angle().

double sed_river_bedload ( Sed_riv  s  ) 

Definition at line 362 of file sed_river.c.

References eh_return_val_if_fail, and sed_hydro_velocity().

Referenced by run_bedload(), and split_river_discharge().

Sed_riv* sed_river_branches ( Sed_riv  s  ) 

Get an array of all the branches of a Sed_riv

Construct a NULL terminated array of Sed_riv's that represent all of the branches of a Sed_riv. If the input Sed_riv has no children, then it is returned as the only branch (as the only element in a NULL-terminated array).

When finished, the returned array should be freed. The elements of the array should not be destroyed however as they reference the actual location of the children of the parent Sed_riv.

Parameters:
s The parent Sed_riv
Returns:
A NULL-terminated array of Sed_riv structures
See also:
sed_river_leaves

Definition at line 639 of file sed_river.c.

References sed_river_branches_helper().

Referenced by sed_cube_all_branches(), and sed_cube_avulse_river().

double sed_river_concentration ( Sed_riv  s  ) 

Definition at line 293 of file sed_river.c.

References eh_require, sed_hydro_flow_density(), and sed_rho_fresh_water().

Referenced by run_plume().

Sed_riv sed_river_copy ( Sed_riv  d,
Sed_riv  s 
)

Definition at line 96 of file sed_river.c.

References eh_free, eh_return_val_if_fail, sed_hydro_copy(), sed_river_copy(), sed_river_hinge_copy(), and sed_river_new().

Referenced by sed_cube_set_nth_river(), sed_river_copy(), and sed_river_dup().

double sed_river_depth ( Sed_riv  s  ) 

Definition at line 344 of file sed_river.c.

References eh_return_val_if_fail, and sed_hydro_depth().

Referenced by combine_river_discharge(), and split_river_discharge().

Sed_riv sed_river_destroy ( Sed_riv  s  ) 

Definition at line 547 of file sed_river.c.

References eh_free, sed_hydro_destroy(), sed_river_destroy(), and sed_river_hinge_destroy().

Referenced by create_rivers(), sed_cube_free_river(), sed_cube_remove_river(), and sed_river_destroy().

Sed_riv sed_river_dup ( Sed_riv  s  ) 

Definition at line 120 of file sed_river.c.

References sed_river_copy().

Referenced by create_rivers(), sed_river_split(), and split_river_discharge().

gint sed_river_fprint ( FILE *  fp,
Sed_riv  s 
)

Definition at line 652 of file sed_river.c.

References S_RADS_PER_DEGREE, sed_hydro_fprint(), sed_river_angle(), sed_river_hinge(), sed_river_max_angle(), and sed_river_min_angle().

Sed_riv sed_river_fread ( FILE *  fp,
Sed_riv  d 
)

Definition at line 684 of file sed_river.c.

References eh_require_not_reached.

Referenced by sed_cube_read().

gint sed_river_fwrite ( FILE *  fp,
Sed_riv  s 
)

Definition at line 671 of file sed_river.c.

References eh_require_not_reached.

Referenced by sed_cube_write().

gboolean sed_river_has_children ( Sed_riv  s  ) 

Definition at line 466 of file sed_river.c.

References eh_return_val_if_fail.

Referenced by sed_river_leaves_helper(), sed_river_longest_branch(), and sed_river_split().

Eh_ind_2 sed_river_hinge ( Sed_riv  s  ) 

Definition at line 404 of file sed_river.c.

References Eh_ind_2::i, and Eh_ind_2::j.

Referenced by run_plume_hypo(), sed_cube_find_river_mouth(), sed_cube_river_mouth_position(), sed_cube_river_path(), sed_cube_river_path_id(), and sed_river_fprint().

Sed_hydro sed_river_hydro ( Sed_riv  s  ) 

Definition at line 276 of file sed_river.c.

References eh_return_val_if_fail, and sed_hydro_dup().

Referenced by deposit_in_river(), erode_river_profile(), run_plume_hyper_inflow(), run_plume_hyper_sakura(), and run_plume_hypo().

gboolean sed_river_is_hyperpycnal ( Sed_riv  s  ) 

Definition at line 285 of file sed_river.c.

References eh_require, and sed_hydro_is_hyperpycnal().

Referenced by run_plume().

Sed_riv* sed_river_leaves ( Sed_riv  s  ) 

Get an array of the 'leaf' branches of a Sed_riv

Construct a NULL terminated array of Sed_riv's that represent the 'leaf' branches of a Sed_riv. These are the smallest branches of the river that are nearest the mouth of the river. If the input Sed_riv has no children, then it is returned as the only branch (as the only element in a NULL-terminated array).

When finished, the returned array should be freed. The elements of the array should not be destroyed however as they reference the actual location of the children of the parent Sed_riv.

Parameters:
s The parent Sed_riv
Returns:
A NULL-terminated array of Sed_riv structures
See also:
sed_river_branches

Definition at line 595 of file sed_river.c.

References sed_river_leaves_helper().

Referenced by sed_cube_all_leaves().

Sed_riv sed_river_left ( Sed_riv  s  ) 

Definition at line 474 of file sed_river.c.

References eh_return_val_if_fail.

Referenced by sed_cube_remove_river(), sed_cube_split_river(), and sed_river_impart_avulsion_data().

Sed_riv sed_river_longest_branch ( Sed_riv  s  ) 

Find the longest branch of a river

The length of a branch is determined by its number of child branches. The longest branch is the branch that has the FEWEST children. In the case of a tie, the left-most branch is chosen. That is, the one that was first created.

Parameters:
s A Sed_riv
Returns:
The longest branch

Definition at line 529 of file sed_river.c.

References sed_river_has_children(), sed_river_longest_branch(), and sed_river_n_branches().

Referenced by sed_cube_split_river(), and sed_river_longest_branch().

double sed_river_max_angle ( Sed_riv  s  ) 

Definition at line 395 of file sed_river.c.

References eh_return_val_if_fail.

Referenced by sed_river_avulse(), sed_river_fprint(), and sed_river_split().

double sed_river_min_angle ( Sed_riv  s  ) 

Definition at line 386 of file sed_river.c.

References eh_return_val_if_fail.

Referenced by sed_river_avulse(), sed_river_fprint(), and sed_river_split().

Eh_ind_2 sed_river_mouth ( Sed_riv  s  ) 

Definition at line 416 of file sed_river.c.

References Eh_ind_2::i, and Eh_ind_2::j.

Referenced by construct_deposit_array_3(), deposit_sediment_helper(), rain_sediment_3(), run_bedload(), and sed_cube_river_mouth_position().

gboolean sed_river_mouth_is ( Sed_riv  s,
gint  i,
gint  j 
)

Definition at line 428 of file sed_river.c.

References eh_return_val_if_fail.

Referenced by sed_measure_cube_river_mouth().

gint sed_river_n_branches ( Sed_riv  s  ) 

Count the number of branches of a river

Count all of the branches of a river, including the river trunk. Thus, if the river does not branch, sed_river_n_branches will return 1. If the trunk branches only once, the size is 3.

Parameters:
s A Sed_river
Returns:
The total number of branches of the river

Definition at line 324 of file sed_river.c.

References sed_river_n_branches_helper().

Referenced by sed_cube_n_branches(), and sed_river_longest_branch().

gchar* sed_river_name ( Sed_riv  s  ) 

Definition at line 435 of file sed_river.c.

References eh_return_val_if_fail.

gint sed_river_name_cmp ( Sed_riv  s,
const gchar *  name 
)

Definition at line 459 of file sed_river.c.

References eh_return_val_if_fail.

Referenced by sed_cube_river_by_name().

gboolean sed_river_name_is ( Sed_riv  s,
gchar *  name 
)

Definition at line 451 of file sed_river.c.

References eh_return_val_if_fail.

gchar* sed_river_name_loc ( Sed_riv  s  ) 

Definition at line 443 of file sed_river.c.

References eh_return_val_if_fail.

Referenced by run_avulsion(), run_bbl(), run_erosion(), and run_plume().

Sed_riv sed_river_new (  ) 

Sed_riv sed_river_right ( Sed_riv  s  ) 

Definition at line 481 of file sed_river.c.

References eh_return_val_if_fail.

Referenced by sed_cube_remove_river(), sed_cube_split_river(), and sed_river_impart_avulsion_data().

double sed_river_sediment_load ( Sed_riv  s  ) 

Definition at line 258 of file sed_river.c.

References eh_return_val_if_fail, and sed_hydro_total_load().

Sed_riv sed_river_set_angle ( Sed_riv  s,
double  a 
)

Definition at line 174 of file sed_river.c.

References eh_clamp, eh_compare_dbl(), and eh_reduce_angle().

Referenced by avulsion_full(), create_rivers(), run_avulsion(), sed_river_avulse(), sed_river_increment_angle(), sed_river_split(), and split_river_discharge().

Sed_riv sed_river_set_angle_limit ( Sed_riv  s,
double  a_min,
double  a_max 
)

Definition at line 196 of file sed_river.c.

References eh_compare_dbl(), eh_reduce_angle(), and eh_require_not_reached.

Referenced by avulsion_full(), and run_avulsion().

Sed_riv sed_river_set_bedload ( Sed_riv  s,
double  bedload 
)

Definition at line 164 of file sed_river.c.

References sed_hydro_set_bedload().

Referenced by split_river_discharge().

Sed_riv sed_river_set_depth ( Sed_riv  s,
double  depth 
)

Definition at line 144 of file sed_river.c.

References sed_hydro_set_depth().

Referenced by split_river_discharge().

Sed_riv sed_river_set_hinge ( Sed_riv  r,
gint  i,
gint  j 
)

Definition at line 218 of file sed_river.c.

Referenced by avulsion_full(), and run_avulsion().

Sed_riv sed_river_set_hydro ( Sed_riv  s,
const Sed_hydro  h 
)

Definition at line 126 of file sed_river.c.

References sed_hydro_copy().

Referenced by avulsion_full(), erode_river_profile(), and run_river().

Sed_riv sed_river_set_increment_angle ( Sed_riv  s,
double  da 
)

Sed_riv sed_river_set_mouth ( Sed_riv  r,
gint  i,
gint  j 
)

Definition at line 229 of file sed_river.c.

Referenced by sed_cube_find_river_mouth().

Sed_riv sed_river_set_velocity ( Sed_riv  s,
double  velocity 
)

Definition at line 154 of file sed_river.c.

References sed_hydro_set_velocity().

Referenced by split_river_discharge().

Sed_riv sed_river_set_width ( Sed_riv  s,
double  width 
)

Definition at line 134 of file sed_river.c.

References sed_hydro_set_width().

Referenced by combine_river_discharge(), create_rivers(), and split_river_discharge().

Sed_riv sed_river_split ( Sed_riv  s  ) 

Definition at line 499 of file sed_river.c.

References sed_river_angle(), sed_river_dup(), sed_river_has_children(), sed_river_max_angle(), sed_river_min_angle(), sed_river_set_angle(), and sed_river_split_discharge().

Referenced by sed_cube_split_river().

Sed_riv sed_river_split_discharge ( Sed_riv  s  ) 

Definition at line 488 of file sed_river.c.

References eh_return_val_if_fail, sed_hydro_bedload(), sed_hydro_set_bedload(), sed_hydro_set_width(), and sed_hydro_width().

Referenced by sed_river_split().

double sed_river_suspended_load ( Sed_riv  s  ) 

Definition at line 267 of file sed_river.c.

References eh_return_val_if_fail, and sed_hydro_suspended_load().

Referenced by run_plume().

double sed_river_velocity ( Sed_riv  s  ) 

Definition at line 353 of file sed_river.c.

References eh_return_val_if_fail, and sed_hydro_velocity().

Referenced by combine_river_discharge(), and split_river_discharge().

double sed_river_water_flux ( Sed_riv  s  ) 

Definition at line 249 of file sed_river.c.

References eh_return_val_if_fail, and sed_hydro_water_flux().

Referenced by combine_river_discharge(), sort_rivers_by_discharge(), and split_river_discharge().

double sed_river_width ( Sed_riv  s  ) 

Definition at line 335 of file sed_river.c.

References eh_return_val_if_fail, and sed_hydro_width().

Referenced by deposit_in_river(), and split_river_discharge().


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