https://github.com/geodynamics/citcoms
Revision 4ea70e2ab22f4bd347b365f744fefb9a8788af9a authored by Thorsten Becker on 08 December 2010, 20:14:32 UTC, committed by Thorsten Becker on 08 December 2010, 20:14:32 UTC
1 parent df821c0
Raw File
Tip revision: 4ea70e2ab22f4bd347b365f744fefb9a8788af9a authored by Thorsten Becker on 08 December 2010, 20:14:32 UTC
Reverted the rowl adjustment since it didn't fix the problem reported by Dan.
Tip revision: 4ea70e2
prototypes.h
/* Advection_diffusion.c */
void advection_diffusion_parameters(struct All_variables *);
void advection_diffusion_allocate_memory(struct All_variables *);
void PG_timestep_init(struct All_variables *);
void PG_timestep(struct All_variables *);
void std_timestep(struct All_variables *);
void PG_timestep_solve(struct All_variables *);
/* Anisotropic_viscosity.c */
/* BC_util.c */
void horizontal_bc(struct All_variables *, float *[], int, int, float, unsigned int, char, int, int);
void internal_horizontal_bc(struct All_variables *, float *[], int, int, float, unsigned int, char, int, int);
void strip_bcs_from_residual(struct All_variables *, double **, int);
void temperatures_conform_bcs(struct All_variables *);
void temperatures_conform_bcs2(struct All_variables *);
void velocities_conform_bcs(struct All_variables *, double **);
void assign_internal_bc(struct All_variables *, int);
/* Checkpoints.c */
void output_checkpoint(struct All_variables *);
void read_checkpoint(struct All_variables *);
/* Citcom_init.c */
void citcom_finalize(struct All_variables *, int);
/* Composition_related.c */
void composition_input(struct All_variables *);
void composition_setup(struct All_variables *);
void write_composition_instructions(struct All_variables *);
void fill_composition(struct All_variables *);
void init_composition(struct All_variables *);
void map_composition_to_nodes(struct All_variables *);
void get_bulk_composition(struct All_variables *);
/* Construct_arrays.c */
void construct_ien(struct All_variables *);
void construct_surface(struct All_variables *);
void construct_id(struct All_variables *);
void get_bcs_id_for_residual(struct All_variables *, int, int);
void construct_lm(struct All_variables *);
void construct_node_maps(struct All_variables *);
void construct_node_ks(struct All_variables *);
void rebuild_BI_on_boundary(struct All_variables *);
void construct_masks(struct All_variables *);
void construct_sub_element(struct All_variables *);
void construct_elt_ks(struct All_variables *);
void construct_elt_gs(struct All_variables *);
void construct_elt_cs(struct All_variables *);
void construct_stiffness_B_matrix(struct All_variables *);
int layers_r(struct All_variables *, float);
int layers(struct All_variables *, int, int);
void construct_mat_group(struct All_variables *);
/* Convection.c */
void set_convection_defaults(struct All_variables *);
void read_convection_settings(struct All_variables *);
void convection_derived_values(struct All_variables *);
void convection_allocate_memory(struct All_variables *);
void convection_initial_fields(struct All_variables *);
void convection_boundary_conditions(struct All_variables *);
/* Determine_net_rotation.c */
double determine_model_net_rotation(struct All_variables *, double *);
double determine_netr_tp(float, float, float, float, float, int, double *, double *);
void sub_netr(float, float, float, float *, float *, double *);
/* Drive_solvers.c */
void general_stokes_solver_setup(struct All_variables *);
void general_stokes_solver(struct All_variables *);
int need_visc_update(struct All_variables *);
int need_to_iterate(struct All_variables *);
void general_stokes_solver_pseudo_surf(struct All_variables *);
/* Element_calculations.c */
void assemble_forces(struct All_variables *, int);
void get_ba(struct Shape_function *, struct Shape_function_dx *, struct CC *, struct CCX *, double [4][9], int, double [9][9][4][7]);
void get_ba_p(struct Shape_function *, struct Shape_function_dx *, struct CC *, struct CCX *, double [4][9], int, double [9][9][4][7]);
void get_elt_k(struct All_variables *, int, double [24*24], int, int, int);
void assemble_del2_u(struct All_variables *, double **, double **, int, int);
void e_assemble_del2_u(struct All_variables *, double **, double **, int, int);
void n_assemble_del2_u(struct All_variables *, double **, double **, int, int);
void build_diagonal_of_K(struct All_variables *, int, double [24*24], int, int);
void build_diagonal_of_Ahat(struct All_variables *);
void assemble_c_u(struct All_variables *, double **, double **, int);
void assemble_div_rho_u(struct All_variables *, double **, double **, int);
void assemble_div_u(struct All_variables *, double **, double **, int);
void assemble_grad_p(struct All_variables *, double **, double **, int);
double assemble_dAhatp_entry(struct All_variables *, int, int, int);
void get_elt_c(struct All_variables *, int, higher_precision [24][1], int, int);
void get_elt_g(struct All_variables *, int, higher_precision [24][1], int, int);
void get_elt_f(struct All_variables *, int, double [24], int, int);
void get_aug_k(struct All_variables *, int, double [24*24], int, int);
/* Full_boundary_conditions.c */
void full_velocity_boundary_conditions(struct All_variables *);
void full_temperature_boundary_conditions(struct All_variables *);
/* Full_geometry_cartesian.c */
void full_set_2dc_defaults(struct All_variables *);
void full_set_2pt5dc_defaults(struct All_variables *);
void full_set_3dc_defaults(struct All_variables *);
void full_set_3dsphere_defaults(struct All_variables *);
/* Full_lith_age_read_files.c */
void full_lith_age_read_files(struct All_variables *, int);
/* Full_parallel_related.c */
void full_parallel_processor_setup(struct All_variables *);
void full_parallel_domain_decomp0(struct All_variables *);
void full_parallel_domain_boundary_nodes(struct All_variables *);
void full_parallel_communication_routs_v(struct All_variables *);
void full_parallel_communication_routs_s(struct All_variables *);
void full_exchange_id_d(struct All_variables *, double **, int);
void full_exchange_snode_f(struct All_variables *, float **, float **, int);
/* Full_read_input_from_files.c */
void full_read_input_files_for_timesteps(struct All_variables *, int, int);
/* Full_solver.c */
void full_solver_init(struct All_variables *);
/* Full_sphere_related.c */
void spherical_to_uv2(double [2], int, double *, double *, double *, double *);
void uv_to_spherical(double [2], int, double *, double *, double *, double *);
void full_coord_of_cap(struct All_variables *, int, int);
/* Full_tracer_advection.c */
void full_tracer_input(struct All_variables *);
void full_tracer_setup(struct All_variables *);
void full_lost_souls(struct All_variables *);
void full_get_shape_functions(struct All_variables *, double [9], int, double, double, double);
double full_interpolate_data(struct All_variables *, double [9], double [9]);
void full_get_velocity(struct All_variables *, int, int, double, double, double, double *);
int full_icheck_cap(struct All_variables *, int, double, double, double, double);
int full_iget_element(struct All_variables *, int, int, double, double, double, double, double, double);
void full_keep_within_bounds(struct All_variables *, double *, double *, double *, double *, double *, double *);
void analytical_test(struct All_variables *);
void analytical_runge_kutte(struct All_variables *, int, double, double *, double *, double *, double *, double *);
void analytical_test_function(struct All_variables *, double, double, double, double *, double *);
void pdebug(struct All_variables *, int);
/* Full_version_dependent.c */
void full_node_locations(struct All_variables *);
void full_construct_boundary(struct All_variables *);
/* General_matrix_functions.c */
int solve_del2_u(struct All_variables *, double **, double **, double, int);
double multi_grid(struct All_variables *, double **, double **, double, int);
double conj_grad(struct All_variables *, double **, double **, double, int *, int);
void element_gauss_seidel(struct All_variables *, double **, double **, double **, double, int *, int, int);
void gauss_seidel(struct All_variables *, double **, double **, double **, double, int *, int, int);
double cofactor(double [4][4], int, int, int);

