#include <stdio.h>
#include <math.h>
#include <pthread.h>
#include <utils/utils.h>
#include <sed/sed_sedflux.h>
#include "failure.h"
Go to the source code of this file.
Classes | |
struct | Init_failure_t |
Defines | |
#define | SECONDS_PER_YEAR 31536000. |
#define | FAIL_LOCAL_MODEL |
#define | FAIL_MIN_COL_LEN (128) |
#define | FAIL_INIT_N_THREADS (10) |
#define | FAIL_NO_FAIL_SURFACE (G_MAXDOUBLE) |
#define | N_THREADS (4) |
Functions | |
Sed_cube | get_failure_surface (const Sed_cube p, int start, int len) |
gboolean | fail_check_failure_plane_is_valid (const Sed_cube p, int start, int len, const double *failure_plane) |
double * | get_circle (const Sed_cube p, int failure_start, int n_points, double *circle) |
double * | get_ellipse (const Sed_cube p, int failureStart, int nPoints, double *ellipse) |
double | get_m (const Sed_column s, double depth, double consolidation) |
Fail_column * | fail_create_fail_column (int n, gboolean allocate) |
Fail_column * | fail_reuse_fail_column (Fail_column *f) |
Fail_column * | fail_resize_fail_column (Fail_column *f, int n) |
void | fail_destroy_fail_column (Fail_column *f) |
void | fail_dump_fail_column (Fail_column *f, FILE *fp) |
gboolean | fail_load_fail_column (Fail_column *f, FILE *fp) |
void | init_column (gpointer data, gpointer user_data) |
Fail_profile * | fail_init_fail_profile (Sed_cube p, Failure_t fail_const ) |
Fail_profile * | fail_reinit_fail_profile (Fail_profile *f, Sed_cube p, Failure_t fail_const ) |
Fail_profile * | fail_reuse_fail_profile (Fail_profile *f) |
Fail_profile * | fail_create_fail_profile (int n_cols) |
void | fail_dump_fail_profile (Fail_profile *f, FILE *fp) |
void | fail_load_fail_profile (FILE *fp) |
Fail_profile * | fail_resize_fail_profile (Fail_profile *f, int n_cols) |
void | fail_destroy_failure_profile (Fail_profile *f) |
double * | fail_get_failure_line (Sed_cube p) |
void | fail_examine_fail_profile (Fail_profile *p) |
void | fail_reset_fail_profile (Fail_profile *p) |
void | fail_update_fail_profile (Fail_profile *p) |
void | get_node_fos (gpointer data, gpointer user_data) |
gboolean | fail_fos_is_valid (double fos) |
gboolean | fail_surface_is_valid (double h) |
void | fail_set_failure_surface_ignore (Fail_profile *f, int start, int len) |
gboolean | fail_get_ignore_surface (Fail_profile *f, int start, int len) |
double | fail_get_fail_profile_fos (Fail_profile *f, int start, int len) |
Fail_slice ** | fail_get_janbu_parameters (Fail_profile *f, int start, double *fail_height, int fail_len) |
Fail_column * | fail_reinit_fail_column (Fail_column *f, Sed_column c, double h, Failure_t fail_const ) |
Fail_column * | fail_init_fail_column (Sed_column c, double h, Failure_t fail_const ) |
#define FAIL_INIT_N_THREADS (10) |
#define FAIL_LOCAL_MODEL |
#define FAIL_MIN_COL_LEN (128) |
#define FAIL_NO_FAIL_SURFACE (G_MAXDOUBLE) |
Definition at line 564 of file getsurface.c.
Referenced by fail_get_failure_line(), and fail_surface_is_valid().
#define N_THREADS (4) |
Definition at line 599 of file getsurface.c.
Referenced by fail_examine_fail_profile(), run_compaction(), and subside_grid_load().
#define SECONDS_PER_YEAR 31536000. |
Definition at line 29 of file getsurface.c.
gboolean fail_check_failure_plane_is_valid | ( | const Sed_cube | p, | |
int | start, | |||
int | len, | |||
const double * | failure_plane | |||
) |
Definition at line 108 of file getsurface.c.
References eh_require, sed_cube_base_height(), sed_cube_is_1d(), sed_cube_n_y(), and sed_cube_top_height().
Referenced by get_circle().
Fail_column* fail_create_fail_column | ( | int | n, | |
gboolean | allocate | |||
) |
Definition at line 274 of file getsurface.c.
References Fail_column::c, eh_new, FAIL_FOS_NOT_VALID, FAIL_MIN_COL_LEN, fail_resize_fail_column(), Fail_column::height, Fail_column::len, MAX_FAILURE_LENGTH, Fail_column::phi, Fail_column::size, Fail_column::u, and Fail_column::w.
Referenced by fail_reinit_fail_column().
Fail_profile* fail_create_fail_profile | ( | int | n_cols | ) |
Definition at line 483 of file getsurface.c.
References Fail_profile::col, Fail_profile::count, eh_new, eh_new0, Fail_profile::len, and Fail_profile::size.
Referenced by fail_reinit_fail_profile().
void fail_destroy_fail_column | ( | Fail_column * | f | ) |
Definition at line 332 of file getsurface.c.
References Fail_column::c, eh_free, Fail_column::height, Fail_column::phi, Fail_column::u, and Fail_column::w.
Referenced by fail_destroy_failure_profile().
void fail_destroy_failure_profile | ( | Fail_profile * | f | ) |
Definition at line 550 of file getsurface.c.
References Fail_profile::col, eh_free, fail_destroy_fail_column(), and Fail_profile::size.
Referenced by destroy_failure().
void fail_dump_fail_column | ( | Fail_column * | f, | |
FILE * | fp | |||
) |
Definition at line 349 of file getsurface.c.
References Fail_column::c, Fail_column::height, Fail_column::len, Fail_column::phi, Fail_column::u, and Fail_column::w.
Referenced by fail_dump_fail_profile().
void fail_dump_fail_profile | ( | Fail_profile * | f, | |
FILE * | fp | |||
) |
Definition at line 497 of file getsurface.c.
References Fail_profile::col, fail_dump_fail_column(), Fail_profile::p, sed_cube_write(), and Fail_profile::size.
void fail_examine_fail_profile | ( | Fail_profile * | p | ) |
Definition at line 601 of file getsurface.c.
References Fail_profile::col, eh_free, eh_new, eh_require, get_node_fos(), N_THREADS, Fail_column::need_update, Fail_profile::p, sed_cube_river_mouth_1d(), and Fail_profile::size.
Referenced by run_failure().
gboolean fail_fos_is_valid | ( | double | fos | ) |
Definition at line 835 of file getsurface.c.
Referenced by fail_update_fail_profile(), and get_node_fos().
double fail_get_fail_profile_fos | ( | Fail_profile * | f, | |
int | start, | |||
int | len | |||
) |
Definition at line 855 of file getsurface.c.
References Fail_profile::col, eh_free, eh_new, factor_of_safety(), FAIL_FOS_NOT_VALID, fail_get_janbu_parameters(), get_circle(), Fail_column::need_update, Fail_profile::p, and rtsafe_fos().
Referenced by get_node_fos().
double* fail_get_failure_line | ( | Sed_cube | p | ) |
Definition at line 566 of file getsurface.c.
References eh_free, eh_new, eh_require, FAIL_NO_FAIL_SURFACE, get_circle(), MAX_FAILURE_LENGTH, MIN_FAILURE_LENGTH, sed_cube_is_1d(), and sed_cube_n_y().
Referenced by fail_reinit_fail_profile(), and fail_update_fail_profile().
gboolean fail_get_ignore_surface | ( | Fail_profile * | f, | |
int | start, | |||
int | len | |||
) |
Definition at line 850 of file getsurface.c.
References Fail_profile::col, FAIL_IGNORE_SURFACE, and Fail_column::fs.
Referenced by get_node_fos().
Fail_slice** fail_get_janbu_parameters | ( | Fail_profile * | f, | |
int | start, | |||
double * | fail_height, | |||
int | fail_len | |||
) |
Definition at line 902 of file getsurface.c.
References Fail_profile::col, eh_free, eh_new, eh_require, M_PI, Fail_profile::p, sed_cube_top_height(), Fail_column::size, and Fail_profile::size.
Referenced by fail_get_fail_profile_fos().
Fail_column* fail_init_fail_column | ( | Sed_column | c, | |
double | h, | |||
Failure_t | fail_const | |||
) |
Fail_profile* fail_init_fail_profile | ( | Sed_cube | p, | |
Failure_t | fail_const | |||
) |
Definition at line 389 of file getsurface.c.
References fail_reinit_fail_profile().
Referenced by init_failure_data().
gboolean fail_load_fail_column | ( | Fail_column * | f, | |
FILE * | fp | |||
) |
Definition at line 359 of file getsurface.c.
References Fail_column::c, eh_new, Fail_column::height, Fail_column::len, Fail_column::phi, Fail_column::u, and Fail_column::w.
Referenced by fail_load_fail_profile().
void fail_load_fail_profile | ( | FILE * | fp | ) |
Definition at line 506 of file getsurface.c.
References Fail_profile::col, eh_new, fail_load_fail_column(), Fail_profile::len, Fail_profile::p, sed_cube_read(), and Fail_profile::size.
Fail_column* fail_reinit_fail_column | ( | Fail_column * | f, | |
Sed_column | c, | |||
double | h, | |||
Failure_t | fail_const | |||
) |
Definition at line 1024 of file getsurface.c.
References Fail_column::c, Failure_t::cohesion, Failure_t::consolidation, Failure_t::density_sea_water, eh_require, fail_create_fail_column(), FAIL_LOCAL_MODEL, fail_resize_fail_column(), fail_reuse_fail_column(), fail_surface_is_valid(), Fail_column::failure_line, Failure_t::frictionAngle, get_m(), Fail_column::height, Fail_column::phi, S_RADS_PER_DEGREE, sed_cell_excess_pressure(), sed_cell_size(), sed_column_avg_property(), sed_column_avg_property_with_load(), sed_column_base_height(), sed_column_index_at(), sed_column_nth_cell(), sed_column_top_height(), sed_column_top_nbins(), sed_column_top_rho(), sed_column_water_pressure(), sed_gravity(), sed_property_destroy(), sed_property_new(), Fail_column::u, and Fail_column::w.
Referenced by fail_init_fail_column(), fail_update_fail_profile(), and init_column().
Fail_profile* fail_reinit_fail_profile | ( | Fail_profile * | f, | |
Sed_cube | p, | |||
Failure_t | fail_const | |||
) |
Definition at line 397 of file getsurface.c.
References Fail_profile::col, eh_free, eh_new, eh_require, Init_failure_t::fail_const, Fail_profile::fail_const, fail_create_fail_profile(), fail_get_failure_line(), FAIL_INIT_N_THREADS, fail_resize_fail_profile(), fail_reuse_fail_profile(), Init_failure_t::failure_line, init_column(), Init_failure_t::p, Fail_profile::p, sed_cube_is_1d(), sed_cube_n_y(), and Init_failure_t::slice.
Referenced by fail_init_fail_profile(), and run_failure().
void fail_reset_fail_profile | ( | Fail_profile * | p | ) |
Definition at line 666 of file getsurface.c.
References Fail_profile::col, FAIL_FOS_NOT_VALID, Fail_column::fs, Fail_profile::fs_min_len, Fail_profile::fs_min_start, Fail_profile::fs_min_val, MAX_FAILURE_LENGTH, Fail_column::need_update, and Fail_profile::size.
Fail_column* fail_resize_fail_column | ( | Fail_column * | f, | |
int | n | |||
) |
Definition at line 315 of file getsurface.c.
References Fail_column::c, Fail_column::height, Fail_column::len, Fail_column::phi, Fail_column::size, Fail_column::u, and Fail_column::w.
Referenced by fail_create_fail_column(), and fail_reinit_fail_column().
Fail_profile* fail_resize_fail_profile | ( | Fail_profile * | f, | |
int | n_cols | |||
) |
Definition at line 518 of file getsurface.c.
References Fail_profile::col, Fail_profile::len, and Fail_profile::size.
Referenced by fail_reinit_fail_profile().
Fail_column* fail_reuse_fail_column | ( | Fail_column * | f | ) |
Definition at line 304 of file getsurface.c.
References Fail_column::fs, MAX_FAILURE_LENGTH, and Fail_column::need_update.
Referenced by fail_reinit_fail_column().
Fail_profile* fail_reuse_fail_profile | ( | Fail_profile * | f | ) |
Definition at line 468 of file getsurface.c.
References Fail_profile::count, eh_require, Fail_profile::fs_min_len, Fail_profile::fs_min_start, Fail_profile::fs_min_val, and Fail_profile::p.
Referenced by fail_reinit_fail_profile().
void fail_set_failure_surface_ignore | ( | Fail_profile * | f, | |
int | start, | |||
int | len | |||
) |
Definition at line 845 of file getsurface.c.
References Fail_profile::col, FAIL_IGNORE_SURFACE, and Fail_column::fs.
Referenced by run_failure().
gboolean fail_surface_is_valid | ( | double | h | ) |
Definition at line 840 of file getsurface.c.
References FAIL_NO_FAIL_SURFACE.
Referenced by fail_reinit_fail_column().
void fail_update_fail_profile | ( | Fail_profile * | p | ) |
Definition at line 682 of file getsurface.c.
References Fail_profile::col, Fail_profile::count, eh_free, eh_require, Fail_profile::fail_const, fail_fos_is_valid(), FAIL_FOS_NOT_VALID, fail_get_failure_line(), fail_reinit_fail_column(), Fail_column::failure_line, Fail_column::fs, Fail_profile::fs_min_len, Fail_profile::fs_min_start, Fail_profile::fs_min_val, Fail_column::height, MAX_FAILURE_LENGTH, Fail_column::need_update, Fail_profile::p, sed_column_top_height(), sed_cube_col(), Fail_column::size, and Fail_profile::size.
Referenced by run_failure().
double* get_circle | ( | const Sed_cube | p, | |
int | failure_start, | |||
int | n_points, | |||
double * | circle | |||
) |
Definition at line 137 of file getsurface.c.
References eh_free, eh_new0, eh_require, fail_check_failure_plane_is_valid(), sed_cube_is_1d(), sed_cube_n_y(), sed_cube_top_height(), and sed_cube_y_res().
Referenced by fail_get_fail_profile_fos(), fail_get_failure_line(), and get_failure_surface().
double* get_ellipse | ( | const Sed_cube | p, | |
int | failureStart, | |||
int | nPoints, | |||
double * | ellipse | |||
) |
Definition at line 189 of file getsurface.c.
References eh_free, eh_new, eh_require, sed_cube_is_1d(), sed_cube_top_height(), and sed_cube_y_res().
Sed_cube get_failure_surface | ( | const Sed_cube | p, | |
int | start, | |||
int | len | |||
) |
Definition at line 35 of file getsurface.c.
References eh_free, eh_new0, get_circle(), sed_column_thickness(), sed_cube_col(), sed_cube_copy_cols(), sed_cube_destroy(), sed_cube_n_y(), sed_cube_thickness(), and sed_cube_top_height().
Referenced by run_failure().
double get_m | ( | const Sed_column | s, | |
double | depth, | |||
double | consolidation | |||
) |
Definition at line 231 of file getsurface.c.
References S_SECONDS_PER_YEAR, sed_cell_age(), sed_column_index_depth(), sed_column_nth_cell(), and sed_column_thickness().
Referenced by fail_reinit_fail_column(), and get_janbu_parameters().
void get_node_fos | ( | gpointer | data, | |
gpointer | user_data | |||
) |
Definition at line 776 of file getsurface.c.
References Fail_profile::col, Fail_profile::count, fail_fos_is_valid(), fail_get_fail_profile_fos(), fail_get_ignore_surface(), Fail_column::fs, Fail_profile::fs_min_len, Fail_profile::fs_min_start, Fail_profile::fs_min_val, MAX_FAILURE_LENGTH, MIN_FAILURE_LENGTH, and Fail_profile::size.
Referenced by fail_examine_fail_profile().
void init_column | ( | gpointer | data, | |
gpointer | user_data | |||
) |
Definition at line 534 of file getsurface.c.
References fail_reinit_fail_column(), and sed_cube_col().
Referenced by fail_reinit_fail_profile().