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

#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_stinflow_set_bathy_data_from_cube (Sed_cube p, double *width, gssize ind_start, double dx)
Inflow_sediment_stinflow_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 Documentation

#define INFLOW_DENSITY_OF_SEDIMENT_GRAINS   (2650.)

Definition at line 12 of file inflow_sedflux_interface.c.

Referenced by sed_get_phe().

#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)

Definition at line 9 of file inflow_sedflux_interface.c.

Referenced by inflow_flood_from_cell().

#define INFLOW_INITIAL_HEIGHT   (6.0)

Definition at line 7 of file inflow_sedflux_interface.c.

Referenced by inflow_flood_from_cell().

#define INFLOW_INITIAL_VELOCITY   (1.0)

Definition at line 8 of file inflow_sedflux_interface.c.

Referenced by inflow_flood_from_cell().

#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.


Function Documentation

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.

Parameters:
real_diameter The real grain size in meters.
Returns:
The equivalent 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.

Parameters:
data A structure that contains the necessary data for the function to retreive the grain type fracitons.
p A Sed_cube to query
Returns:
A pointer to the array of grain type fractions.

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().


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