double determinant(double [4][4], int);
long double lg_pow(long double, int);
/* Ggrd_handling.c */
/* Global_operations.c */
void remove_horiz_ave(struct All_variables *, double **, double *, int);
void remove_horiz_ave2(struct All_variables *, double **);
void return_horiz_ave(struct All_variables *, double **, double *);
void return_horiz_ave_f(struct All_variables *, float **, float *);
void return_elementwise_horiz_ave(struct All_variables *, double **, double *);
float return_bulk_value(struct All_variables *, float **, int);
double return_bulk_value_d(struct All_variables *, double **, int);
float find_max_horizontal(struct All_variables *, double);
void sum_across_surface(struct All_variables *, float *, int);
void sum_across_surf_sph1(struct All_variables *, float *, float *);
float global_fvdot(struct All_variables *, float **, float **, int);
double kineticE_radial(struct All_variables *, double **, int);
double global_vdot(struct All_variables *, double **, double **, int);
double global_pdot(struct All_variables *, double **, double **, int);
double global_v_norm2(struct All_variables *, double **);
double global_p_norm2(struct All_variables *, double **);
double global_div_norm2(struct All_variables *, double **);
double global_tdot_d(struct All_variables *, double **, double **, int);
float global_tdot(struct All_variables *, float **, float **, int);
float global_fmin(struct All_variables *, double);
double global_dmax(struct All_variables *, double);
float global_fmax(struct All_variables *, double);
double Tmaxd(struct All_variables *, double **);
float Tmax(struct All_variables *, float **);
double vnorm_nonnewt(struct All_variables *, double **, double **, int);
void sum_across_depth_sph1(struct All_variables *, float *, float *);
void broadcast_vertical(struct All_variables *, float *, float *, int);
void remove_rigid_rot(struct All_variables *);
/* Initial_temperature.c */
void tic_input(struct All_variables *);
void convection_initial_temperature(struct All_variables *);
/* Instructions.c */
void initial_mesh_solver_setup(struct All_variables *);
void read_instructions(struct All_variables *, char *);
void initial_setup(struct All_variables *);
void initialize_material(struct All_variables *);
void initial_conditions(struct All_variables *);
void read_initial_settings(struct All_variables *);
void check_settings_consistency(struct All_variables *);
void global_derived_values(struct All_variables *);
void allocate_common_vars(struct All_variables *);
void allocate_velocity_vars(struct All_variables *);
void global_default_values(struct All_variables *);
void check_bc_consistency(struct All_variables *);
void set_up_nonmg_aliases(struct All_variables *, int);
void report(struct All_variables *, char *);
void record(struct All_variables *, char *);
void common_initial_fields(struct All_variables *);
void initial_pressure(struct All_variables *);
void initial_velocity(struct All_variables *);
void open_qfiles(struct All_variables *);
void mkdatadir(const char *);
void output_init(struct All_variables *);
void output_finalize(struct All_variables *);
char *strip(char *);
/* Interuption.c */
void interuption(int);
void set_signal(void);
/* Lith_age.c */
void lith_age_input(struct All_variables *);
void lith_age_init(struct All_variables *);
void lith_age_construct_tic(struct All_variables *);
void lith_age_update_tbc(struct All_variables *);
void lith_age_temperature_bound_adj(struct All_variables *, int);
void lith_age_conform_tbc(struct All_variables *);
void assimilate_lith_conform_bcs(struct All_variables *);
/* Material_properties.c */
void mat_prop_allocate(struct All_variables *);
void reference_state(struct All_variables *);
/* Mineral_physics_models.c */
void get_prem(double, double *, double *, double *);
void compute_seismic_model(struct All_variables *, double *, double *, double *);
/* Nodal_mesh.c */
void v_from_vector(struct All_variables *);
void assign_v_to_vector(struct All_variables *);
void v_from_vector_pseudo_surf(struct All_variables *);
void velo_from_element(struct All_variables *, float [4][9], int, int, int);
void velo_from_element_d(struct All_variables *, double [4][9], int, int, int);
void p_to_nodes(struct All_variables *, double **, float **, int);
void visc_from_gint_to_nodes(struct All_variables *, float **, float **, int);
void visc_from_nodes_to_gint(struct All_variables *, float **, float **, int);
void visc_from_gint_to_ele(struct All_variables *, float **, float **, int);
void visc_from_ele_to_gint(struct All_variables *, float **, float **, int);


