thermint
Contents
thermint.c
Thermal evolution of the planet’s interior (mantle + core)
- Author
- Peter Driscoll (peteredriscoll) 
- Date
- June 1 2015 
Functions
- 
void fvBodyCopyThermint(BODY *dest, BODY *src, int foo, int iNumBodies, int iBody)
- Copy values from src to dest for iBody. - Parameters:
- dest – Body struct containing destination 
- src – Body struct containing source 
- foo – 
- iNumBodies – Index number of bodies 
- iBody – Body index 
 
 
- 
void fvReadTSurf(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read surface temperature from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadTMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read mantle temperature from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadTCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read core temperature from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscJumpMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read viscosity jump across mantle from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscRef(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read reference viscosity from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadTrefLind(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read reference Lindemann (core liquidus) temperature from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadDTChiRef(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read core liquidus light element depression from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadEruptEff(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read melt eruption efficiency from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscMeltPhis(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read melt viscosity reduction “Phi^star” parameter from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscMeltXi(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read melt viscosity reduction “Xi” parameter from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscMeltGamma(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read melt viscosity reduction “Gamma” parameter from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscMeltDelta(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read melt viscosity reduction “delta” parameter from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscMeltB(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read melt viscosity reduction “B” parameter from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadFixMeltfactorUMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read boolean option to fix upper mantle melt viscosity reduction from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadMeltfactorLMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read fixed lower mantle melt viscosity reduction from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadMeltfactorUMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read fixed upper mantle melt viscosity reduction from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadStagLid(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read option to fix stagnant lid mantle heat flow from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadManHFlowPref(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read mantle surface heat flow prefix coefficient from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadMagMomCoef(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read dipole magnetic moment coefficient from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadPresSWind(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read solar wind pressure at body from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadHaltMinTMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read minimum mantle temperature to halt from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadHaltMinTCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read minimum core temperature to halt from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadActViscMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read mantle viscosity activation energy from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadShModRef(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read mantle reference shear modulus from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadStiffness(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read mantle stiffness from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadDLind(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read Lindemann law (core liquidus) length scale “D” from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadDAdCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read core adiabatic profile length scale “D” from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadAdJumpM2UM(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read adiabatic temperature jump from average mantle to upper mantle from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadAdJumpM2LM(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read adiabatic temperature jump from average mantle to lower mantle from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadAdJumpC2CMB(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read adiabatic temperature jump from average core to core-mantle boundary from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadElecCondCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read electrical conductivity at top of core from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadImK2ManOrbModel(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
- Read ImK2ManOrbModel from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[])
- Initialize Thermint options - Parameters:
- options – Options struct 
- fnRead – fnReadOption functions to read options 
 
 
- 
void fvReadOptionsThermint(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, fnReadOption fnRead[], int iBody)
- Read options in thermint - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- fnRead – fnReadOption functions to read options 
- iBody – Index of body 
 
 
- 
void fvAssignTMan(BODY *body, OPTIONS *options, double dAge, int iBody)
- Verify assigning of TMan to body - Parameters:
- body – Body struct 
- options – Options struct 
- dAge – Age 
- iBody – Index of body 
 
 
- 
void fvVerifyTMan(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, double dAge, int iBody)
- Verify TMan. In update struct, iaType=1 for differential equation evolution, iNumBodies=1, iaBody is number of bodies affected by this variable (1), pdTDotMan points towards derivative, fnUpdate points towards derivative (fdTDotMan). - Parameters:
- body – Body struct 
- options – Options struct 
- system – System struct 
- update – Update struct 
- dAge – Age 
- iBody – Index of body 
 
 
- 
void fvVerifyTCore(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, double dAge, int iBody)
- Verify TCore. In update struct, iaType=1 for differential equation evolution, iNumBodies=1, iaBody is number of bodies affected by this variable (1), pdTDotCore points towards derivative, fnUpdate points towards derivative (fdTDotCore). Initialize parameters that dDTCoreDt depends on in body struct: dRIC, dHfluxCMBConv, dRICDot, dGravICB, dCoreBuoyTherm, dCoreBuoyCompo, update. daDerivProc. - Parameters:
- body – Body struct 
- options – Options struct 
- system – System struct 
- update – Update struct 
- dAge – Age 
- iBody – Index of body 
 
 
- 
void fvPropsAuxThermint(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
- Set auxiliary properties in body. This includes all thermint parameters that are not computed by a time derivative (that is everything except TMan and TCore). - Parameters:
- body – Body struct 
- evolve – Evolve struct 
- update – Update struct 
- iBody – Index of body 
 
 
- 
void fvForceBehaviorThermint(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody, int iModule)
- Enforce limits to fundamental parameters: if TMan or TCore < 0.5 then set it to 0 (i.e. removes negatives). - Parameters:
- body – Body struct 
- evolve – Evolve struct 
- io – IO struct 
- system – System struct 
- update – Update struct 
- fnUpdate – fnUpdateVariable pointer to function to update 
- iBody – Index of body 
- iModule – Index of module 
 
 
- 
void fvAssignThermintDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
- 
void fvNullThermintDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
- 
void fvVerifyThermint(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, OUTPUT *output, SYSTEM *system, UPDATE *update, int iBody, int iModule)
- Verify thermint. Calls VerifyTMan, VerifyTCore, ForceBehaviorThermint, PropsAuxThermint, BodyCopyThermint. - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- output – Output struct 
- system – System struct 
- update – Update struct 
- iBody – Index of body 
- iModule – Index of module 
 
 
- 
void fvInitializeUpdateThermint(BODY *body, UPDATE *update, int iBody)
- Initialize update - Parameters:
- body – Body struct 
- update – Update struct 
- iBody – Index of body 
 
 
- 
void fvFinalizeUpdateTManThermint(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
- Finalize update of TMan - Parameters:
- body – Body struct 
- update – Update struct 
- iEqn – Index of equation to update 
- iVar – Index of variable to update 
- iBody – Index of body 
- iFoo – 
 
 
- 
void fvFinalizeUpdateTCoreThermint(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
- Finalize update of TCore - Parameters:
- body – Body struct 
- update – Update struct 
- iEqn – Index of equation to update 
- iVar – Index of variable to update 
- iBody – Index of body 
- iFoo – 
 
 
- 
int fbHaltMinTMan(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
- Halt at minimum value of TMan - Parameters:
- body – Body struct 
- evolve – Evolve struct 
- halt – Halt struct 
- io – IO struct 
- update – Update struct 
- iBody – Index of body 
 
 
- 
int fbHaltMinTCore(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
- Halt at minimum value of TCore - Parameters:
- body – Body struct 
- evolve – Evolve struct 
- halt – Halt struct 
- io – IO struct 
- update – Update struct 
- iBody – Index of body 
 
 
- 
void fvCountHaltsThermint(HALT *halt, int *iNumHalts)
- Count number of halts - Parameters:
- halt – Halt struct 
- iNumHalts – Index of number of halts 
 
 
- 
void fvVerifyHaltThermint(BODY *body, CONTROL *control, OPTIONS *options, int iBody, int *iHalt)
- Verify halts. - Parameters:
- body – Body struct 
- control – Control struct 
- options – Options struct 
- iBody – Index of body 
- iHalt – Index of halt 
 
 
- 
void fvWriteTMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write TMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write TUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTsolUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write TsolUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write TLMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTJumpUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write TJumpUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTJumpLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write TJumpLMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteSignTJumpUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write Sign of TJumpUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteSignTJumpLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write Sign of TJumpUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write TCMB output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write TCore output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteViscUManArr(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write viscosity UMan from Arrhenius law output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteViscUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write viscosity UMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteDynamicViscosity(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write dynamic mantle viscosity output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteViscLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write viscosity LMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteViscMMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write viscosity MMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteViscJumpMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write viscosity jump across mantle output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteBLUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write UMan boundary layer thickness output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteBLLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write LMan boundary layer thickness output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteShmodUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write UMan shear modulus output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteFMeltUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write UMan melt fraction output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteFMeltLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write LMan melt fraction output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMeltfactorUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write UMan viscosity melt reduction output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMeltfactorLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write LMan viscosity melt reduction output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteDepthMeltMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write depth of mantle melting output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTDepthMeltMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write T at depth of mantle melting output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTJumpMeltMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write TJump across depth of mantle melting output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMeltMassFluxMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write mass flux of mantle melt output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteRayleighMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write mantle Rayleigh number output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteEruptEff(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write mantle melt eruption efficiency output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteRIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write inner core radius RIC output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteDRICDTCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write derivative of RIC wrt TCMB output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteChiOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write outer core “OC” light element concentration “chi” output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteChiIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write inner core “IC” light element concentration “chi” output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMassOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write OC mass output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMassIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write IC mass output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMassChiOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write OC light element mass output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMassChiIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write IC light element mass output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteDTChi(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write core liquidus depression due to light elements output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteThermConductOC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write thermal conductivity at top of OC output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteCoreBuoyTherm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write OC thermal buoyancy flux output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteCoreBuoyCompo(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write OC compositional buoyancy flux output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteCoreBuoyTotal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write OC total buoyancy flux output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteGravICB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write inner core boundary (ICB) gravitational energy release output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMagMom(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write OC dipolar magnetic moment output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteRICDot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write RIC growth rate output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWritePresSWind(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write solar wind pressure at planet output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMagPauseRad(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write magnetopause radius output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHfluxUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write heat flux across UMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHfluxLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write heat flux across LMan (same as CMB) output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHfluxCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write heat flux across CMB (same as LMan) output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHfluxCMBAd(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write adiabatic heat flux at top of OC output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHfluxCMBConv(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write convective heat flux at top of OC output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write heat flow across UMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowSurf(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write heat flow across surface of body output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowLMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write heat flow across LMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowCMB(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write heat flow across CMB output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowLatentMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write latent heat flow from mantle solidification output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowMeltMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write erupted melt heat flow from UMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowSecMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write mantle secular cooling heat flow output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowLatentIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write latent heat flow from ICB output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWritePowerGravIC(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write gravitational power from ICB output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTDotMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write mantle temperature cooling rate output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTDotCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write core temperature cooling rate output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTrefLind(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
- Write Constants. Write core liquidus Lindemann reference temperature output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[])
- Initialize output, set variable names, descriptions, default units, default scalings, and write functions. - Parameters:
- output – Output struct 
- fnWrite – fnWriteOutput 
 
 
- 
void fvLogOptionsThermint(CONTROL *control, FILE *fp)
- Log options - Parameters:
- control – Control struct 
- fp – File struct 
 
 
- 
void fvLogThermint(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UPDATE *update, fnWriteOutput fnWrite[], FILE *fp)
- Log of thermint - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- update – Update struct 
- fnWrite – fnWriteOutput 
- fp – File 
 
 
- 
void fvLogBodyThermint(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UPDATE *update, fnWriteOutput fnWrite[], FILE *fp, int iBody)
- Log of body from thermint - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- update – Update struct 
- fnWrite – fnWriteOutput 
- fp – File 
 
 
- 
void fvAddModuleThermint(CONTROL *control, MODULE *module, int iBody, int iModule)
- Add thermint module - Parameters:
- module – Module struct 
- iBody – Index of body 
- iModule – Index of module 
 
 
- 
double fdTUMan(BODY *body, int iBody)
- Function compute upper mantle temperature - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle temperature 
 
- 
double fdTLMan(BODY *body, int iBody)
- Function compute lower mantle temperature - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Lower mantle temperature 
 
- 
double fdTCMB(BODY *body, int iBody)
- Function compute core-mantle boundary temperature - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Core-mantle boundary temperature 
 
- 
double fdTJumpUMan(BODY *body, int iBody)
- Function compute absolute value of upper mantle temperature jump: TUman-TSURF - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Absolute value of upper mantle temperature jump 
 
- 
double fdTJumpLMan(BODY *body, int iBody)
- Function compute absolute value of lower mantle temperature jump: TCMB-TLman - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Absolute value of lower mantle temperature jump 
 
- 
double fdSignTJumpUMan(BODY *body, int iBody)
- Function compute sign of upper mantle temperature jump - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Sign of upper mantle temperature jump 
 
- 
double fdSignTJumpLMan(BODY *body, int iBody)
- Function compute sign of lower mantle temperature jump - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Sign of lower mantle temperature jump 
 
- 
double fdViscUManArr(BODY *body, int iBody)
- Function compute Arrhenius component of upper mantle viscosity - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Arrhenius component of upper mantle viscosity 
 
- 
double fdViscUMan(BODY *body, int iBody)
- Function compute full upper mantle viscosity - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Full upper mantle viscosity 
 
- 
double fdViscLMan(BODY *body, int iBody)
- Function compute full lower mantle viscosity - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Full lower mantle viscosity 
 
- 
double fdViscMMan(BODY *body, int iBody)
- Function compute full mid-mantle viscosity - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Full mid-mantle viscosity 
 
- 
double fdViscJumpMan(BODY *body, int iBody)
- Function compute mantle viscosity jump - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mantle viscosity jump 
 
- 
double fdBLUMan(BODY *body, int iBody)
- Function compute upper mantle thermal boundary layer thickness - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle thermal boundary layer thickness 
 
- 
double fdBLLMan(BODY *body, int iBody)
- Function compute lower mantle thermal boundary layer thickness - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Lower mantle thermal boundary layer thickness 
 
- 
double fdShmodUMan(BODY *body, int iBody)
- Function compute upper mantle shear modulus - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle shear modulus 
 
- 
double fdTsolUMan(BODY *body, int iBody)
- Function compute solidus at bottom of upper mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Solidus at bottom of upper mantle thermal boundary layer 
 
- 
double fdTsolLMan(BODY *body, int iBody)
- Function compute solidus at top of lower mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Solidus at top of lower mantle thermal boundary layer 
 
- 
double fdTliqUMan(BODY *body, int iBody)
- Function compute liquidus at bottom of upper mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Liquidus at bottom of upper mantle thermal boundary layer 
 
- 
double fdTliqLMan(BODY *body, int iBody)
- Function compute liquidus at top of lower mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Liquidus at top of lower mantle thermal boundary layer 
 
- 
double fdFMeltUMan(BODY *body, int iBody)
- Function compute upper mantle melt fraction - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle melt fraction 
 
- 
double fdFMeltLMan(BODY *body, int iBody)
- Function compute lower mantle melt fraction - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Lower mantle melt fraction 
 
- 
double fdMeltfactorUMan(BODY *body, int iBody)
- Function compute upper mantle viscosity reduction factor due to melt. If dFixMeltfactorUMan=1 then return dMeltfactorUMan. Else compute it. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle viscosity reduction factor due to melt 
 
- 
double fdMeltfactorLMan(BODY *body, int iBody)
- Function compute lower mantle viscosity reduction factor due to melt. Always compute it. Only applied if ViscJumpMan is not set. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Lower mantle viscosity reduction factor due to melt 
 
- 
double fdDepthMeltMan(BODY *body, int iBody)
- Function compute depth of upper mantle melting. Use cubic root to find intersection of mantle adiabat and solidus. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Depth of upper mantle melting 
 
- 
double fdTDepthMeltMan(BODY *body, int iBody)
- Function compute solidus temperature at depth of upper mantle melting. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- solidus temperature at depth of upper mantle melting 
 
- 
double fdTJumpMeltMan(BODY *body, int iBody)
- Function compute temperature jump across upper mantle melt region, excluding the adiabatic component (i.e. just the advective component): TDepthMeltMan-TSURF-ADGRADMAN*DepthMeltMan - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Temperature jump across upper mantle melt region 
 
- 
double fdRayleighMan(BODY *body, int iBody)
- Function compute mantle Rayleigh number, where temperature jump is the total convective temperature jump across mantle (UMan+LMan) and viscosity is ViscMMan. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mantle Rayleigh number 
 
- 
double fdDynamicViscosity(BODY *body, int iBody)
- Function compute upper mantle dynamic viscosity: ViscUMan*EDENSMAN. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle dynamic viscosity 
 
- 
double fdMassIC(BODY *body, int iBody)
- Function compute mass of inner core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mass of inner core 
 
- 
double fdMassOC(BODY *body, int iBody)
- Function compute mass of outer core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mass of outer core 
 
- 
double fdChiOC(BODY *body, int iBody)
- Function compute light element concentration in outer core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Light element concentration in outer core 
 
- 
double fdChiIC(BODY *body, int iBody)
- Function compute light element concentration in inner core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Light element concentration in inner core 
 
- 
double fdMassChiOC(BODY *body, int iBody)
- Function compute light element mass in outer core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Light element mass in outer core 
 
- 
double fdMassChiIC(BODY *body, int iBody)
- Function compute light element mass in inner core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Light element mass in inner core 
 
- 
double fdDTChi(BODY *body, int iBody)
- Function compute core liquidus depression due to light element concentration - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Core liquidus depression due to light element concentration 
 
- 
double fdRIC(BODY *body, int iBody)
- Function compute inner core radius RIC - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Inner core radius 
 
- 
double fdThermConductOC(BODY *body, int iBody)
- Function compute thermal conductivity at top of outer core: ElecCondCore*LORENTZNUM*TCMB - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Thermal conductivity at top of outer core 
 
- 
double fdHfluxCMBAd(BODY *body, int iBody)
- Function compute adiabatic heat flux at top of outer core: ThermConductOC*TCMB*ERCORE/DAdCore^2 - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Adiabatic heat flux at top of outer core 
 
- 
double fdHfluxCMBConv(BODY *body, int iBody)
- Function compute convective heat flux at top of outer core: HfluxCMB-HfluxCMBAd - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Convective heat flux at top of outer core 
 
- 
double fdGravICB(BODY *body, int iBody)
- Function compute gravity at inner core boundary ICB - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Gravity at inner core boundary ICB 
 
- 
double fdRICDot(BODY *body, UPDATE *update, int iBody)
- Function compute inner core radius growth rate - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Inner core radius growth rate 
 
- 
double fdCoreBuoyTherm(BODY *body, int iBody)
- Function compute outer core thermal buoyancy flux - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Outer core thermal buoyancy flux 
 
- 
double fdCoreBuoyCompo(BODY *body, int iBody)
- Function compute outer core compositional buoyancy flux - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Outer core compositional buoyancy flux 
 
- 
double fdCoreBuoyTotal(BODY *body, int iBody)
- Function compute outer core total buoyancy flux - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Outer core total buoyancy flux 
 
- 
double fdMagMom(BODY *body, int iBody)
- Function compute dipole magnetic moment - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Dipole magnetic moment 
 
- 
double fdPresSWind(BODY *body, int iBody)
- Function compute solar wind pressure - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Solar wind pressure 
 
- 
double fdMagPauseRad(BODY *body, int iBody)
- Function compute magnetopause stand-off radius from center of planet - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Magnetopause stand-off radius from center of planet 
 
- 
double fdHfluxUMan(BODY *body, int iBody)
- Function compute heat flux across upper mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flux across upper mantle thermal boundary layer 
 
- 
double fdHfluxLMan(BODY *body, int iBody)
- Function compute heat flux across lower mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flux across lower mantle thermal boundary layer 
 
- 
double fdHfluxCMB(BODY *body, int iBody)
- Function compute heat flux across core-mantle boundary: same as across lower mantle - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flux across core-mantle boundary 
 
- 
double fdHflowUMan(BODY *body, int iBody)
- Function compute heat flow across upper mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow across upper mantle thermal boundary layer 
 
- 
double fdHflowSurf(BODY *body, int iBody)
- Function compute heat flow across surface of mantle - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow across surface of mantle 
 
- 
double fdHflowLMan(BODY *body, int iBody)
- Function compute heat flow across lower mantle boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow across lower mantle boundary layer 
 
- 
double fdHflowCMB(BODY *body, int iBody)
- Function compute heat flow across core-mantle boundary (same as lower mantle) - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow across core-mantle boundary (same as lower mantle) 
 
- 
double fdHflowLatentMan(BODY *body, UPDATE *update, int iBody)
- Function compute latent heat flow from mantle solidification - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Latent heat flow from mantle solidification 
 
- 
double fdMeltMassFluxMan(BODY *body, int iBody)
- Function compute mass flux of mantle melt - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mass flux of mantle melt 
 
- 
double fdHflowMeltMan(BODY *body, int iBody)
- Function compute heat flow of erupted mantle melt - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow of erupted mantle melt 
 
- 
double fdHfluxSurf(BODY *body, int iBody)
- Function compute secular mantle heat flow: heat sinks - sources - Parameters:
- body – Body struct 
- iBody – Index of body 
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow of mantle secular cooling Function compute heat flux across surface of mantle 
- Returns:
- Heat flux across surface of mantle 
 
- 
double fdDRICDTCMB(BODY *body, int iBody)
- Function compute derivative of RIC wrt TCMB if IC exists. Otherwise zero. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Derivative of RIC wrt TCMB if IC exists. Otherwise zero. 
 
- 
double fdMassICDot(BODY *body, UPDATE *update, int iBody)
- Function compute time derivative of IC mass - Parameters:
- body – Body struct 
- update – Update struct 
- iBody – Index of body 
 
- Returns:
- Time derivative of IC mass if IC exists. Otherwise zero. 
 
- 
double fdHflowLatentIC(BODY *body, UPDATE *update, int iBody)
- Function compute latent heat flow from inner core solidification - Parameters:
- body – Body struct 
- update – Update struct 
- iBody – Index of body 
 
- Returns:
- Latent heat flow from inner core solidification 
 
- 
double fdPowerGravIC(BODY *body, UPDATE *update, int iBody)
- Function compute gravitational energy release from inner core solidification - Parameters:
- body – Body struct 
- update – Update struct 
- iBody – Index of body 
 
- Returns:
- Gravitational energy release from inner core solidification 
 
- 
double fdTDotMan(BODY *body, SYSTEM *system, int *iaBody)
- Function compute time derivative of average mantle temperature - Parameters:
- body – Body struct 
- system – System struct 
- iaBody – Index of body 
 
- Returns:
- Time derivative of average mantle temperature 
 
- 
double fdTDotCore(BODY *body, SYSTEM *system, int *iaBody)
- Function compute time derivative of average core temperature - Parameters:
- body – Body struct 
- system – System struct 
- iaBody – Index of body 
 
- Returns:
- Time derivative of average core temperature 
 
- 
double cube(double x)
- Function compute cube of quantity - Parameters:
- x – Quantity 
- Returns:
- Quantity cubed 
 
- 
double root(int type, BODY *body, int iBody, double guess1, double guess2, double tol, int nmax)
- Function compute root of intersection of two equations using bisection method. - Parameters:
- type – Type of root to compute 
- body – Body struct 
- iBody – Index of body 
- guess1 – First guess of root 
- guess2 – Second guess of root 
- tol – Tolerance of root finding 
- nmax – Maximum iteration 
 
- Returns:
- Root 
 
- 
double cubicroot(int type, BODY *body, int iBody)
- Function compute cubic roots of intersection between mantle adiabat and solidus. - Parameters:
- type – Type of root to compute 
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Depth to solidus-adiabat intersection (melt layer) 
 
- 
double fdSolidusMan(double depth)
- Function compute mantle solidus at a given depth - Parameters:
- depth – 
- Returns:
- Mantle solidus temperature at this depth 
 
- 
double fdSolTempDiffMan(double depth, BODY *body, int iBody)
- Function compute temperature difference between solidus and geotherm at a given depth - Parameters:
- depth – 
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Temperature difference between solidus and geotherm at a given depth 
 
- 
double fdSurfEnFlux(BODY *body, SYSTEM *system, UPDATE *update, int iBody, int iFoo)
- Function compute surface energy flux including crustal radiogenic power: hflowUMan+RadPowerCrust - Parameters:
- body – Body struct 
- update – Update struct 
- system – System struct 
- iBody – Index of body 
- iFoo – 
 
- Returns:
- Surface energy flux including crustal radiogenic power 
 
thermint.h
Thermal evolution of the planet’s interior (mantle + core)
- Author
- Peter Driscoll (peteredriscoll) 
- Date
- June 1 2015 
Defines
- 
TSURF
- [K] Surface temperature (constant). This should be set globally! \ 
- 
KM
- [m] m in 1 km 
- 
GASCONSTANT
- [J/mol/K] Gas constant in SI units. 
- 
EMASS
- [kg] Mass of Earth (E) 
- 
EMASSFRACMAN
- [nd] Earth’s mantle mass fraction 
- 
EMASSMAN
- [kg] Mass of Earth mantle 
- 
EMASSFRACCORE
- [nd] Earth’s core mass fraction 
- 
EMASSCORE
- [kg] Mass of Earth core 
- 
EMASSIC
- [kg] Mass of present inner core 
- 
EMASSOC
- [kg] Mass of present outer core 
- 
EMASSOCEAN
- [kg] Mass of Earth oceans 
- 
EMASSFRACOCEAN
- [nd] Mass fraction of Earth’s oceans 
- 
EMASSFRACCRUST
- [nd] Mass fraction of Earth’s crust 
- 
EMASSCRUST
- [kg] Mass Earth crust today. \ 
- 
ERADIUS
- [m] Radius of Earth 
- 
ERMAN
- [m] Radius of Earth’s mantle 
- 
ERCORE
- [m] Radius of Earth’s Core 
- 
ERICB
- [m] Present day inner core boundary (ICB) radius 
- 
EDMAN
- [m] Earth’s mantle shell thickness 
- 
EDOC
- [m] Earth’s present day core shell thickness 
- 
EVOL
- [m^3] Volume of Earth \ 
- 
EVOLIC
- [m^3] Volume of Earth’s present-day inner core 
- 
EVOLCORE
- [m^3] Volume of Earth’s total core 
- 
EVOLOC
- [m^3] Volume of Earth’s outer core today 
- 
EVOLMAN
- [m^3] Volume of Earth’s Mantle 
- 
EAREASURF
- [m2] Area of Earth’s surface 
- 
EAREACMB
- [m2] Area of Earth’s core-mantle boundary (CMB) 
- 
EDENS
- [kg/m^3] Density of Earth 
- 
EDENSMAN
- [kg/m^3] Density of Earth’s mantle 
- 
EDENSCORE
- [kg/m^3] Density of Earth’s core 
- 
EDENSOC
- [kg/m^3] Density of Earth’s outer core 
- 
EDENSIC
- [kg/m^3] Density of Earth’s inner core 
- 
DENSANOMICB
- [kg/m^3] Density difference of Earth’s outer core light elements \ 
- 
GRAVSURF
- [m/s2] Earth’s surface gravity 
- 
GRAVUMAN
- [m/s2] Earth’s upper mantle gravity 
- 
GRAVLMAN
- [m/s2] Earth’s lower mantle gravity 
- 
GRAVCMB
- [m/s2] Earth’s core-mantle boundary gravity 
- 
SPECHEATMAN
- [J/kg/K] Mantle specfic heat 
- 
SPECHEATCORE
- [J/kg/K] Core specific heat 
- 
THERMEXPANMAN
- [K^-1] Mantle thermal expansivity 
- 
THERMEXPANCORE
- [K^-1] Cpre thermal expansivity 
- 
THERMCONDUMAN
- [W/m/K] Upper mantle thermal conductivity 
- 
THERMCONDLMAN
- [W/m/K] Upper mantle thermal conductivity 
- 
THERMDIFFUMAN
- [m^2/s] Upper mantle thermal diffusivity 
- 
THERMDIFFLMAN
- [m^2/s] Lower mantle thermal diffusivity 
- 
SPECLATENTICB
- [J/kg] Inner core boundary specific latent heat release 
- 
SPECLATENTMAN
- [J/kg] specific latent heat release by mantle solidification 
- 
SPECPOWGRAVIC
- [J/kg] Gravitational power release by inner core solidification 
- 
RACRIT
- [nd] Critical rayleigh number for spherical convection 
- 
CONVEXPON
- [nd] Convective cooling Nusselt-Rayleigh number exponent, “beta” 
- 
HFLOWREDUCTSTAG
- [nd] Mantle surface heat flow reduction factor for stagnant lid 
- 
STAGLID
- [nd] Switch to turn stagnant lid on. (def=0, ie mobile lid) 
- 
MANHFLOWPREF
- [nd] Upper mantle heat flow prefix. mobile lid=1. \ staglid=HFLOWREDUCTSTAG 
- 
ACTVISCMAN
- [J/mol] Mantle viscosity activation energy 
- 
ACTSHMODMAN
- [J/mol] Mantle shear modulus activation energy 
- 
STIFFNESS
- [Pa] Effective stiffness of mantle (calibrated to k2=0.3, \ Q=100) 
- 
SHMODREF
- [Pa] Reference kinematic mantle shear modulus 
- 
VISCREF
- [m^2/s] Reference kinematic mantle viscosity 
- 
DYNAMVISCREF
- [m^2/s] Reference kinematic mantle viscosity \ 
- 
VISCJUMPMAN
- [nd] Viscosity jump from upper to lower mantle \ 
- 
FIXVISCJUMPMAN
- [nd] (default) Option to fix viscjumpulm. if =0 then viscLM is \ computed from TLMan. 
- 
VISCJUMPMMAN
- [nd] Viscosity jump from upper to average (mid) mantle 
- 
VISCMELTB
- [nd] Viscosity-melt reduction coefficient “B” (DB15 eq 8) 
- 
VISCMELTPHIS
- [nd] Viscosity-melt reduction coefficient “phi*” (DB15 eq 8) 
- 
VISCMELTDELTA
- [nd] Viscosity-melt reduction coefficient “delta” (DB15 eq 8) 
- 
VISCMELTGAMMA
- [nd] Viscosity-melt reduction coefficient “gamma” (DB15 eq 9) 
- 
VISCMELTXI
- [nd] Viscosity-melt reduction coefficient “Xi” (DB15 eq 9) 
- 
MELTFACTORLMAN
- [nd] (Default) Viscosity-melt reduction factor “epsilon_phase” XXX \ Added by Rory — Check! 
- 
MELTFACTORUMAN
- [nd] (Default) Viscosity-melt reduction factor “epsilon_phase” 
- 
FIXMELTFACTORUMAN
- [nd] (Default) Switch to fix MeltfactorUMan to a constant value 
- 
ASOLIDUS
- [K/m^3] Mantle solidus coefficient \ Tsol(r)=A*r^3+B*r^2+C*r+D 
- 
BSOLIDUS
- [K/m^2] Solidus B coefficient 
- 
CSOLIDUS
- [K/m] Solidus C coefficient 
- 
DSOLIDUS
- [K] Solidus D coefficient 
- 
DTLIQMAN
- [K] Mantle liquidus offset, T_liq=T_sol+DTLIQMAN 
- 
DLIND
- [m] Lindemann’s law length scale for iron liquidus “D_Fe” \ (DB15 A23) 
- 
TREFLIND
- [K] Lindemann’s law reference temp. “T_Fe0” (DB15 A23) 
- 
DVLIQDTEMP
- [m^3/K] Approximation of change in mantle liquid volume with T_m, \ DV_liq/DT (DB15) 
- 
ERUPTEFF
- [nd] (Default) Mantle melt heat loss eruption efficiency 
- 
ECRUSTDENSITY
- [kg/m3] Earth’s continental crust density 
- 
ECRUSTAREA
- [m2] =41.2% of Earth surface (Taylor 95) 
- 
ECRUSTDEPTH
- [m] Average depth of continental \ crust today ~ 36 km (Taylor 95) 
- 
CRUSTACCRFRAC
- [nd] Constant fraction of oceanic crust accreted onto continent \ 
- 
CRUSTINSOFACT
- [nd] Reduction in heat conducted through contintental \ crust compared to oceanic crust (Jaupart 07, table 3) 
- 
DTCHIREF
- [K] Core reference liquidus depression 
- 
CHI_OC_E
- [nd] Earth’s outer core light element concentration 
- 
PARTITION_CHI_CORE
- [nd] Core light element partition coefficent 
- 
CHI_IC_E
- 
EMASSOC_CHI
- [kg] Mass of light elements (Chi) in Earth’s outer core 
- 
EMASSIC_CHI
- [kg] Mass of light elements (Chi) in Earth’s inner core 
- 
EMASSCORE_CHI
- [kg] Total core light element mass of Earth \ (conserved) 
- 
ADGRADMAN
- [K/m] mantle linear adiabatic gradient =0.5K/km (DB15 \ eq A18) 
- 
DADCORE
- [m] liq iron core adiabatic length scale (DB15 eq A22) 
- 
GRUNEISEN
- [nd] Core gruneisen parameter 
- 
ADJUMPM2UM
- [nd] Adiabatic temperature jump from average to upper mantle \ “epsilon_UM” 
- 
ADJUMPM2LM
- [nd] Adiabatic temperature jump from average to lower mantle \ “epsilon_LM” 
- 
ADJUMPC2CMB
- [nd] Adiabatic temperature jump from average core to CMB \ “epsilon_c” 
- 
MAGPERM
- [H/m] Magnetic permeability constant 
- 
MAGMOMCOEF
- [nd] Saturation constant for fast rotating dipolar dynamos \ (OC2006) 
- 
ELECCONDCORE
- [S/m] Electrical conductivity of core 
- 
LORENTZNUM
- [W Ohm/K] Lorentz number, relates thermal and electrical \ conductivity 
- 
EMAGMOM
- [Am^2] Earth’s present day magnetic moment 
- 
EPRESSWIND
- [N/m^2] Earth’s solar wind pressure: Psw=m_proton*n_sw*v_sw^2 \ (DB13) 
- 
EMAGPAUSERAD
- [m] Earth’s magnetopause radius (DB13) 
- 
IMK2MANORBMODEL
- [nd] Option for ImK2 model to use in orbital equations 
- 
OPTSTARTTHERMINT
- Start of THERMINT option indexes 
- 
OPTENDTHERMINT
- End of THERMINT options indexes 
- 
OPT_TSURF
- Surface temperature 
- 
OPT_TMAN
- Average mantle temperature 
- 
OPT_TUMAN
- Temperature base of upper mantle boundary layer 
- 
OPT_TLMAN
- Temperature top of lower mantle boundary layer 
- 
OPT_TCORE
- Average core temperature 
- 
OPT_TCMB
- Temperature core-mantle boundary (CMB) 
- 
OPT_TICB
- Temperature inner core boundary (ICB) 
- 
OPT_BLUMAN
- Upper mantle thermal boundary layer thickness 
- 
OPT_BLLMAN
- Lower mantle thermal boundary layer thickness 
- 
OPT_TJUMPUMAN
- Temperature jump across upper mantle thermal boundary layer 
- 
OPT_TJUMPLMAN
- Temperature jump across lower mantle thermal boundary layer 
- 
OPT_VISCLMAN
- Viscosity of lower mantle thermal boundary layer 
- 
OPT_SHMODUMAN
- Shear modulus of upper mantle boundary layer \ 
- 
OPT_SHMODLMAN
- Shear modulus of lower mantle boundary layer \ 
- 
OPT_FMELTUMAN
- Melt fraction in upper mantle boundary layer \ 
- 
OPT_FMELTLMAN
- Melt fraction in lower mantle boundary layer \ 
- 
OPT_MELTFACTORUMAN
- Melt viscosity reduction factor in upper mantle 
- 
OPT_FIXMELTFACTORUMAN
- Option to fix melt viscosity reduction in upper mantle 
- 
OPT_MELTFACTORLMAN
- Melt viscosity reduction factor in lower mantle 
- 
OPT_DEPTHMELTMAN
- Depth to base of upper mantle melting 
- 
OPT_TDEPTHMELTMAN
- Temperature at base of upper mantle melting 
- 
OPT_TJUMPMELTMAN
- Temperature jump across upper mantle melt region 
- 
OPT_K2MAN
- Mantle k2 Love number 
- 
OPT_IMK2MAN
- Mantle imaginary part of the k2 Love number 
- 
OPT_VISCUMANARR
- Arrhenius viscosity in upper mantle 
- 
OPT_VISCMMAN
- Viscosity of mid (average) mantle 
- 
OPT_TDOTMAN
- Time derivative of average mantle temperature 
- 
OPT_TDOTCORE
- Time derivative of average core temperature 
- 
OPT_HFLUXUMAN
- Heat flux across upper mantle thermal boundary layer 
- 
OPT_HFLOWUMAN
- Heat flow across upper mantle thermal boundary layer 
- 
OPT_HFLUXLMAN
- Heat flux across upper mantle thermal boundary layer 
- 
OPT_HFLOWLMAN
- Heat flow across upper mantle thermal boundary layer 
- 
OPT_HFLUXCMB
- Heat flux across core-mantle boundary and lower mantle 
- 
OPT_HFLOWCMB
- Heat flow across core-mantle boundary and lower mantle 
- 
OPT_HFLOWTIDALMAN
- Tidal dissipation heat flow in mantle 
- 
OPT_HFLOWTIDALCORE
- Tidal dissipation heat flow in core 
- 
OPT_HFLOWLATENTMAN
- Latent heat flow from solidification of mantle 
- 
OPT_HFLOWMELTMAN
- Melt heat flow from mantle 
- 
OPT_HFLOWLATENTIC
- Latent heat flow from solidification of inner core 
- 
OPT_POWERGRAVIC
- Gravitation power released from solidification of inner core 
- 
OPT_HFLOWICB
- Heat flow across inner core boundary 
- 
OPT_HFLUXSURF
- Heat flux across surface of mantle 
- 
OPT_HFLOWSURF
- Heat flow across surface of mantle 
- 
OPT_TIDALPOWMAN
- Mantle tidal dissipation power 
- 
OPT_HALTMINTMAN
- Halt at a minimum mantle temperature 
- 
OPT_HALTMINTCORE
- Halt at a minimum core temperature 
- 
OPT_STAGLID
- Stagnant lid switch for mantle surface heat flow 
- 
OPT_MANHFLOWPREF
- Mantle surface heat flow prefix coefficient 
- 
OPT_PRESSWIND
- Stellar wind pressure, used to compute magneopause radius 
- 
OPT_RIC
- Inner core radius 
- 
OPT_DOC
- Outer core shell thickness 
- 
OPT_CHIOC
- Outer core light element concentration “chi” 
- 
OPT_CHIIC
- Inner core light element concentration “chi” 
- 
OPT_THERMCONDUCTOC
- Thermal conductivity of outer core 
- 
OPT_THERMCONDUCTIC
- Thermal conductivity of inner core 
- 
OPT_MASSOC
- Outer core mass 
- 
OPT_MASSIC
- Inner core mass 
- 
OPT_MASSCHIOC
- Outer core light element “chi” mass 
- 
OPT_MASSCHIIC
- Inner core light element “chi” mass 
- 
OPT_DTCHI
- Core liquidus depression 
- 
OPT_MAGMOMCOEF
- Magnetic dipole moment scaling coefficient “gamma_dip” 
- 
OPT_VISCJUMPMAN
- Viscosity ratio of lower to upper mantle 
- 
OPT_ERUPTEFF
- Mantle melt eruption efficiency 
- 
OPT_VISCREF
- Reference viscosity 
- 
OPT_TREFLIND
- Reference Lindemann temperature of core liquidus 
- 
OPT_DTCHIREF
- Reference core liquidus depression 
- 
OPT_VISCMELTB
- Viscosity melt factor B 
- 
OPT_VISCMELTPHIS
- Viscosity melt factor Phi* 
- 
OPT_VISCMELTXI
- Viscosity melt factor Xi 
- 
OPT_VISCMELTGAMMA
- Viscosity melt factor Gamma 
- 
OPT_VISCMELTDELTA
- Viscosity melt factor Delta 
- 
OPT_ACTVISCMAN
- [J/mol] Viscosity activation energy of mantle 
- 
OPT_SHMODREF
- [Pa] Reference kinematic mantle shear modulus \ 
- 
OPT_STIFFNESS
- [Pa] Effective stiffness of mantle (calibrated to k2=0.3, Q=100) \ 
- 
OPT_DLIND
- [m] Lindemann’s law length scale for iron liquidus “D_Fe” (DB15 \ A23) 
- 
OPT_DADCORE
- [m] Liquid iron core adiabatic length scale (DB15 eq A22) 
- 
OPT_ADJUMPM2UM
- [nd] Adiabatic temperature jump from average mantle to base of \ upper mantle thermal boundary layer: “epsilon_UM” 
- 
OPT_ADJUMPM2LM
- [nd] Adiabatic temperature jump from average mantle to top of \ lower mantle thermal boundary layer: “epsilon_LM” 
- 
OPT_ADJUMPC2CMB
- [nd] Adiabatic temperature jump from average core to core-mantle \ boundary: “epsilon_c” 
- 
OPT_ELECCONDCORE
- [S/m] Electrical conductivity of core 
- 
OPT_IMK2MANORBMODEL
- [nd] Option of ImK2 model to use in orbital equations 
- 
THERMINTHALTSYSEND
- 
THERMINTHALTBODYEND
- 
OUTSTARTTHERMINT
- 
OUTENDTHERMINT
- 
OUT_TMAN
- [K] Average mantle temperature 
- 
OUT_TUMAN
- [K] Temperature base of upper mantle boundary layer 
- 
OUT_TSOLUMAN
- [K] Upper mantle solidus temperature 
- 
OUT_TLMAN
- [K] Temperature top of lower mantle boundary layer 
- 
OUT_TCORE
- [K] Average core temperature 
- 
OUT_TCMB
- [K] Temperature core-mantle boundary (CMB) 
- 
OUT_TICB
- [K] Temperature inner core boundary (ICB) 
- 
OUT_BLUMAN
- [m] Upper mantle thermal boundary layer thickness 
- 
OUT_BLLMAN
- [m] Lower mantle thermal boundary layer thickness 
- 
OUT_TJUMPUMAN
- [K] Temperature jump across upper mantle thermal boundary layer 
- 
OUT_TJUMPLMAN
- [K] Temperature jump across lower mantle thermal boundary layer 
- 
OUT_SIGNTJUMPUMAN
- [K] Temperature Jump across upper mantle thermal boundary layer 
- 
OUT_SIGNTJUMPLMAN
- [K] Temperature Jump across lower mantle thermal boundary layer 
- 
OUT_VISCLMAN
- [m^2/s] Viscosity lower mantle thermal boundary layer 
- 
OUT_SHMODUMAN
- [m^2/s] Shear modulus of upper mantle boundary layer 
- 
OUT_SHMODLMAN
- [m^2/s] Shear modulus of lower mantle boundary layer 
- 
OUT_FMELTUMAN
- [nd] Melt fraction in upper mantle boundary layer 
- 
OUT_FMELTLMAN
- [nd] Melt fraction in lower mantle boundary layer 
- 
OUT_MELTFACTORUMAN
- [nd] Melt viscosity reduction factor in upper mantle 
- 
OUT_MELTFACTORLMAN
- [nd] Melt viscosity reduction factor in lower mantle 
- 
OUT_DEPTHMELTMAN
- [m] Depth to base of upper mantle melting \ 
- 
OUT_TDEPTHMELTMAN
- [K] Temperature at base of upper mantle melting 
- 
OUT_TJUMPMELTMAN
- [K] Temperature jump across upper mantle melt region 
- 
OUT_MELTMASSFLUXMAN
- [kg/s] Mantle melt mass flux 
- 
OUT_VISCUMANARR
- [m^2/s] Arrhenius viscosity in upper mantle \ 
- 
OUT_RAYLEIGHMAN
- [nd] Mantle Rayleigh Number 
- 
OUT_VISCMMAN
- [m^2/s] Viscosity of mid (average) mantle 
- 
OUT_TDOTMAN
- [K/s] Time derivative of average mantle temperature 
- 
OUT_TDOTCORE
- [K/s] Time derivative of average core temperature 
- 
OUT_HFLUXUMAN
- [W/m^2] Heat flux across upper mantle thermal boundary layer 
- 
OUT_HFLOWUMAN
- [W] Heat flow across upper mantle thermal boundary layer 
- 
OUT_HFLUXLMAN
- [W/m^2] Heat flux across upper mantle thermal boundary layer 
- 
OUT_HFLOWLMAN
- [W] Heat flow across upper mantle thermal boundary layer 
- 
OUT_HFLUXCMB
- [W/m^2] Heat flux across core-mantle boundary and lower mantle 
- 
OUT_HFLOWCMB
- [W] Heat flow across core-mantle boundary and lower mantle 
- 
OUT_HFLOWTIDALMAN
- [W] Tidal dissipation heat flow in mantle \ 
- 
OUT_HFLOWTIDALCORE
- [W] Tidal dissipation heat flow in core \ 
- 
OUT_HFLOWLATENTMAN
- [W] Latent heat flow from solidification of mantle 
- 
OUT_HFLOWMELTMAN
- [W] Melt heat flow from mantle 
- 
OUT_HFLOWLATENTIC
- [W] Latent heat flow from solidification of inner core 
- 
OUT_POWERGRAVIC
- [W] Gravitation power released from solidification of inner core \ 
- 
OUT_HFLOWICB
- [W] Heat flow across inner core boundary 
- 
OUT_HFLUXSURF
- [W/m^2] Heat flux across surface of mantle 
- 
OUT_HFLOWSURF
- [W] Heat flow across surface of mantle 
- 
OUT_TIDALPOWMAN
- [W] Mantle tidal dissipation power 
- 
OUT_HFLOWSECMAN
- [W] Mantle secular cooling power 
- 
OUT_HFLUXCMBAD
- [W/m^2] Adiabatic heat flux at top of core 
- 
OUT_HFLUXCMBCONV
- [W/m^2] Super-adiabatic (convective) heat flux at top of core 
- 
OUT_RIC
- [m] Inner core radius 
- 
OUT_DOC
- [m] Outer core shell thickness 
- 
OUT_DRICDTCMB
- [m/K] Change in inner core radius with CMB temperature: \ d(R_ic)/d(T_cmb) 
- 
OUT_RICDOT
- [m/s] Change in inner core radius with time: d(R_ic)/d(t) 
- 
OUT_CHIOC
- [nd] Outer core light element concentration chi 
- 
OUT_CHIIC
- [nd] Inner core light element concentration chi 
- 
OUT_THERMCONDUCTOC
- [W/m/K] Thermal conductivity at top of outer core 
- 
OUT_THERMCONDUCTIC
- [W/m/K] Thermal conductivity of inner core 
- 
OUT_MASSOC
- [kg] Outer core mass 
- 
OUT_MASSIC
- [kg] Inner core mass 
- 
OUT_MASSCHIOC
- [kg] Outer core light element chi mass 
- 
OUT_MASSCHIIC
- [kg] Inner core light element chi mass 
- 
OUT_DTCHI
- [K] Core Liquidus Depression 
- 
OUT_COREBUOYTHERM
- [m^2/s^3] Core thermal buoyancy flux 
- 
OUT_COREBUOYCOMPO
- [m^2/s^3] Core compositional buoyancy flux 
- 
OUT_COREBUOYTOTAL
- [m^2/s^3] Core total buoyancy flux 
- 
OUT_GRAVICB
- [m/s^2] Inner core boundary gravity 
- 
OUT_MAGMOM
- [Am^2] Core dynamo dipole magnetic moment 
- 
OUT_PRESSWIND
- [kg/m/s^2] Stellar wind pressure at planet 
- 
OUT_MAGPAUSERAD
- [m] Magnetopause radius from center of planet 
- 
OUT_VISCJUMPMAN
- [nd] Viscosity ratio of lower to upper mantle 
- 
OUT_ERUPTEFF
- [nd] Mantle melt eruption efficiency 
- 
OUT_VISCREF
- [m^2/s] Reference viscosity 
- 
OUT_TREFLIND
- [K] Reference Lindemann temperature of core liquidus 
- 
OUT_DTCHIREF
- [K] Reference core liquidus depression 
- 
OUT_DYNVISC
- [Pa/s] Dynamic viscosity of upper mantle 
- 
max(a, b)
- 
min(a, b)
Functions
- 
void fvAddModuleThermint(CONTROL*, MODULE*, int, int)
- Add thermint module - Parameters:
- module – Module struct 
- iBody – Index of body 
- iModule – Index of module 
 
 
- 
void fvBodyCopyThermint(BODY*, BODY*, int, int, int)
- Copy values from src to dest for iBody. - Parameters:
- dest – Body struct containing destination 
- src – Body struct containing source 
- foo – 
- iNumBodies – Index number of bodies 
- iBody – Body index 
 
 
- 
void fvReadTMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read mantle temperature from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadTSurf(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read surface temperature from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadTCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read core temperature from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscJumpMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read viscosity jump across mantle from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscRef(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read reference viscosity from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscMeltB(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read melt viscosity reduction “B” parameter from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscMeltPhis(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read melt viscosity reduction “Phi^star” parameter from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscMeltXi(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read melt viscosity reduction “Xi” parameter from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadViscMeltDelta(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read melt viscosity reduction “delta” parameter from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadMeltfactorUMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read fixed upper mantle melt viscosity reduction from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadFixMeltfactorUMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read boolean option to fix upper mantle melt viscosity reduction from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadTrefLind(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read reference Lindemann (core liquidus) temperature from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadDTChiRef(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read core liquidus light element depression from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadEruptEff(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read melt eruption efficiency from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadHaltMinTMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read minimum mantle temperature to halt from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadHaltMinTCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read minimum core temperature to halt from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadStagLid(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read option to fix stagnant lid mantle heat flow from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadManHFlowPref(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read mantle surface heat flow prefix coefficient from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadMagMomCoef(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read dipole magnetic moment coefficient from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadPresSWind(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read solar wind pressure at body from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadActViscMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read mantle viscosity activation energy from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadShModRef(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read mantle reference shear modulus from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadStiffness(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read mantle stiffness from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadDLind(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read Lindemann law (core liquidus) length scale “D” from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadDAdCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read core adiabatic profile length scale “D” from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadAdJumpM2UM(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read adiabatic temperature jump from average mantle to upper mantle from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadAdJumpM2LM(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read adiabatic temperature jump from average mantle to lower mantle from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadAdJumpC2CMB(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read adiabatic temperature jump from average core to core-mantle boundary from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadElecCondCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read electrical conductivity at top of core from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvReadImK2ManOrbModel(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
- Read ImK2ManOrbModel from input file - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- iFile – Index of file 
 
 
- 
void fvInitializeOptionsThermint(OPTIONS*, fnReadOption[])
- Initialize Thermint options - Parameters:
- options – Options struct 
- fnRead – fnReadOption functions to read options 
 
 
- 
void fvReadOptionsThermint(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, fnReadOption[], int)
- Read options in thermint - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- system – System struct 
- fnRead – fnReadOption functions to read options 
- iBody – Index of body 
 
 
- 
int fbHaltMinTMan(BODY*, EVOLVE*, HALT*, IO*, UPDATE*, fnUpdateVariable***, int)
- syntax now is same as fnHaltModule in vplanet.h - Halt at minimum value of TMan - Parameters:
- body – Body struct 
- evolve – Evolve struct 
- halt – Halt struct 
- io – IO struct 
- update – Update struct 
- iBody – Index of body 
 
 
- 
int fbHaltMinTCore(BODY*, EVOLVE*, HALT*, IO*, UPDATE*, fnUpdateVariable***, int)
- Halt at minimum value of TCore - Parameters:
- body – Body struct 
- evolve – Evolve struct 
- halt – Halt struct 
- io – IO struct 
- update – Update struct 
- iBody – Index of body 
 
 
- 
void fvCountHaltsThermint(HALT*, int*)
- Count number of halts - Parameters:
- halt – Halt struct 
- iNumHalts – Index of number of halts 
 
 
- 
void fvVerifyThermint(BODY*, CONTROL*, FILES*, OPTIONS*, OUTPUT*, SYSTEM*, UPDATE*, int, int)
- Verify thermint. Calls VerifyTMan, VerifyTCore, ForceBehaviorThermint, PropsAuxThermint, BodyCopyThermint. - Parameters:
- body – Body struct 
- control – Control struct 
- files – Files struct 
- options – Options struct 
- output – Output struct 
- system – System struct 
- update – Update struct 
- iBody – Index of body 
- iModule – Index of module 
 
 
- 
void fvVerifyTMan(BODY*, OPTIONS*, SYSTEM*, UPDATE*, double, int)
- Verify TMan. In update struct, iaType=1 for differential equation evolution, iNumBodies=1, iaBody is number of bodies affected by this variable (1), pdTDotMan points towards derivative, fnUpdate points towards derivative (fdTDotMan). - Parameters:
- body – Body struct 
- options – Options struct 
- system – System struct 
- update – Update struct 
- dAge – Age 
- iBody – Index of body 
 
 
- 
void fvVerifyTCore(BODY*, OPTIONS*, SYSTEM*, UPDATE*, double, int)
- Verify TCore. In update struct, iaType=1 for differential equation evolution, iNumBodies=1, iaBody is number of bodies affected by this variable (1), pdTDotCore points towards derivative, fnUpdate points towards derivative (fdTDotCore). Initialize parameters that dDTCoreDt depends on in body struct: dRIC, dHfluxCMBConv, dRICDot, dGravICB, dCoreBuoyTherm, dCoreBuoyCompo, update. daDerivProc. - Parameters:
- body – Body struct 
- options – Options struct 
- system – System struct 
- update – Update struct 
- dAge – Age 
- iBody – Index of body 
 
 
- 
void fvAssignThermintDerivatives(BODY*, EVOLVE*, UPDATE*, fnUpdateVariable***, int)
- 
void fvNullThermintDerivatives(BODY*, EVOLVE*, UPDATE*, fnUpdateVariable***, int)
- 
void fvInitializeUpdateThermint(BODY*, UPDATE*, int)
- Initialize update - Parameters:
- body – Body struct 
- update – Update struct 
- iBody – Index of body 
 
 
- 
void fvPropsAuxThermint(BODY*, EVOLVE*, IO*, UPDATE*, int)
- Set auxiliary properties in body. This includes all thermint parameters that are not computed by a time derivative (that is everything except TMan and TCore). - Parameters:
- body – Body struct 
- evolve – Evolve struct 
- update – Update struct 
- iBody – Index of body 
 
 
- 
void fvForceBehaviorThermint(BODY*, MODULE*, EVOLVE*, IO*, SYSTEM*, UPDATE*, fnUpdateVariable ***fnUpdate, int, int)
- Enforce limits to fundamental parameters: if TMan or TCore < 0.5 then set it to 0 (i.e. removes negatives). - Parameters:
- body – Body struct 
- evolve – Evolve struct 
- io – IO struct 
- system – System struct 
- update – Update struct 
- fnUpdate – fnUpdateVariable pointer to function to update 
- iBody – Index of body 
- iModule – Index of module 
 
 
- 
void fvInitializeOutputThermint(OUTPUT*, fnWriteOutput[])
- Initialize output, set variable names, descriptions, default units, default scalings, and write functions. - Parameters:
- output – Output struct 
- fnWrite – fnWriteOutput 
 
 
- 
void fvWriteTMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write TMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write TUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTsolUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write TsolUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTLMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write TLMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTJumpUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write TJumpUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTJumpLMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write TJumpLMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteSignTJumpUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write Sign of TJumpUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteSignTJumpLMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write Sign of TJumpUMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write TCore output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTCMB(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write TCMB output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteBLUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write UMan boundary layer thickness output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteBLLMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write LMan boundary layer thickness output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteViscUManArr(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write viscosity UMan from Arrhenius law output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteViscUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write viscosity UMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteViscLMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write viscosity LMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteViscMMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write viscosity MMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteShmodUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write UMan shear modulus output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteFMeltUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write UMan melt fraction output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteFMeltLMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write LMan melt fraction output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMeltfactorUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write UMan viscosity melt reduction output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMeltfactorLMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write LMan viscosity melt reduction output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteDepthMeltMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write depth of mantle melting output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTDepthMeltMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write T at depth of mantle melting output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTJumpMeltMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write TJump across depth of mantle melting output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMeltMassFluxMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write mass flux of mantle melt output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteRayleighMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write mantle Rayleigh number output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTDotMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write mantle temperature cooling rate output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteTDotCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write core temperature cooling rate output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHfluxUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write heat flux across UMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowUMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write heat flow across UMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowSecMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write mantle secular cooling heat flow output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHfluxLMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write heat flux across LMan (same as CMB) output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowLMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write heat flow across LMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowTidalMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- 
void fvWriteHflowTidalCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- 
void fvWriteHflowLatentMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write latent heat flow from mantle solidification output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowMeltMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write erupted melt heat flow from UMan output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowLatentIC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write latent heat flow from ICB output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWritePowerGravIC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write gravitational power from ICB output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHflowSurf(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write heat flow across surface of body output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteRIC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write inner core radius RIC output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteDRICDTCMB(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write derivative of RIC wrt TCMB output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteChiOC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write outer core “OC” light element concentration “chi” output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteChiIC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write inner core “IC” light element concentration “chi” output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMassOC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write OC mass output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMassIC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write IC mass output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMassChiOC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write OC light element mass output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMassChiIC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write IC light element mass output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteDTChi(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write core liquidus depression due to light elements output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteThermConductOC(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write thermal conductivity at top of OC output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHfluxCMBAd(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write adiabatic heat flux at top of OC output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteHfluxCMBConv(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write convective heat flux at top of OC output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteCoreBuoyTherm(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write OC thermal buoyancy flux output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteCoreBuoyCompo(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write OC compositional buoyancy flux output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteCoreBuoyTotal(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write OC total buoyancy flux output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteGravICB(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write inner core boundary (ICB) gravitational energy release output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteRICDot(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write RIC growth rate output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMagMom(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write OC dipolar magnetic moment output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWritePresSWind(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write solar wind pressure at planet output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvWriteMagPauseRad(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
- Write magnetopause radius output - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- units – Units struct 
- update – Update struct 
- iBody – Index of body 
- dTmp – Temporary variable 
- cUnit – Variable units 
 
 
- 
void fvLogOptionsThermint(CONTROL*, FILE*)
- Log options - Parameters:
- control – Control struct 
- fp – File struct 
 
 
- 
void fvLogThermint(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UPDATE*, fnWriteOutput[], FILE*)
- Log of thermint - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- update – Update struct 
- fnWrite – fnWriteOutput 
- fp – File 
 
 
- 
void fvLogBodyThermint(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UPDATE*, fnWriteOutput[], FILE*, int)
- Log of body from thermint - Parameters:
- body – Body struct 
- control – Control struct 
- output – Output struct 
- system – System struct 
- update – Update struct 
- fnWrite – fnWriteOutput 
- fp – File 
 
 
- 
double fdTDotMan(BODY*, SYSTEM*, int*)
- Function compute time derivative of average mantle temperature - Parameters:
- body – Body struct 
- system – System struct 
- iaBody – Index of body 
 
- Returns:
- Time derivative of average mantle temperature 
 
- 
double fdTDotCore(BODY*, SYSTEM*, int*)
- Function compute time derivative of average core temperature - Parameters:
- body – Body struct 
- system – System struct 
- iaBody – Index of body 
 
- Returns:
- Time derivative of average core temperature 
 
- 
double fdTUMan(BODY*, int)
- Function compute upper mantle temperature - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle temperature 
 
- 
double fdTLMan(BODY*, int)
- Function compute lower mantle temperature - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Lower mantle temperature 
 
- 
double fdTCMB(BODY*, int)
- Function compute core-mantle boundary temperature - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Core-mantle boundary temperature 
 
- 
double fdTJumpUMan(BODY*, int)
- Function compute absolute value of upper mantle temperature jump: TUman-TSURF - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Absolute value of upper mantle temperature jump 
 
- 
double fdTJumpLMan(BODY*, int)
- Function compute absolute value of lower mantle temperature jump: TCMB-TLman - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Absolute value of lower mantle temperature jump 
 
- 
double fdSignTJumpUMan(BODY*, int)
- Function compute sign of upper mantle temperature jump - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Sign of upper mantle temperature jump 
 
- 
double fdSignTJumpLMan(BODY*, int)
- Function compute sign of lower mantle temperature jump - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Sign of lower mantle temperature jump 
 
- 
double fdViscUManArr(BODY*, int)
- Function compute Arrhenius component of upper mantle viscosity - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Arrhenius component of upper mantle viscosity 
 
- 
double fdViscUMan(BODY*, int)
- Function compute full upper mantle viscosity - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Full upper mantle viscosity 
 
- 
double fdViscLMan(BODY*, int)
- Function compute full lower mantle viscosity - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Full lower mantle viscosity 
 
- 
double fdViscMMan(BODY*, int)
- Function compute full mid-mantle viscosity - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Full mid-mantle viscosity 
 
- 
double fdViscJumpMan(BODY*, int)
- Function compute mantle viscosity jump - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mantle viscosity jump 
 
- 
double fdBLUMan(BODY*, int)
- Function compute upper mantle thermal boundary layer thickness - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle thermal boundary layer thickness 
 
- 
double fdBLLMan(BODY*, int)
- Function compute lower mantle thermal boundary layer thickness - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Lower mantle thermal boundary layer thickness 
 
- 
double fdShmodUMan(BODY*, int)
- Function compute upper mantle shear modulus - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle shear modulus 
 
- 
double fdFMeltUMan(BODY*, int)
- Function compute upper mantle melt fraction - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle melt fraction 
 
- 
double fdFMeltLMan(BODY*, int)
- Function compute lower mantle melt fraction - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Lower mantle melt fraction 
 
- 
double fdMeltfactorUMan(BODY*, int)
- Function compute upper mantle viscosity reduction factor due to melt. If dFixMeltfactorUMan=1 then return dMeltfactorUMan. Else compute it. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle viscosity reduction factor due to melt 
 
- 
double fdMeltfactorLMan(BODY*, int)
- Function compute lower mantle viscosity reduction factor due to melt. Always compute it. Only applied if ViscJumpMan is not set. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Lower mantle viscosity reduction factor due to melt 
 
- 
double fdTsolUMan(BODY*, int)
- solidus temp at UMBL - Function compute solidus at bottom of upper mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Solidus at bottom of upper mantle thermal boundary layer 
 
- 
double fdTliqUMan(BODY*, int)
- liquidus at UMBL - Function compute liquidus at bottom of upper mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Liquidus at bottom of upper mantle thermal boundary layer 
 
- 
double fdTsolLMan(BODY*, int)
- Function compute solidus at top of lower mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Solidus at top of lower mantle thermal boundary layer 
 
- 
double fdTliqLMan(BODY*, int)
- Function compute liquidus at top of lower mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Liquidus at top of lower mantle thermal boundary layer 
 
- 
double fdDepthMeltMan(BODY*, int)
- depth to bottom of UM melt region (where solidus and geother intersect). - Function compute depth of upper mantle melting. Use cubic root to find intersection of mantle adiabat and solidus. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Depth of upper mantle melting 
 
- 
double fdTDepthMeltMan(BODY*, int)
- T at bottom of UM melt region. - Function compute solidus temperature at depth of upper mantle melting. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- solidus temperature at depth of upper mantle melting 
 
- 
double fdSolTempDiffMan(double, BODY*, int)
- difference between solidus and geotherm at a given depth. - Function compute temperature difference between solidus and geotherm at a given depth - Parameters:
- depth – 
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Temperature difference between solidus and geotherm at a given depth 
 
- 
double fdSolidusMan(double)
- solidus at a given depth. - Function compute mantle solidus at a given depth - Parameters:
- depth – 
- Returns:
- Mantle solidus temperature at this depth 
 
- 
double fdTJumpMeltMan(BODY*, int)
- temp jump across UM melt region. - Function compute temperature jump across upper mantle melt region, excluding the adiabatic component (i.e. just the advective component): TDepthMeltMan-TSURF-ADGRADMAN*DepthMeltMan - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Temperature jump across upper mantle melt region 
 
- 
double fdMeltMassFluxMan(BODY*, int)
- upwelling mantle melt mass flux. - Function compute mass flux of mantle melt - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mass flux of mantle melt 
 
- 
double fdDynamicViscosity(BODY*, int)
- Function compute upper mantle dynamic viscosity: ViscUMan*EDENSMAN. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle dynamic viscosity 
 
- 
double fdK2Man(BODY*, int)
- Function compute upper mantle k2 Love number - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Upper mantle k2 Love number 
 
- 
double fdRayleighMan(BODY*, int)
- Function compute mantle Rayleigh number, where temperature jump is the total convective temperature jump across mantle (UMan+LMan) and viscosity is ViscMMan. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mantle Rayleigh number 
 
- 
double fdHfluxUMan(BODY*, int)
- Function compute heat flux across upper mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flux across upper mantle thermal boundary layer 
 
- 
double fdHfluxLMan(BODY*, int)
- Function compute heat flux across lower mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flux across lower mantle thermal boundary layer 
 
- 
double fdHfluxCMB(BODY*, int)
- Function compute heat flux across core-mantle boundary: same as across lower mantle - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flux across core-mantle boundary 
 
- 
double fdHflowUMan(BODY*, int)
- Function compute heat flow across upper mantle thermal boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow across upper mantle thermal boundary layer 
 
- 
double fdHflowLMan(BODY*, int)
- Function compute heat flow across lower mantle boundary layer - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow across lower mantle boundary layer 
 
- 
double fdHflowCMB(BODY*, int)
- Function compute heat flow across core-mantle boundary (same as lower mantle) - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow across core-mantle boundary (same as lower mantle) 
 
- 
double fdHflowMeltMan(BODY*, int)
- Function compute heat flow of erupted mantle melt - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow of erupted mantle melt 
 
- 
double fdHflowLatentMan(BODY*, UPDATE*, int)
- Function compute latent heat flow from mantle solidification - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Latent heat flow from mantle solidification 
 
- 
double fdMassICDot(BODY*, UPDATE*, int)
- Function compute time derivative of IC mass - Parameters:
- body – Body struct 
- update – Update struct 
- iBody – Index of body 
 
- Returns:
- Time derivative of IC mass if IC exists. Otherwise zero. 
 
- 
double fdHflowLatentIC(BODY*, UPDATE*, int)
- Function compute latent heat flow from inner core solidification - Parameters:
- body – Body struct 
- update – Update struct 
- iBody – Index of body 
 
- Returns:
- Latent heat flow from inner core solidification 
 
- 
double fdPowerGravIC(BODY*, UPDATE*, int)
- Function compute gravitational energy release from inner core solidification - Parameters:
- body – Body struct 
- update – Update struct 
- iBody – Index of body 
 
- Returns:
- Gravitational energy release from inner core solidification 
 
- 
double fdHflowSurf(BODY*, int)
- Function compute heat flow across surface of mantle - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow across surface of mantle 
 
- 
double fdHfluxSurf(BODY*, int)
- Function compute secular mantle heat flow: heat sinks - sources - Parameters:
- body – Body struct 
- iBody – Index of body 
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Heat flow of mantle secular cooling Function compute heat flux across surface of mantle 
- Returns:
- Heat flux across surface of mantle 
 
- 
double fdRIC(BODY*, int)
- Function compute inner core radius RIC - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Inner core radius 
 
- 
double fdDRICDTCMB(BODY*, int)
- Function compute derivative of RIC wrt TCMB if IC exists. Otherwise zero. - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Derivative of RIC wrt TCMB if IC exists. Otherwise zero. 
 
- 
double fdChiOC(BODY*, int)
- Function compute light element concentration in outer core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Light element concentration in outer core 
 
- 
double fdChiIC(BODY*, int)
- Function compute light element concentration in inner core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Light element concentration in inner core 
 
- 
double fdMassIC(BODY*, int)
- Function compute mass of inner core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mass of inner core 
 
- 
double fdMassOC(BODY*, int)
- Function compute mass of outer core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Mass of outer core 
 
- 
double fdMassChiIC(BODY*, int)
- Function compute light element mass in inner core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Light element mass in inner core 
 
- 
double fdMassChiOC(BODY*, int)
- Function compute light element mass in outer core - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Light element mass in outer core 
 
- 
double fdDTChi(BODY*, int)
- Function compute core liquidus depression due to light element concentration - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Core liquidus depression due to light element concentration 
 
- 
double fdHfluxCMBAd(BODY*, int)
- Function compute adiabatic heat flux at top of outer core: ThermConductOC*TCMB*ERCORE/DAdCore^2 - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Adiabatic heat flux at top of outer core 
 
- 
double fdHfluxCMBConv(BODY*, int)
- Function compute convective heat flux at top of outer core: HfluxCMB-HfluxCMBAd - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Convective heat flux at top of outer core 
 
- 
double fdThermConductOC(BODY*, int)
- Function compute thermal conductivity at top of outer core: ElecCondCore*LORENTZNUM*TCMB - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Thermal conductivity at top of outer core 
 
- 
double fdCoreBuoyTherm(BODY*, int)
- Function compute outer core thermal buoyancy flux - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Outer core thermal buoyancy flux 
 
- 
double fdCoreBuoyCompo(BODY*, int)
- Function compute outer core compositional buoyancy flux - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Outer core compositional buoyancy flux 
 
- 
double fdCoreBuoyTotal(BODY*, int)
- Function compute outer core total buoyancy flux - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Outer core total buoyancy flux 
 
- 
double fdGravICB(BODY*, int)
- Function compute gravity at inner core boundary ICB - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Gravity at inner core boundary ICB 
 
- 
double fdRICDot(BODY*, UPDATE*, int)
- Function compute inner core radius growth rate - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Inner core radius growth rate 
 
- 
double fdMagMom(BODY*, int)
- Function compute dipole magnetic moment - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Dipole magnetic moment 
 
- 
double fdPresSWind(BODY*, int)
- Function compute solar wind pressure - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Solar wind pressure 
 
- 
double fdMagPauseRad(BODY*, int)
- Function compute magnetopause stand-off radius from center of planet - Parameters:
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Magnetopause stand-off radius from center of planet 
 
- 
double fdSurfEnFlux(BODY*, SYSTEM*, UPDATE*, int, int)
- Function compute surface energy flux including crustal radiogenic power: hflowUMan+RadPowerCrust - Parameters:
- body – Body struct 
- update – Update struct 
- system – System struct 
- iBody – Index of body 
- iFoo – 
 
- Returns:
- Surface energy flux including crustal radiogenic power 
 
- 
double fdPowerThermint(BODY*, int)
- 
double cube(double)
- Function compute cube of quantity - Parameters:
- x – Quantity 
- Returns:
- Quantity cubed 
 
- 
double root(int, BODY*, int, double, double, double, int)
- Function compute root of intersection of two equations using bisection method. - Parameters:
- type – Type of root to compute 
- body – Body struct 
- iBody – Index of body 
- guess1 – First guess of root 
- guess2 – Second guess of root 
- tol – Tolerance of root finding 
- nmax – Maximum iteration 
 
- Returns:
- Root 
 
- 
double cubicroot(int, BODY*, int)
- Function compute cubic roots of intersection between mantle adiabat and solidus. - Parameters:
- type – Type of root to compute 
- body – Body struct 
- iBody – Index of body 
 
- Returns:
- Depth to solidus-adiabat intersection (melt layer)