Simplex levelling
The purpose is to use G0 of pure-phases and endmembers of solid solutions to find out the potential stable phases. The final set of SS at equilibrium are contained in the estimated leveling assemblage.
Levelling occurs in two stages:
Stage 1: levelling using pure species only and a simplex approach
Stage 2: levelling using progressive solution phase minimization and simplex approach
-
void TC_ig_objective_init_function(obj_type *SS_objective, global_variable gv)
[source] associate the array of pointer with the right solution phase
-
void update_dG(simplex_data *splx_data)
[source] function to calculate delta G (position of potential phases with current G hyperplane*)
-
void update_local_gamma(double *A1, double *g0_A, double *gam, int n)
[source] update Gamma using LAPACKE dgesv
-
void initialize_initial_guess(bulk_info z_b, simplex_data *splx_data, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db)
[source] function to swp pure phases
-
void swap_pure_phases(bulk_info z_b, simplex_data *splx_data, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db)
[source] function to swp pure phases
-
void swap_pure_endmembers(bulk_info z_b, simplex_data *splx_data, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db)
[source] function to swp pure endmembers
-
void swap_pseudocompounds(bulk_info z_b, simplex_data *splx_data, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db)
[source] function to swp solution phase pseudocompounds
-
void swap_PGE_pseudocompounds(bulk_info z_b, simplex_data *splx_data, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db)
[source] function to swp solution phase pseudocompounds during PGE iterations
-
void fill_simplex_arrays_A(bulk_info z_b, simplex_data *splx_data, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db)
[source] function to run simplex linear programming
-
void print_levelling(bulk_info z_b, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db)
[source] print levelling informations
-
void generate_pseudocompounds(int ss, bulk_info z_b, global_variable gv, simplex_data *splx_data, SS_ref *SS_ref_db, PC_ref *SS_pc_xeos, obj_type *SS_objective)
[source] Generate pseudocompounds
-
void reduce_ss_list(SS_ref *SS_ref_db, global_variable gv)
[source] Get bounds for pseudocompounds compositional bounds after levelling
-
void run_simplex_pseudocompounds(bulk_info z_b, simplex_data *splx_data, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db)
[source] function to run simplex linear programming with pseudocompounds only
-
void run_initial_guess_levelling(bulk_info z_b, simplex_data *splx_data, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db)
[source] function to run simplex linear programming with pseudocompounds
-
void run_simplex_levelling(bulk_info z_b, simplex_data *splx_data, global_variable gv, PP_ref *PP_ref_db, SS_ref *SS_ref_db, obj_type *SS_objective)
[source] function to run simplex linear programming with pseudocompounds
-
void destroy_simplex_A(simplex_data *splx_data)
[source] function to deallocte memory of simplex linear programming (A)
-
void destroy_simplex_B(simplex_data *splx_data)
[source] function to deallocte memory of simplex linear programming (B)
-
global_variable run_initial_guess_function(bulk_info z_b, global_variable gv, simplex_data *splx_data, PP_ref *PP_ref_db, SS_ref *SS_ref_db, csd_phase_set *cp)
[source] Levelling function when using initial guess
-
global_variable run_levelling_function(bulk_info z_b, global_variable gv, obj_type *SS_objective, simplex_data *splx_data, PP_ref *PP_ref_db, SS_ref *SS_ref_db, csd_phase_set *cp)
[source] Levelling function. Memory allocation and initialization is divided in part A and B. Part A: Reference assemblage against which candidates are tested Part B: Candidate phases