/* Output.c */
void output_common_input(struct All_variables *);
void output(struct All_variables *, int);
FILE *output_open(char *, char *);
void output_coord(struct All_variables *);
void output_domain(struct All_variables *);
void output_coord_bin(struct All_variables *);
void output_visc(struct All_variables *, int);
void output_velo(struct All_variables *, int);
void output_surf_botm(struct All_variables *, int);
void output_geoid(struct All_variables *, int);
void output_stress(struct All_variables *, int);
void output_horiz_avg(struct All_variables *, int);
void output_seismic(struct All_variables *, int);
void output_mat(struct All_variables *);
void output_pressure(struct All_variables *, int);
void output_tracer(struct All_variables *, int);
void output_comp_nd(struct All_variables *, int);
void output_comp_el(struct All_variables *, int);
void output_heating(struct All_variables *, int);
void output_time(struct All_variables *, int);
/* Output_gzdir.c */
/* Output_h5.c */
void h5output_allocate_memory(struct All_variables *);
void h5output(struct All_variables *, int);
void h5input_params(struct All_variables *);
/* Output_vtk.c */
void vtk_output(struct All_variables *, int);
/* Pan_problem_misc_functions.c */
int get_process_identifier(void);
void unique_copy_file(struct All_variables *, char *, char *);
void apply_side_sbc(struct All_variables *);
void get_buoyancy(struct All_variables *, double **);
int read_double_vector(FILE *, int, double *);
void read_visc_param_from_file(struct All_variables *, const char *, float *, FILE *);
double myatan(double, double);
double return1_test(void);
void rtp2xyzd(double, double, double, double *);
void rtp2xyz(float, float, float, float *);
void xyz2rtp(float, float, float, float *);
void xyz2rtpd(float, float, float, double *);
void calc_cbase_at_tp(float, float, float *);
void calc_cbase_at_tp_d(double, double, double *);
void calc_cbase_at_node(int, int, float *, struct All_variables *);
void convert_pvec_to_cvec(float, float, float, float *, float *);
void convert_pvec_to_cvec_d(double, double, double, double *, double *);
void *safe_malloc(size_t);
void myerror(struct All_variables *, char *);
void get_r_spacing_fine(double *, struct All_variables *);
void get_r_spacing_at_levels(double *, struct All_variables *);
/* Parallel_util.c */
void parallel_process_finalize(void);
void parallel_process_termination(void);
void parallel_process_sync(struct All_variables *);
double CPU_time0(void);
/* Parsing.c */
void setup_parser(struct All_variables *, char *);
void shutdown_parser(struct All_variables *);
void add_to_parameter_list(char *, char *);
int compute_parameter_hash_table(char *);
int input_int(char *, int *, char *, int);
int input_string(char *, char *, char *, int);
int input_boolean(char *, int *, char *, int);
int input_float(char *, float *, char *, int);
int input_double(char *, double *, char *, int);
int input_int_vector(char *, int, int *, int);
int input_char_vector(char *, int, char *, int);
int input_float_vector(char *, int, float *, int);
int input_double_vector(char *, int, double *, int);
int interpret_control_string(char *, int *, double *, double *, double *);
/* Phase_change.c */
void phase_change_allocate(struct All_variables *);
void phase_change_input(struct All_variables *);
void phase_change_apply_410(struct All_variables *, double **);
void phase_change_apply_670(struct All_variables *, double **);
void phase_change_apply_cmb(struct All_variables *, double **);
/* Problem_related.c */
void read_velocity_boundary_from_file(struct All_variables *);
void read_mat_from_file(struct All_variables *);
void read_temperature_boundary_from_file(struct All_variables *);
void get_initial_elapsed_time(struct All_variables *);
void set_elapsed_time(struct All_variables *);
void set_starting_age(struct All_variables *);
float find_age_in_MY(struct All_variables *);
/* Process_buoyancy.c */
void post_processing(struct All_variables *);
void heat_flux(struct All_variables *);
void compute_horiz_avg(struct All_variables *);
/* Regional_boundary_conditions.c */
void regional_velocity_boundary_conditions(struct All_variables *);
void regional_temperature_boundary_conditions(struct All_variables *);
/* Regional_geometry_cartesian.c */
void regional_set_2dc_defaults(struct All_variables *);
void regional_set_2pt5dc_defaults(struct All_variables *);
void regional_set_3dc_defaults(struct All_variables *);
void regional_set_3dsphere_defaults(struct All_variables *);
/* Regional_lith_age_read_files.c */
void regional_lith_age_read_files(struct All_variables *, int);

