NLopt_opt_function

Function to perform local minimization of the solution phases -> using NLopt external library -> penalty on SF inequality constraints seems good with a small value of 1e-12 (1e-10 was giving problems)

void liq_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for L

void hb_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for hb

void aug_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for aug

void dio_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for dio

void opx_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for opx

void g_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for g

void ol_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ol

void fsp_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for fsp

void abc_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for abc

void k4tr_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for k4tr

void sp_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for sp

void ilm_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ilm

void ilmm_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ilmm

void ep_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ep

void bi_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for bi

void mu_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for mu

void chl_mb_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for chl

void liq_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for liq_mp

void st_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for st_mp

void sp_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for sp_mp

void sa_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for sa_mp

void fsp_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for fsp_mp

void opx_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for opx_mp

void mu_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for mu_mp

void mt_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for mt_mp

void ma_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ma_mp

void ilm_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ilm

void ilmm_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ilmm_mp

void g_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for g_mp

void ep_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ep_mp

void ctd_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ctd_mp

void chl_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for chl_mp

void cd_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for cd_mp

void bi_mp_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for bi_mp

void fper_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for fper_S11

void cpx_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for clinopyroxene

void ep_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for epidote

void fl_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for fluid

void g_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for garnet

void hb_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for hornblende

void ilm_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ilm

void liq_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for liqHw

void mu_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for muscovite

void ol_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for olivine

void opx_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for orthopyroxene

void fsp_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for felsdpar

void spn_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *SS_ref_db)
[source]

local minimization for spinel

void bi_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for biotite

void cd_ig_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

local minimization for cordierite

void fluid_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for fluid

void ol_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ol

void br_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for br

void ch_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ch

void atg_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for atg

void g_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for g

void ta_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for ta

void chl_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for chl

void anth_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for anth

void spi_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for spi

void opx_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for opx

void po_um_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *data)
[source]

Inequality constraints for po

void aq17_c(unsigned int m, double *result, unsigned int n, const double *x, double *grad, void *SS_ref_db)
[source]

Equality constraints aq17

SS_ref NLopt_opt_function(global_variable gv, SS_ref SS_ref_db, int index)
[source]

attributes the right solution phase to the solution phase array and calculates xi