magmoc
Contents
magmoc.c
Functions
-
void ReadMassFracFeOIni(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadWaterMassAtm(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadCO2MassMOAtm(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadSurfTemp(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadManMeltDensity(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadWaterPartCoeff(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadDepthMO(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadHaltMantleSolidified(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadHaltMantleMeltFracLow(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadHaltAtmDesiSurfCool(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadHaltEnterHabZone(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadHaltAllPlanetsSolid(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadHaltAllPlanetsDesicc(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadRadioHeatModel(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadMagmOcAtmModel(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void ReadMantleQuasiSolid(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)
-
void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[])
-
void ReadOptionsMagmOc(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, fnReadOption fnRead[], int iBody)
-
double fndBisection(double (*f)(BODY*, double, int), BODY *body, double dXl, double dXu, double dEps, int iBody)
Bisection method to find root
-
double fndWaterMassMOTime(BODY *body, double dFrac, int iBody)
Mass of water in the mo+atm system to get the water frac in the magmoc Will be used in PropsAuxMagmOc to find its root with fndBisection
-
double fndCO2MassMOTime(BODY *body, double dFracCO2, int iBody)
Mass of CO2 in the mo+atm system to get the water frac in the magmoc Will be used in PropsAuxMagmOc to find its root with fndBisection
-
double fndPhysPressCO2(BODY *body, double dPhysPressCO2, int iBody)
Physical pressure of CO2 in the atmosphere Will be used in PropsAuxMagmOc to find its root with fndBisection
-
double fndRadioHeatingEarth(BODY *body, int iBody)
Radiogenic heating used in Schaefer et al. (2016) Earth like composition
-
double fndBolFluxSchaefer(BODY *body, int iBody)
Bolometric flux of GJ1132 used in Schaefer et al. (2016) Fit to Schaefer Fig. 2 (Baraffe, Mstar=0.18Msun, orbit of GJ1132b)
-
double fndNetFluxAtmGrey(BODY *body, int iBody)
Atmospheric net flux with a grey atmosphere From Elkins-Tanton (2008) & Carone et al. (2014)
-
double fndNetFluxAtmPetit(BODY *body, double dTime, int iBody)
Atmospheric net flux with the petitCODE From Molliere et al. (2015) Only for GJ1132b with 100% Water atmosphere
-
void fndFe2O3MassFracOxyMass(BODY *body, int iBody)
Calculation of Fe2O3 mass fraction in the m.o. and oxygen mass in the atmosphere. Used by Schaefer et al. (2016)
-
void fndMeltFracMan(BODY *body, int iBody)
Calculation of melt fraction (average over magma ocean) and kinematic viscosity (uppermost layer) Function melt_fraction() in functions_rk.py
Calculation of the mantle heat flux Function mantle_flux() in functions_rk.py
-
void fndWaterFracMelt(BODY *body, int iBody)
Calculation of the water and CO2 mass fraction in the magma ocean Function water_fraction() in functions_rk.py
-
void fnForceBehaviorMagmOc(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody, int iModule)
-
void AssignMagmOcDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
-
void NullMagmOcDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
-
void VerifyMagmOc(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, OUTPUT *output, SYSTEM *system, UPDATE *update, int iBody, int iModule)
-
int fbHaltMantleSolidified(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
-
int fbHaltMantleMeltFracLow(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
-
int fbHaltAtmDesiSurfCool(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
-
int fbHaltEnterHabZone(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
-
int fbHaltAllPlanetsSolid(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
-
int fbHaltAllPlanetsDesicc(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
-
void WritePotTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteSurfTemp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteSolidRadius(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteWaterMassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteWaterMassSol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteCO2MassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteCO2MassSol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteOxygenMassMOAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteOxygenMassSol(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WritePressWaterAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WritePressCO2Atm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WritePressOxygenAtm(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteHydrogenMassSpace(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteOxygenMassSpace(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteFracFe2O3Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteNetFluxAtmo(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteWaterFracMelt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteCO2FracMelt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteRadioPower(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteTidalPower(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteHZInnerEdge(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void WriteMeltFraction(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)
-
void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[])
-
void FinalizeUpdateSolidRadius(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
-
void FinalizeUpdateWaterMassMOAtm(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
-
void FinalizeUpdateWaterMassSol(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
-
void FinalizeUpdateCO2MassMOAtm(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
-
void FinalizeUpdateCO2MassSol(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
-
void FinalizeUpdateOxygenMassMOAtm(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
-
void FinalizeUpdateOxygenMassSol(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
-
void FinalizeUpdateHydrogenMassSpace(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
-
void FinalizeUpdateOxygenMassSpace(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
-
void LogMagmOc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UPDATE *update, fnWriteOutput fnWrite[], FILE *fp)
magmoc.h
Defines
-
SILICATEHEATCAP
-
HEATFUSIONSILICATE
-
THERMALCONDUC
-
THERMALDIFFUS
-
CRITRAYLEIGHNO
-
THERMALEXPANCOEFF
-
ALBEDOWATERATMOS
-
ALBEDOROCK
-
WATERPARTCOEFF
-
CO2PARTCOEFF
-
CRITMELTFRAC
-
DYNVISCLIQUID
-
DYNVISCSOLID
-
ACTIVENERGY
-
RADCOREEARTH
-
AVOGADROCONST
-
FRACCO2MELTMIN
-
FRACCO2MELTMAX
-
TIMESTEPCORRECTION
-
EPSILONMANTLE
-
MAGMOC_NONE
-
MAGMOC_SCHAEFER
-
MAGMOC_GREY
-
MAGMOC_PETIT
-
MOLWEIGHTWATER
-
MOLWEIGHTHYDROGEN
-
MOLWEIGHTOXYGEN
-
MOLWEIGHTFEO15
-
MOLWEIGHTFEO
-
MOLWEIGHTCO2
-
MOLWEIGHTAL2O3
-
MOLWEIGHTCAO
-
MOLWEIGHTNA2O
-
MOLWEIGHTK2O
-
MOLWEIGHTMGO
-
MOLWEIGHTSIO2
-
MOLWEIGHTTIO2
-
MOLWEIGHTP2O5
-
ALOWPRESSURE
-
BLOWPRESSURE
-
AHIGHPRESSURE
-
BHIGHPRESSURE
-
MOLFRACAL2O3
-
MOLFRACFEO
-
MOLFRACCAO
-
MOLFRACNA2O
-
MOLFRACK2O
-
AVEMOLMASS
-
MASSFRACAL2O3
-
MASSFRACCAO
-
MASSFRACNA2O
-
MASSFRACK2O
-
TOTMASSFRACFEO
-
MASSFRACMGO
-
MASSFRACSIO2
-
MASSFRACTIO2
-
MASSFRACP2O5
-
ABSORPCOEFFH2O
-
ABSORPCOEFFCO2
-
REFPRESSUREOPACITY
-
WATERHEATCAP
-
PRESSWATERMIN
-
ATMESCTHERMT
-
ATMESCBDIFF
-
ATMESCQOH
-
OPTSTARTMAGMOC
-
OPTENDMAGMOC
-
OPT_FEO
-
OPT_WATERMASSATM
-
OPT_SURFTEMP
-
OPT_MANMELTDENSITY
-
OPT_HALTMANTLESOLIDIFIED
-
OPT_HALTMANTLEMELTFRACLOW
-
OPT_HALTATMDESISRUFCOOL
-
OPT_HALTENTERHABZONE
-
OPT_HALTALLPLANETSSOLID
-
OPT_HALTALLPLANETSDESICC
-
OPT_RADIOHEATMODEL
-
OPT_MAGMOCATMMODEL
-
OPT_CO2MASSMOATM
-
OPT_MANQUASISOL
-
OPT_WATERPARTCOEFF
-
OPT_DEPTHMO
-
MAGMOCHALTSYSEND
-
MAGMOCHALTBODYEND
-
OUTSTARTMAGMOC
-
OUTENDMAGMOC
-
OUT_FE2O3
-
OUT_WATERMASSMOATM
-
OUT_POTTEMP
-
OUT_SURFTEMP
-
OUT_WATERMASSSOL
-
OUT_SOLIDRADIUS
-
OUT_OXYGENMASSMOATM
-
OUT_OXYGENMASSSOL
-
OUT_PRESSWATERATM
-
OUT_PRESSOXYGENATM
-
OUT_HYDROGENMASSSPACE
-
OUT_OXYGENMASSSPACE
-
OUT_FRACFE2O3MAN
-
OUT_NETFLUXATMO
-
OUT_WATERFRACMELT
-
OUT_RADIOPOWER
-
OUT_TIDALPOWER
-
OUT_HZINNEREDGE
-
OUT_MELTFRACTION
-
OUT_CO2MASSMOATM
-
OUT_CO2MASSSOL
-
OUT_PRESSCO2ATM
-
OUT_CO2FRACMELT
Functions
-
void AddModuleMagmOc(MODULE*, int, int)
-
void InitializeOptionsMagmOc(OPTIONS*, fnReadOption[])
-
void CountHaltsMagmOc(HALT*, int*)
-
void InitializeOutputMagmOc(OUTPUT*, fnWriteOutput[])
-
void WriteHydrogenMassSpace(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
-
void LogOptionsMagmOc(CONTROL*, FILE*)