/* Regional_parallel_related.c */
void regional_parallel_processor_setup(struct All_variables *);
void regional_parallel_domain_decomp0(struct All_variables *);
void regional_parallel_domain_boundary_nodes(struct All_variables *);
void regional_parallel_communication_routs_v(struct All_variables *);
void regional_parallel_communication_routs_s(struct All_variables *);
void regional_exchange_id_d(struct All_variables *, double **, int);
void regional_exchange_snode_f(struct All_variables *, float **, float **, int);
/* Regional_read_input_from_files.c */
void regional_read_input_files_for_timesteps(struct All_variables *, int, int);
/* Regional_solver.c */
void regional_solver_init(struct All_variables *);
/* Regional_sphere_related.c */
void regional_coord_of_cap(struct All_variables *, int, int);
/* Regional_tracer_advection.c */
void regional_tracer_setup(struct All_variables *);
int regional_iget_element(struct All_variables *, int, int, double, double, double, double, double, double);
int isearch_all(double *, int, double);
int isearch_neighbors(double *, int, double, int);
int regional_icheck_cap(struct All_variables *, int, double, double, double, double);
void regional_get_shape_functions(struct All_variables *, double [9], int, double, double, double);
double regional_interpolate_data(struct All_variables *, double [9], double [9]);
void regional_get_velocity(struct All_variables *, int, int, double, double, double, double *);
void regional_keep_within_bounds(struct All_variables *, double *, double *, double *, double *, double *, double *);
void regional_lost_souls(struct All_variables *);
/* Regional_version_dependent.c */
void regional_node_locations(struct All_variables *);
void regional_construct_boundary(struct All_variables *);
/* Shape_functions.c */
void construct_shape_functions(struct All_variables *);
double lpoly(int, double);
double lpolydash(int, double);
/* Size_does_matter.c */
void twiddle_thumbs(struct All_variables *);
void construct_shape_function_derivatives(struct All_variables *);
void get_rtf_at_vpts(struct All_variables *, int, int, int, double [4][9]);
void get_rtf_at_ppts(struct All_variables *, int, int, int, double [4][9]);
void get_side_x_cart(struct All_variables *, double [4][5], int, int, int);
void construct_surf_det(struct All_variables *);
void construct_bdry_det(struct All_variables *);
void get_global_1d_shape_fn(struct All_variables *, int, struct Shape_function1 *, struct Shape_function1_dA *, int, int);
void get_global_1d_shape_fn_L(struct All_variables *, int, struct Shape_function1 *, struct Shape_function1_dA *, int, int);
void get_global_side_1d_shape_fn(struct All_variables *, int, struct Shape_function1 *, struct Shape_function1_dx *, struct Shape_function_side_dA *, int, int);
void construct_c3x3matrix_el(struct All_variables *, int, struct CC *, struct CCX *, int, int, int);
void construct_side_c3x3matrix_el(struct All_variables *, int, struct CC *, struct CCX *, int, int, int, int);
void construct_c3x3matrix(struct All_variables *);
void mass_matrix(struct All_variables *);
/* Solver_conj_grad.c */
void set_cg_defaults(struct All_variables *);
void cg_allocate_vars(struct All_variables *);
void assemble_forces_iterative(struct All_variables *);
/* Solver_multigrid.c */
void set_mg_defaults(struct All_variables *);
void mg_allocate_vars(struct All_variables *);
void inject_scalar(struct All_variables *, int, float **, float **);
void inject_vector(struct All_variables *, int, double **, double **);
void un_inject_vector(struct All_variables *, int, double **, double **);
void interp_vector(struct All_variables *, int, double **, double **);
void project_viscosity(struct All_variables *);
void inject_scalar_e(struct All_variables *, int, float **, float **);
void project_scalar_e(struct All_variables *, int, float **, float **);
void project_scalar(struct All_variables *, int, float **, float **);
void project_vector(struct All_variables *, int, double **, double **, int);
void from_xyz_to_rtf(struct All_variables *, int, double **, double **);
void from_rtf_to_xyz(struct All_variables *, int, double **, double **);
void fill_in_gaps(struct All_variables *, double **, int);
/* Sphere_harmonics.c */
void set_sphere_harmonics(struct All_variables *);
double modified_plgndr_a(int, int, double);
void sphere_expansion(struct All_variables *, float **, float *, float *);
void debug_sphere_expansion(struct All_variables *);
/* Sphere_util.c */
void even_divide_arc12(int, double, double, double, double, double, double, double *, double *);
void compute_angle_surf_area(struct All_variables *);
double area_sphere_cap(double [6]);
double area_of_sphere_triag(double, double, double);
double area_of_5points(struct All_variables *, int, int, int, double [4], int);
void get_angle_sphere_cap(double [4][5], double [6]);
double get_angle(double [4], double [4]);
/* Stokes_flow_Incomp.c */
void solve_constrained_flow_iterative(struct All_variables *);
/* Topo_gravity.c */
void get_STD_topo(struct All_variables *, float **, float **, float **, float **, int);
void get_STD_freesurf(struct All_variables *, float **);
void allocate_STD_mem(struct All_variables *, float **, float **, float **, float **, float **, float **, float **, float **);
void free_STD_mem(struct All_variables *, float **, float **, float **, float **, float **, float **, float **, float **);
void compute_nodal_stress(struct All_variables *, float **, float **, float **, float **, float **, float **, float **, float **);
void stress_conform_bcs(struct All_variables *);
void compute_geoid(struct All_variables *);
void get_CBF_topo(struct All_variables *, float **, float **);
/* Tracer_setup.c */
void tracer_input(struct All_variables *);
void tracer_initial_settings(struct All_variables *);
void tracer_advection(struct All_variables *);
void tracer_post_processing(struct All_variables *);
void count_tracers_of_flavors(struct All_variables *);
void initialize_tracers(struct All_variables *);
void cart_to_sphere(struct All_variables *, double, double, double, double *, double *, double *);
void sphere_to_cart(struct All_variables *, double, double, double, double *, double *, double *);
void get_neighboring_caps(struct All_variables *);
void allocate_tracer_arrays(struct All_variables *, int, int);
void expand_tracer_arrays(struct All_variables *, int);
void expand_later_array(struct All_variables *, int);
int icheck_processor_shell(struct All_variables *, int, double);
int icheck_that_processor_shell(struct All_variables *, int, int, double);
/* Viscosity_structures.c */
void viscosity_system_input(struct All_variables *);
void viscosity_input(struct All_variables *);
void allocate_visc_vars(struct All_variables *);
void get_system_viscosity(struct All_variables *, int, float **, float **);
void initial_viscosity(struct All_variables *);
void visc_from_mat(struct All_variables *, float **);
void read_visc_layer_file(struct All_variables *);
void visc_from_T(struct All_variables *, float **, int);
void visc_from_S(struct All_variables *, float **, int);
void visc_from_P(struct All_variables *, float **);
void visc_from_C(struct All_variables *, float **);
void strain_rate_2_inv(struct All_variables *, int, float *, int);
back to top