ISLEC  Version 4.2
Data Structures | Macros | Typedefs | Functions | Variables
islec.h File Reference

Header file of the ISLEC program. More...

Go to the source code of this file.

Data Structures

struct  ELEMENT
 
struct  SPECIES
 
struct  IIBINPARAM
 
struct  NNBINPARAM
 
struct  NIITERPARAM
 
struct  IIITERPARAM
 
struct  NIIIQUAPARAM
 
struct  NNIIQUAPARAM
 
struct  SUBRPARAM
 
struct  GAS_PHASE
 
struct  AQUEOUS_PHASE
 
struct  SOLID_PHASE
 
struct  SOLIDSOLUTION_PHASE
 
struct  PHASES
 

Macros

#define PROGRAM_NAME   "ISLEC"
 
#define PROGRAM_COMMAND   "islec"
 
#define PROGRAM_SITE   "http://www.islec.net"
 
#define COPYRIGHT   "2011-2018"
 
#define AUTHOR   "Dongdong Li"
 
#define AUTHOR_EMAIL   "ddong_li@hotmail.com"
 
#define R   8.314
 
#define PRESSURE   1.0
 
#define TEMP_FILE   "temp.db"
 
#define C1   4.5810
 
#define C2   0.7237
 
#define C3   0.0120
 
#define C4   0.5280
 
#define WATER_SYMBOL   "H2O(aq)"
 

Typedefs

typedef struct ELEMENT ELEMENT
 
typedef struct SPECIES SPECIES
 
typedef struct IIBINPARAM IIBINPARAM
 
typedef struct NNBINPARAM NNBINPARAM
 
typedef struct NIITERPARAM NIITERPARAM
 
typedef struct IIITERPARAM IIITERPARAM
 
typedef struct NIIIQUAPARAM NIIIQUAPARAM
 
typedef struct NNIIQUAPARAM NNIIQUAPARAM
 
typedef struct SUBRPARAM SUBRPARAM
 
typedef struct GAS_PHASE GAS_PHASE
 
typedef struct AQUEOUS_PHASE AQUEOUS_PHASE
 
typedef struct SOLID_PHASE SOLID_PHASE
 
typedef struct SOLIDSOLUTION_PHASE SOLIDSOLUTION_PHASE
 
typedef struct PHASES PHASES
 

Functions

bool load_db (char *input, char *temp)
 
bool test_load ()
 
bool test_models ()
 
double psc_r (AQUEOUS_PHASE aq, int index, double *n, double T, double P)
 
double psc_a (AQUEOUS_PHASE aq, int index, double *n, double T, double P)
 
double rkg_a (SOLIDSOLUTION_PHASE ss, int index, double *n, double T, double P)
 
int gem_ipopt ()
 Perform Gibbs energy minimization (GEM) using the IPOPT algrithium. More...
 

Variables

char BLOCK_KEYWORDS [2][64]
 
char PHASE_KEYWORDS [4][64]
 
char PROCESS [5][64]
 
char PROPERTY [6][64]
 
int total_comp_num
 
int gas_phase_num
 
int aqueous_phase_num
 
int solid_phase_num
 
int solidsolution_phase_num
 
int total_phase_num
 
int total_species_num
 
char block_keyword [32]
 
char phase_keyword [32]
 
ELEMENTcomponents
 
PHASES phases
 
double ** coeff_matrix
 
double system_T
 
double system_P
 
double system_charge
 
double * total_components
 
double * n_eq
 
double gibbs_eq
 
bool successed
 

Detailed Description

Header file of the ISLEC program.

Author
Dongdong Li ddong.nosp@m._li@.nosp@m.hotma.nosp@m.il.c.nosp@m.om
Date
2018-05-26
Version
4.2.0.1

Definition in file islec.h.

Macro Definition Documentation

◆ AUTHOR

#define AUTHOR   "Dongdong Li"

Definition at line 34 of file islec.h.

◆ AUTHOR_EMAIL

#define AUTHOR_EMAIL   "ddong_li@hotmail.com"

Definition at line 35 of file islec.h.

◆ C1

#define C1   4.5810

Definition at line 42 of file islec.h.

◆ C2

#define C2   0.7237

Definition at line 43 of file islec.h.

◆ C3

#define C3   0.0120

Definition at line 44 of file islec.h.

◆ C4

#define C4   0.5280

Definition at line 45 of file islec.h.

◆ COPYRIGHT

#define COPYRIGHT   "2011-2018"

Definition at line 33 of file islec.h.

◆ PRESSURE

#define PRESSURE   1.0

Definition at line 38 of file islec.h.

◆ PROGRAM_COMMAND

#define PROGRAM_COMMAND   "islec"

Definition at line 31 of file islec.h.

◆ PROGRAM_NAME

#define PROGRAM_NAME   "ISLEC"

Definition at line 30 of file islec.h.

◆ PROGRAM_SITE

#define PROGRAM_SITE   "http://www.islec.net"

Definition at line 32 of file islec.h.

◆ R

#define R   8.314

Definition at line 37 of file islec.h.

◆ TEMP_FILE

#define TEMP_FILE   "temp.db"

Definition at line 39 of file islec.h.

◆ WATER_SYMBOL

#define WATER_SYMBOL   "H2O(aq)"

Definition at line 47 of file islec.h.

Typedef Documentation

◆ AQUEOUS_PHASE

typedef struct AQUEOUS_PHASE AQUEOUS_PHASE

◆ ELEMENT

typedef struct ELEMENT ELEMENT

◆ GAS_PHASE

typedef struct GAS_PHASE GAS_PHASE

◆ IIBINPARAM

typedef struct IIBINPARAM IIBINPARAM

◆ IIITERPARAM

typedef struct IIITERPARAM IIITERPARAM

◆ NIIIQUAPARAM

typedef struct NIIIQUAPARAM NIIIQUAPARAM

◆ NIITERPARAM

typedef struct NIITERPARAM NIITERPARAM

◆ NNBINPARAM

typedef struct NNBINPARAM NNBINPARAM

◆ NNIIQUAPARAM

typedef struct NNIIQUAPARAM NNIIQUAPARAM

◆ PHASES

typedef struct PHASES PHASES

◆ SOLID_PHASE

typedef struct SOLID_PHASE SOLID_PHASE

◆ SOLIDSOLUTION_PHASE

◆ SPECIES

typedef struct SPECIES SPECIES

◆ SUBRPARAM

typedef struct SUBRPARAM SUBRPARAM

Function Documentation

◆ gem_ipopt()

int gem_ipopt ( )

Perform Gibbs energy minimization (GEM) using the IPOPT algrithium.

Author
Dongdong Li ddong.nosp@m._li@.nosp@m.hotma.nosp@m.il.c.nosp@m.om
Returns
status of the optimization generated from the function IpoptSolve
Since
4.0.0.0

Definition at line 180 of file gem_ipopt.c.

◆ load_db()

bool load_db ( char *  input,
char *  temp 
)

Definition at line 718 of file load_db.c.

◆ psc_a()

double psc_a ( AQUEOUS_PHASE  aq,
int  index,
double *  n,
double  T,
double  P 
)

Definition at line 3496 of file psc_model.c.

◆ psc_r()

double psc_r ( AQUEOUS_PHASE  aq,
int  index,
double *  n,
double  T,
double  P 
)

Definition at line 3483 of file psc_model.c.

◆ rkg_a()

double rkg_a ( SOLIDSOLUTION_PHASE  ss,
int  index,
double *  n,
double  T,
double  P 
)

Definition at line 99 of file rkg_model.c.

◆ test_load()

bool test_load ( )

Definition at line 31 of file test_load.c.

◆ test_models()

bool test_models ( )

Definition at line 30 of file test_models.c.

Variable Documentation

◆ aqueous_phase_num

int aqueous_phase_num

Definition at line 196 of file islec.h.

◆ block_keyword

char block_keyword[32]

Definition at line 202 of file islec.h.

◆ BLOCK_KEYWORDS

char BLOCK_KEYWORDS[2][64]
Initial value:
= {"COMPONENTS",
"PHASES"}

Definition at line 49 of file islec.h.

◆ coeff_matrix

double** coeff_matrix

Definition at line 208 of file islec.h.

◆ components

ELEMENT* components

Definition at line 205 of file islec.h.

◆ gas_phase_num

int gas_phase_num

Definition at line 195 of file islec.h.

◆ gibbs_eq

double gibbs_eq

Definition at line 216 of file islec.h.

◆ n_eq

double* n_eq

Definition at line 215 of file islec.h.

◆ phase_keyword

char phase_keyword[32]

Definition at line 203 of file islec.h.

◆ PHASE_KEYWORDS

char PHASE_KEYWORDS[4][64]
Initial value:
= {"GAS",
"LIQUID",
"SOLID",
"SOLIDSOLUTION"}

Definition at line 52 of file islec.h.

◆ phases

PHASES phases

Definition at line 206 of file islec.h.

◆ PROCESS

char PROCESS[5][64]
Initial value:
= {"EQUILIBRIUM",
"EVAPORATION",
"FREEZING",
"HEATING",
"MIXING"}

Definition at line 57 of file islec.h.

◆ PROPERTY

char PROPERTY[6][64]
Initial value:
= {"AW",
"GAMMA",
"LPHI",
"HDIL",
"CPHI",
"LNK"}

Definition at line 63 of file islec.h.

◆ solid_phase_num

int solid_phase_num

Definition at line 197 of file islec.h.

◆ solidsolution_phase_num

int solidsolution_phase_num

Definition at line 198 of file islec.h.

◆ successed

bool successed

Definition at line 217 of file islec.h.

◆ system_charge

double system_charge

Definition at line 212 of file islec.h.

◆ system_P

double system_P

Definition at line 211 of file islec.h.

◆ system_T

double system_T

Definition at line 210 of file islec.h.

◆ total_comp_num

int total_comp_num

Definition at line 194 of file islec.h.

◆ total_components

double* total_components

Definition at line 213 of file islec.h.

◆ total_phase_num

int total_phase_num

Definition at line 199 of file islec.h.

◆ total_species_num

int total_species_num

Definition at line 200 of file islec.h.