vplanet
Contents
vplanet.c
The main entry point for the code. All the magic starts here.
- Author
Rory Barnes (RoryBarnes)
- Date
May 7 2014
vplanet.h
The main entry point for the code. All the magic starts here.
- Author
Rory Barnes (RoryBarnes)
- Date
May 7 2014
Defines
-
M_PI
-
EQTIDE
Top-level declarations
-
RADHEAT
-
ATMESC
-
DISTORB
-
DISTROT
-
STELLAR
-
THERMINT
-
POISE
-
FLARE
-
BINARY
-
GALHABIT
-
SPINBODY
-
DISTRES
-
MAGMOC
-
BIGG
-
PI
-
KGAUSS
-
EPS
-
AUM
-
AUPC
-
LIGHTSPEED
-
MEARTH
-
MSUN
-
RSUN
-
YEARSEC
-
DAYSEC
-
REARTH
-
RJUP
-
RNEP
-
MNEP
-
RHOEARTH
-
eEARTH
-
MJUP
-
YEARDAY
-
MSAT
-
DEGRAD
-
TOMASS
-
ATOMMASS
-
OXYMASS
-
PROTONMASS
-
SIGMA
-
RGAS
-
KBOLTZ
-
ALPHA_STRUCT
-
U_RADIANS
-
U_DEGREES
-
U_METER
-
U_CENTIMETER
-
U_KILOMETER
-
U_SOLARRADIUS
-
U_EARTHRADIUS
-
U_JUPRADIUS
-
U_AU
-
U_GRAM
-
U_KILOGRAM
-
U_SOLARMASS
-
U_EARTHMASS
-
U_JUPITERMASS
-
U_NEPTUNEMASS
-
U_KELVIN
-
U_CELSIUS
-
U_FARENHEIT
-
U_SECOND
-
U_DAY
-
U_YEAR
-
U_MYR
-
U_GYR
-
OPTLEN
-
OPTDESCR
-
OPTLONDESCR
-
LINE
-
NAMELEN
-
MAXFILES
-
MAXARRAY
-
NUMOPT
-
MAXLINES
-
OUTLEN
-
OUTDESCR
-
OUTLONDESCR
-
MODULEOPTEND
-
MODULEOUTEND
Typedefs
-
typedef double (*fnLaplaceFunction)(double, int)
-
typedef void (*fnForceBehaviorModule)(BODY*, MODULE*, EVOLVE*, IO*, SYSTEM*, UPDATE*, fnUpdateVariable***, int, int)
-
typedef void (*fnWriteOutput)(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
-
typedef void (*fnInitializeOptions)(OPTIONS*, fnReadOption*)
-
typedef void (*fnInitializeOptionsModule)(OPTIONS*, fnReadOption*)
-
typedef void (*fnReadOptionsModule)(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, fnReadOption*, int)
-
typedef void (*fnVerifyModule)(BODY*, CONTROL*, FILES*, OPTIONS*, OUTPUT*, SYSTEM*, UPDATE*, int, int)
-
typedef void (*fnManageModuleDerivatives)(BODY*, EVOLVE*, UPDATE*, fnUpdateVariable***, int)
-
typedef void (*fnInitializeOutputModule)(OUTPUT*, fnWriteOutput*)
Variables
-
const double dHUGE
-
const double dTINY
-
struct BODY
- #include <vplanet.h>
BODY contains all the physical parameters for every object in the system.
Public Members
-
char *cName
Body’s Name
-
char *sColor
Body color (for plotting)
-
int bMantle
Is there a mantle?
-
int bOcean
Is there an ocean?
-
int bEnv
Is there an envelope?
-
int iBodyType
Type of object: 0=star, 1=rocky planet, 2 = giant
-
double dAge
Body’s Age
-
double dMass
Body’s Mass
-
double dSolidMass
Mass of a body’s solid component
-
double dRadius
Radius of body
-
double dDensity
Bulk density of body
-
double dGravAccel
Body’s gravitational acceleration
-
double dK2
Body’s Total Love number
-
double dImK2
Imaginary part of Love’s k_2 (total)
-
double dObliquity
Body’s Obliquity
-
double dCosObl
Cosine of body’s obliquity
-
double dRotRate
Body’s Rotation Rate
-
double dRotPer
Body’s Rotation Period
-
double dRotVel
Body’s Rotational Velocity
-
double dRadGyra
Body’s Radius of Gyration
-
double dSemi
Body’s Semi-major Axis
-
double dEcc
Body’s Eccentricity
-
double dMeanMotion
Body’s Mean Motion
-
double dOrbPeriod
Body’s Orbital Period
-
double dEccSq
Eccentricity squared
-
int bAtmEsc
Apply Module ATMESC?
-
int bInstantO2Sink
Is oxygen absorbed instantaneously at the surface?
-
int bRunaway
Is the planet experiencing a runaway greenhouse?
-
int bCalcFXUV
Does incidenx XUV flow need to be calculated every time step?
-
int bEnvelopeLostMessage
Has the envelope lost message been printed?
-
int bIgnoreRocheLobe
Ignore Roche lobe overflow?
-
int bUseEnergyLimited
Use energy-limited escape
-
int bUseBondiLimited
Use Bondi-limited H mass loss
-
int bUseRRLimited
Use radiation/recombination-limited H mass loss
-
int bAtmEscAuto
Transition H escape regime depending on physics
-
int bAutoThermTemp
Calculate thermal temperature from environemnt?
-
int bStopWaterLossInHZ
Stop water loss once planet enters habitable zone?
-
int iWaterLossModel
Water Loss and Oxygen Buildup Model
-
int iAtmXAbsEffH2OModel
Water X-ray/XUV absorption efficiency evolution model
-
int iPlanetRadiusModel
Planet Radius model.
-
int iWaterEscapeRegime
Track water escape regime
-
int iHEscapeRegime
Tracks H escape regime
-
double dSurfaceWaterMass
Surface water mass
-
double dMinSurfaceWaterMass
Minimum surface water to avoid a halt
-
double dOxygenMass
Atmospheric oxygen mass
-
double dOxygenMantleMass
Mass of oxygen in the mantle
-
double dEnvelopeMass
Envelope mass
-
double dMinEnvelopeMass
Minimum envelope mass to avoid a halt
-
double dXFrac
XUV radius in units of planet’s radius
-
double dAtmXAbsEffH
Effective XUV absorpation efficiency for hydrogen
-
double dAtmXAbsEffH2O
Effective XUV absorpation efficiency for water
-
double dRGDuration
Duration of runaway greenhouse phase
-
double dKTide
Tidal enhancement factor for mass loss
-
double dMinKTide
Minimum allowed value for KTide
-
double dAtmEscXi
Ratio of Roche radius to XUV radius
-
double dMDotWater
Water mass loss rate
-
double dFHRef
Reference hydrogen escape value
-
double dOxygenEta
Factor for drag of oxygen by hydrogen
-
double dCrossoverMass
Atomic mass at which drag begins
-
double dFHDiffLim
Diffusion-limited H escape rate
-
double dRadXUV
XUV Radius in Lehmer-Catling model
-
double dRadSolid
Solid planet radius in Lehmer-Catling model
-
double dPresSurf
Surface Pressure in Lehmer-Catling model
-
double dPresXUV
Pressure at XUV radius in Lehmer-Catling model
-
double dScaleHeight
Scale Height used in Lehmer-Catling model
-
double dThermTemp
Thermosphere’s temperature in Lehmer-Catling model
-
double dAtmGasConst
Atmosphere’s gas constant in Lehmer-Catling model
-
double dFXUV
XUV Flux at planet’s atmosphere
-
double dFXUVLast
XUV at planet during last time step
-
double dFXUVCumulative
-
double dJeansTime
Jeans timescale for atmospheric escape
-
double dFlowTemp
Temperature of the hydrodynamic flow
-
double dRocheRadius
Radius of the Roche lobe
-
double dBondiRadius
Bondi (Sonic) Radius
-
double dEnvMassDt
Time derivative of H envelope mass
-
int bBinary
Apply BINARY module?
-
double dR0
Guiding Radius,initially equal to dSemi
-
double dCBPR
CBP orbital radius
-
double dCBPZ
CBP height above/below the orbital plane
-
double dCBPPhi
CBP azimuthal angle in orbital plane
-
double dCBPRDot
CBP radial orbital velocity
-
double dCBPZDot
CBP z orbital velocity
-
double dCBPPhiDot
CBP phi angular orbital velocity
-
double dFreeEcc
CBP’s free eccentricity
-
double dFreeInc
CBP’s free inclination, or binary’s inclination
-
double dInc
Orbital inclication
-
double dLL13N0
CBP’s Mean motion defined in LL13 eqn 12
-
double dLL13K0
CBP’s radial epicyclic frequency defined in LL13 eqn 26
-
double dLL13V0
CBP’s vertical epicyclic frequency defined in LL13 eqn 36
-
double dLL13PhiAB
Binary’s initial mean anomaly
-
double dCBPM0
CBP’s initial mean anomaly
-
double dCBPZeta
CBP’s z oscillation angle (see LL13 eqn 35)
-
double dCBPPsi
CBP’s R, phi oscillation phase angle (see LL13 eqn 27)
-
int bSpiNBody
Has module SPINBODY been implemented
-
double dVelX
x Component of the body’s velocity
-
double dVelY
y Component of the body’s velocity
-
double dVelZ
z Component of the body’s velocity
-
double dPositionX
x Component of the body’s position
-
double dPositionY
y Component of the body’s position
-
double dPositionZ
z Component of the body’s position
-
double bUseOrbParams
Boolean flag to use orbital parameters as inputs
-
double *dDistance3
Distance cubed to different perturbers
-
double *dDistanceX
X Distance between two bodies
-
double *dDistanceY
Y Distance between two bodies
-
double *dDistanceZ
Z Distance between two bodies
-
double *dHCartPos
Heliocentric Cartesian Position used for orbital element calculations
-
double *dHCartVel
Heliocentric Cartesian Velocity used for orbital element calculations
-
double *dBCartPos
Barycentric Cartesian Position used for orbital element calculations
-
double *dBCartVel
Barycentric Cartesian Velocity used for orbital element calculations
-
double dGM
GM for the star
-
double dMu
G(M+m)
-
int iGravPertsSpiNBody
Number of bodies that are orbitally relevent (equal to for evolve->iNumBodies)
-
int bDistOrb
Has module DISTORB been implemented
-
double dHecc
Poincare H
-
double dKecc
Poincare K
-
double dPinc
Poincare P
-
double dQinc
Poincare Q
-
double dSinc
sin(0.5*Inclination)
-
double dLongA
Longitude of ascending node
-
double dArgP
Argument of pericenter
-
double dLongP
Longitude of pericenter
-
double dMeanA
Mean anomaly (only used for inv plane calculation)
-
double dTrueL
True longitude (only used for insolation calculation
-
double dEccA
Eccentric anomaly (only used for inv plane calculation)
-
double *daCartPos
Cartesian position of body (only used for inv plane calc)
-
double *daCartVel
Cartesian velocity of body (only used for inv plane calc)
-
int iGravPerts
Number of bodies which perturb the body
-
int *iaGravPerts
Which bodies are perturbers of the body
-
int iEigFreqs
Number of eigenfrequencies that control the body’s motion
-
int *iaEigFreqs
Indices of eigenfrequencies
-
int bGRCorr
Use general relativistic correction in DistOrb+DistRot?
-
int iDistOrbModel
Which orbital model to use (RD4 or LL2)
-
double dSemiPrev
Semi-major axis at which LL2 eigensolution was calc’d
-
double dEigenvalue
User input eigenvalue (diagnostic only)
-
double dEigenvector
User input eigenvector amplitude (diagnostic only)
-
int bEigenSet
Manually set an eigenvalue/frequency
-
double *daLOrb
Orbital angular momentum
-
double *daLOrbTmp
Temp copy of orbital angular momentum
-
double dRPeri
Pericenter distance
-
double dRApo
Apocenter distance
-
int bDistRot
-
double dPrecA
Precession angle
-
double dTrueApA
True anomaly at equinox (used for invariable plane conversion)
-
double dDynEllip
Dynamical ellipticity
-
double dYobl
sin(obliq)*sin(preca)
-
double dXobl
sin(obliq)*cos(preca)
-
double dZobl
cos(obliq)
-
double *daLRot
Spin angular momentum vector
-
double *daLRotTmp
Temp copy of spin angular momentum vector
-
int bForcePrecRate
Set precession rate to a fixed value
-
double dPrecRate
Value to set fixed precession rate to
-
int bCalcDynEllip
Calc dyn ellipticity from spin, radius, mass, inertia?
-
int bRelaxDynEllip
shape of planet relaxes when spun down
-
int bReadOrbitData
Use orbit data from file rather than distorb
-
char *cFileOrbitData
read orbital data from this file (distorb=0)
-
double *daTimeSeries
time series for orbital data
-
double *daSemiSeries
time series for orbital data
-
double *daEccSeries
time series for orbital data
-
double *daIncSeries
time series for orbital data
-
double *daArgPSeries
time series for orbital data
-
double *daLongASeries
time series for orbital data
-
double *daMeanASeries
time series for orbital data
-
int iCurrentStep
index for time series arrays
-
double *daHeccSeries
time series for orbital data
-
double *daKeccSeries
time series for orbital data
-
double *daPincSeries
time series for orbital data
-
double *daQincSeries
time series for orbital data
-
double dPdot
inclination derivative used for obliquity evol
-
double dQdot
inclination derivative used for obliquity evol
-
int iNLines
Number of lines of orbital data file
-
double dSpecMomInertia
C/M/R^2 used for dynamical ellipticity calculation
-
int bEqtide
Apply Module EQTIDE?
-
int bTideLock
Is a body tidally locked?
-
double dLockTime
Time when body tidally-locked
-
int bUseTidalRadius
Set a fixed tidal radius?
-
int bUseOuterTidalQ
Set total Q to outer layer’s value?
-
double dTidalRadius
Radius used by tidal evoltion equations (CPL only currently)
-
int iTidePerts
Number of Tidal Perturbers
-
int *iaTidePerts
Body #’s of Tidal Perturbers
-
char *saTidePerts[MAXARRAY]
Names of Tidal Perturbers
-
double dK2Man
Mantle k2 love number
-
double dK2Ocean
Ocean’s Love Number
-
double dK2Env
Envelope’s Love Number
-
double dTidalQMan
Tidal Q of the Mantle
-
double dTidalQOcean
Body’s Ocean Component to Tidal Q
-
double dTidalQEnv
Body’s Envelope Component to Tidal Q
-
double dImK2Man
Mantle Im(k2) love number
-
double dImK2ManOrbModel
Mantle Im(k2) model for DB15 orbital eqns
-
double dImK2Ocean
Envelope Component to Imaginary part of Love’s K_2
-
double dImK2Env
Envelope Component to Imaginary part of Love’s K_2
-
double dTidalQ
Body’s Tidal Q
-
double dTidalTau
Body’s Tidal Time Lag
-
double *dTidalZ
As Defined in HellerEtal2011
-
double *dTidalChi
As Defined in HellerEtal2011
-
double **dTidalF
As Defined in HellerEtal2011
-
double *dTidalBeta
As Defined in HellerEtal2011
-
int **iTidalEpsilon
Signs of Phase Lags
-
double dDeccDtEqtide
Eccentricity time rate of change
-
double *daDoblDtEqtide
Obliquity time rate of change
-
int bRadheat
Apply Module RADHEAT?
-
double d26AlConstMan
Body’s Mantle 26Al Decay Constant
-
double d26AlMassMan
Body’s Mantle Mass of 26Al
-
double d26AlNumMan
Body’s Mantle Number of 26Al Atoms
-
double d26AlPowerMan
Body’s Mantle Internal Power Due to 26Al Decay
-
double d26AlConstCore
Body’s Core 26Al Decay Constant
-
double d26AlMassCore
Body’s Core Mass in 26Al
-
double d26AlNumCore
Body’s Core Number of 26Al Atoms
-
double d26AlPowerCore
Body’s Core Power from 26Al
-
double d40KConstMan
Body’s Mantle 40K Decay Constant
-
double d40KMassMan
Body’s Mantle Mass of 40K
-
double d40KNumMan
Body’s Mantle Number of 40K Atoms
-
double d40KPowerMan
Body’s Mantle Internal Power Due to 40K Decay
-
double d40KConstCore
Body’s Core 40K Decay Constant
-
double d40KNumCore
Body’s Core Number of 40K Atoms
-
double d40KPowerCore
Body’s Core Power due to 40K
-
double d40KMassCore
Body’s Core Mass of 40K
-
double d40KConstCrust
Body’s Crust 40K Decay Constant
-
double d40KNumCrust
Body’s Crust Number of 40K Atoms
-
double d40KPowerCrust
Body’s Crust Power due to 40K
-
double d40KMassCrust
Body’s Crust Mass of 40K
-
double d232ThConstMan
Body’s Thorium-232 Decay Constant
-
double d232ThNumMan
Body’s Number of Thorium-232 Atoms
-
double d232ThPowerMan
Body’s Internal Power Due to Thorium-232 Decay
-
double d232ThMassMan
Body’s Total Mass of Thorium-232 Atoms
-
double d232ThConstCore
-
double d232ThNumCore
-
double d232ThPowerCore
-
double d232ThMassCore
-
double d232ThConstCrust
-
double d232ThNumCrust
-
double d232ThPowerCrust
-
double d232ThMassCrust
-
double d238UConstMan
Body’s Uranium-238 Decay Constant
-
double d238UNumMan
Body’s Number of Uranium-238 Atoms
-
double d238UPowerMan
Body’s Internal Power Due to Uranium-238 Decay
-
double d238UMassMan
Body’s Total Mass of Uranium-238 Atoms
-
double d238UConstCore
-
double d238UNumCore
-
double d238UPowerCore
-
double d238UMassCore
-
double d238UConstCrust
-
double d238UNumCrust
-
double d238UPowerCrust
-
double d238UMassCrust
-
double d235UConstMan
-
double d235UNumMan
-
double d235UPowerMan
-
double d235UMassMan
-
double d235UConstCore
-
double d235UNumCore
-
double d235UPowerCore
-
double d235UMassCore
-
double d235UConstCrust
-
double d235UNumCrust
-
double d235UPowerCrust
-
double d235UMassCrust
-
double dRadPowerTotal
Total planet Radiogenic Power
-
double dRadPowerMan
Total Mantle Radiogenic Power
-
double dRadPowerCore
Total Core Radiogenic Power
-
double dRadPowerCrust
Total Crust Radiogenic Power
-
int bThermint
Apply Module THERMINT?
-
double dTSurf
Surface Temperature
-
double dTMan
Temperature Mantle AVE
-
double dTCore
Temperature Core AVE
-
double dTUMan
Temperature UMTBL
-
double dTLMan
Temperature LMTBL
-
double dTCMB
Temperature CMB
-
double dTICB
Temperature ICB
-
double dBLUMan
UM TBL thickness
-
double dBLLMan
LM TBL thickness
-
double dTJumpUMan
Abs Temperature Jump across UMTBL
-
double dTJumpLMan
Abs Temperature Jump across LMTBL
-
double dSignTJumpUMan
Sign of Temperature Jump across UMTBL
-
double dSignTJumpLMan
Sign of Temperature Jump across LMTBL
-
double dViscUManArr
Viscosity UMTBL Arrhenius Law
-
double dViscUMan
Viscosity UMTBL
-
double dViscLMan
Viscosity LMTBL
-
double dViscMMan
Viscosity Mid (ave) mantle
-
double dDynamViscos
Dynamic viscosity of the mantle
-
double dViscJumpMan
Viscosity Jump UM to LM
-
double dShmodUMan
Shear modulus UMTBL
-
double dShmodLMan
Shear modulus LMTBL
-
double dTsolUMan
Solidus Temperature UMTBL
-
double dTliqUMan
Liquidus Temperature UMTBL
-
double dTsolLMan
Solidus Temperature LMTBL
-
double dTliqLMan
Liquidus Temperature LMTBL
-
double dFMeltUMan
Melt fraction UMTBL
-
double dFMeltLMan
Melt fraction LMTBL
-
double dMeltfactorUMan
Melt Phase Factor for Rheology
-
double dMeltfactorLMan
Melt Phase Factor for Rheology
-
double dFixMeltfactorUMan
Melt Phase Factor for Rheology
-
double dViscMeltB
Viscosity Melt Factor B
-
double dViscMeltGamma
Viscosity Melt Factor Gamma
-
double dViscMeltDelta
Viscosity Melt Factor Delta
-
double dViscMeltXi
Viscosity Melt Factor Xi
-
double dViscMeltPhis
Viscosity Melt Factor Phis
-
double dDepthMeltMan
Depth to base of UM Melt layer
-
double dTDepthMeltMan
Temp at base of UM Melt layer
-
double dTJumpMeltMan
Temp Jump to base of UM Melt layer
-
double dMeltMassFluxMan
Mantle upwelling melt mass flux
-
double dRayleighMan
Mantle Rayleigh Number
-
double dTDotMan
Time deriv of mean mantle temp
-
double dTDotCore
time deriv of mean core temp
-
double dHfluxUMan
hflux upper mantle thermal boundary layer (UMTBL)
-
double dHflowUMan
hflow UMTBL
-
double dHfluxLMan
hflux lower mantle thermal boundary layer (UMTBL)
-
double dHflowLMan
hflow LMTBL
-
double dHfluxCMB
hflux CMB
-
double dHflowCMB
hflow CMB
-
double dHflowTidalMan
hflow tidal dissipation in mantle
-
double dHflowTidalCore
hflow tidal dissipation in core
-
double dHflowLatentMan
latent hflow from solidification of mantle
-
double dHflowMeltMan
Eruptive Melt Hflow from mantle
-
double dHflowSecMan
Mantle Secular Heat flow
-
double dMassICDot
Mass Growth Rate of IC
-
double dHflowLatentIC
latent hflow from solidification of IC
-
double dPowerGravIC
latent hflow from solidification of IC
-
double dHflowICB
hflow across ICB
-
double dHfluxSurf
hflux surface of mantle
-
double dHflowSurf
hflow surface of mantle
-
double dTidalPowMan
Tidal Dissipation Power in Mantle
-
double dRIC
IC radius
-
double dDRICDTCMB
d(R_ic)/d(T_cmb)
-
double dDOC
OC shell thickness
-
double dThermConductOC
Thermal conductivity OC
-
double dThermConductIC
Thermal conductivity IC
-
double dChiOC
OC light element concentration chi.
-
double dChiIC
IC light element concentration chi.
-
double dMassOC
OC Mass.
-
double dMassIC
IC Mass.
-
double dMassChiOC
OC Chi Mass.
-
double dMassChiIC
IC Chi Mass.
-
double dDTChi
Core Liquidus Depression
-
double dHfluxCMBAd
CMB Adiabatic Heat flux.
-
double dHfluxCMBConv
CMB Convective (super-adiabatic) Heat flux.
-
double dCoreBuoyTherm
Core Thermal buoyancy flux
-
double dCoreBuoyCompo
Core Compositional buoyancy flux
-
double dCoreBuoyTotal
Core total (therm+compo) buoyancy flux
-
double dGravICB
Gravity at ICB
-
double dDensAnomICB
Density anomaly across ICB (Delta rho_chi in DB14).
-
double dRICDot
Inner core growth rate
-
double dMagMom
Core Dynamo Magnetic Moment scaling law.
-
double dMagMomCoef
Dynamo magnetic moment scaling law dipolarity coefficient (gamma_d in DB14)
-
double dPresSWind
Stellar wind pressure at planets orbit.
-
double dMagPauseRad
Magnetopause stand-off radius from center of planet
-
double dViscRatioMan
Viscosity Ratio Man
-
double dEruptEff
Mantle melt eruption efficiency
-
double dViscRef
Mantle Viscosity Reference (coefficient)
-
double dTrefLind
Core Liquidus Lindemann Reference (coefficient)
-
double dDTChiRef
Core Liquidus Depression Reference (E)
-
double dStagLid
Stagnant Lid heat flow switch (0 or 1)
-
double dManHFlowPref
Mantle Hflow Prefix
-
double dActViscMan
Mantle viscosity activation energy
-
double dShModRef
reference kinematic mantle shear modulus
-
double dStiffness
effective stiffness of mantle
-
double dDLind
lindemann’s law length scale for iron liquidus
-
double dDAdCore
liq iron core adiabatic length scale
-
double dAdJumpM2UM
adiabatic temp jump from ave mantle to UM
-
double dAdJumpM2LM
adiabatic temp jump from ave mantle to LM
-
double dAdJumpC2CMB
adiabatic temp jump from ave core to CMB
-
double dElecCondCore
electrical conductivity of core
-
int bStellar
-
double dLuminosity
-
double dTemperature
-
double dSatXUVFrac
-
double dSatXUVTime
-
double dXUVBeta
-
int iStellarModel
-
int iMagBrakingModel
-
int iWindModel
-
int iXUVModel
-
double dLXUV
-
double iHZModel
-
double dLostAngMom
Angular momemntum lost to space via magnetic braking
-
double dLostEng
Energy lost to space, i.e. via stellar contraction
-
int bRossbyCut
Whether or not to shut off magnetic braking for Ro>ROSSBYCRIT
-
int bEvolveRG
Whether or not to evolve radius of gyration? Defaults to 0
-
double dLuminosityInitial
-
double dLuminosityAmplitude
-
double dLuminosityFrequency
-
double dLuminosityPhase
-
int bPoise
Apply POISE module?
-
double dAblateFF
Scaling factor for ice ablation rate
-
int bAccuracyMode
This forces EBM to re-invert matrix every time step
-
double dAlbedoGlobal
Global average albedo (Bond albedo)
-
double dAlbedoGlobalTmp
A copy of global average albedo (sometimes needed)
-
double dAlbedoLand
Sets base albedo of land (sea model)
-
double dAlbedoWater
Sets base albedo of water (sea model)
-
int bAlbedoZA
Use albedo based on zenith angle (ann model)
-
double dAreaIceCov
Tracks area of surface covered in permanent ice
-
double dAstroDist
Distance between primary and planet
-
int bCalcAB
Calc A and B from Williams & Kasting 1997
-
int iClimateModel
Which EBM to be used (ann or sea)
-
int bColdStart
Start from global glaciation (snowball) conditions
-
double dCw_dt
Heat capacity of water / EBM time step
-
double dDiffCoeff
Diffusion coefficient set by user
-
int bDiffRot
Adjust heat diffusion for rotation rate
-
int bElevFB
Apply elevation feedback to ice ablation
-
double dFixIceLat
Fixes ice line latitude to user set value
-
double dFluxInGlobal
Global mean of incoming flux
-
double dFluxInGlobalTmp
Copy of global mean incoming flux
-
double dFluxOutGlobal
Global mean of outgoing flux
-
double dFluxOutGlobalTmp
Copy of global mean outgoing flux
-
int bForceObliq
Force obliquity to evolve sinusoidally
-
int bForceEcc
Force eccentricity to evolve sinusoidally
-
double dFrzTSeaIce
Freezing temperature of sea water
-
int iGeography
Type of geography to use (uni3 or modn)
-
int bHadley
Use Hadley circ in tropics when calc’ing diffusion?
-
double dHeatCapAnn
Surface heat capacity in annual model
-
double dHeatCapLand
Heat capacity of land
-
double dHeatCapWater
Heat capacity of water
-
double dIceAlbedo
Base albedo of ice covered surfaces
-
double dIceBalanceTot
Total gain/loss in ice globally
-
double dIceDepRate
Snow deposition rate when below freezing
-
double dIceFlowTot
Total flow of ice (should be zero)
-
double dIceMassTot
Total ice mass over entire globe
-
int bIceSheets
Use ice sheet model?
-
int iIceTimeStep
Time step of ice sheet model (should be > iNumYears)
-
double dInitIceHeight
Initial height of ice sheet
-
double dInitIceLat
Initial latitude of ice line (ice cap only)
-
double dLapseR
Lapse rate used for elevation feedback of ice sheet
-
double dLatentHeatIce
Latent heat of fusion of ice over mixing depth
-
double dLatFHeatCp
Latent heat of ice/heat capacity
-
int bMEPDiff
Compute diff from maximum entropy prod (D = B/4)
-
double dMixingDepth
Depth of mixing layer of ocean (for thermal inertia)
-
int iNDays
Number of days in planet’s year/orbit
-
int iNStepInYear
Number of time steps in a year/orbit
-
double dNuLandWater
Land-ocean interaction term
-
int iNumLats
Number of latitude cells
-
int iNumYears
Number of orbits!!! to run seasonal model
-
double dObliqAmp
Amplitude of forced obliquity oscillation
-
double dObliqPer
Period of force obliquity oscillation
-
double dObliq0
Start obliquity for forced oscillation
-
double dEccAmp
Amplitude of forced eccentricity oscillation
-
double dEccPer
Period of force eccentricity oscillation
-
double dEcc0
Start eccentricity for forced oscillation
-
int iOLRModel
OLR fit (use with bCalcAB=1) from Kasting or Spiegel
-
double dpCO2
Partial pressure of CO2 (only if bCalcAB = 1)
-
double dPlanckA
Constant term in Blackbody linear approximation
-
double dPlanckB
Linear coeff in Blackbody linear approx (sensitivity)
-
double dPrecA0
Initial pA value used when distrot is not called
-
int bReadOrbitOblData
Use orbit and obliquity data from file rather than distrot
-
char *sFileOrbitOblData
read orbital and obliquity data from this file (distorb=0)
-
double *daOblSeries
time series for obliquity data
-
double *daPrecASeries
time series for obliquity data
-
double dRefHeight
Ref height of “surface” in elevation feedback
-
int iReRunSeas
When to rerun EBM in ice sheet model
-
double dSeaIceConduct
Conductivity of sea ice
-
int bSeaIceModel
Use sea ice model?
-
double dSeasDeltat
Time step of seasonal model
-
double dSeasDeltax
Spacing of grid points in seasonal model
-
double dSeasOutputTime
When to output seasonal data
-
double dSeasNextOutput
Next time step to output seasonal data
-
int bSkipSeas
Ann model will be used if in snowball state
-
int bSkipSeasEnabled
Allow ann model to be used if in snowball state?
-
int bSnowball
Is planet in snowball state (oceans are frozen)?
-
double dSpinUpTol
Tolerance for mean global temp change during spin up
-
double dSurfAlbedo
Base surface albedo used in ann model
-
double dTGlobal
Global mean temperature at surface
-
double dTGlobalInit
Initial estimate of global surface temperature
-
double dTGlobalTmp
Mean global surface temp
-
int iWriteLat
Stores index of latitude to be written in write fxn
-
double dMinIceHeight
Minimum ice thickness to count as icy
-
double *daAnnualInsol
Annually averaged insolation at each latitude
-
double *daDivFlux
Divergence of surface flux
-
double *daDMidPt
Diffusion at edges of grid points
-
double **daInsol
Daily insolation at each latitude
-
double *daFlux
Meridional surface heat flux
-
double *daFluxIn
Incoming surface flux (insolation)
-
double *daFluxOut
Outgoing surface flux (longwave)
-
double *daLats
Latitude of each cell (centered); South Pole is 0
-
double *daPeakInsol
Annually averaged insolation at each latitude
-
double *daTGrad
Gradient of temperature (meridional)
-
double *daAlbedoAnn
Albedo of each cell
-
double *daDiffusionAnn
Diffusion coefficient of each latitude boundary
-
double **daMEulerAnn
Matrix used for Euler step in annual model
-
double **daMEulerCopyAnn
Temp copy of Euler matrix
-
double **daInvMAnn
Inverted matrix for annual model
-
double *daLambdaAnn
Diffusion terms for annual matrix
-
double **daMClim
Raw climate matrix for annual model
-
double **daMDiffAnn
Diffusion matrix for annual model
-
double *daPlanckAAnn
Array of Planck A values for ann model
-
double *daPlanckBAnn
Array of Planck B values for ann model
-
int *iaRowswapAnn
Array of interchanged rows in matrix inversion
-
double *daScaleAnn
Used in matrix inversion routine
-
double *daSourceF
Heating terms in EBM
-
double *daTempAnn
Surface temperature in each cell
-
double *daTempTerms
Temperature dependent terms in matrix
-
double *daTmpTempAnn
Temporary copy of temperature
-
double *daTmpTempTerms
Temporary copy of temp dependent terms
-
double *daUnitVAnn
Unit vector used in matrix inversion
-
double *daAlbedoAvg
Orbit average albedo by latitude
-
double *daAlbedoAvgL
Orbit average albedo by latitude on land
-
double *daAlbedoAvgW
Orbit average albedo by latitude on water
-
double *daAlbedoLand
Albedo of land by latitude
-
double *daAlbedoLW
Land-water averaged albedo
-
double *daAlbedoWater
Albedo of land by latitude
-
double *daBasalFlow
Basal flow of ice = d(u*h)/dy
-
double *daBasalFlowMid
Basal flow of ice d(u*h)/dy (midpoints)
-
double *daBasalVel
Basal velocity of ice
-
double *daBedrockH
Height of bedrock (can be negative)
-
double *daBedrockHEq
Equilibrium height of bedrock
-
double *daDeclination
Daily solar declination
-
double *daDeltaTempL
Keeps track of temp change on land for energy check
-
double *daDeltaTempW
Keeps track of temp change on water for energy check
-
double *daDIceHeightDy
Gradient of ice height
-
double *daDiffusionSea
Diffusion coefficient for seasonal model
-
double *daDivFluxAvg
Divergence of flux averaged over orbit
-
double **daDivFluxDaily
Daily values of divergence of flux
-
double *daEnergyResL
Energy residuals on land
-
double *daEnergyResW
Energy residuals over water
-
double *daEnerResLAnn
Annually averaged energy residuals on land
-
double *daEnerResWAnn
Annually averaged energy residuals over water
-
double *daFluxAvg
Annually averaged meridional flux
-
double *daFluxOutAvg
Annually averaged outgoing flux
-
double **daFluxDaily
Daily meridional flux values
-
double *daFluxInAvg
Annually averaged incoming flux
-
double **daFluxInDaily
Daily incoming flux values
-
double *daFluxInLand
Annually averaged incoming flux on land
-
double *daFluxInWater
Annually averaged incoming flux on water
-
double **daFluxOutDaily
Daily outgoing flux values
-
double *daFluxOutLand
Annually averaged outgoing flux on land
-
double *daFluxOutWater
Annually averaged outgoing flux on water
-
double *daFluxSeaIce
Heat flux through sea ice
-
double **daIceBalance
Gain/loss of ice at each latitude and day
-
double *daIceAblateTot
Total ice loss per orbit
-
double *daIceAccumTot
Total ice gain per orbit
-
double *daIceBalanceAnnual
Net ice gain/loss over orbit
-
double *daIceBalanceAvg
Average ice gain/loss over orbit
-
double *daIceBalanceTmp
Temporary (current) ice gain/loss
-
double *daIceFlow
Flow of ice
-
double *daIceFlowAvg
Average flow of ice over orbit
-
double *daIceFlowMid
Flow of ice at boundaries of grid points
-
double *daIceGamTmp
Temporary variable used in ice sheet matrix
-
double *daIceHeight
Height of ice sheet
-
double *daIceMass
Ice mass per area
-
double *daIceMassTmp
Temporary copy of ice mass per area
-
double *daIcePropsTmp
Temporary array used in ice sheet matrix
-
double *daIceSheetDiff
Diffusion coefficient of ice sheet flow
-
double **daIceSheetMat
Matrix used in ice sheet flow
-
double **daInvMSea
Inverted matrix in seasonal EBM
-
double *daLambdaSea
Diffusion terms in seasonal EBM matrix
-
double dLandFrac
Land fraction input by user
-
double *daLandFrac
Fraction of cell which is land
-
double **daMDiffSea
Diffusion only matrix in seasonal EBM
-
double **daMEulerCopySea
Temporary copy of Euler time step matrix (seasonal)
-
double **daMEulerSea
Euler time step matrix in seasonal EBM
-
double **daMInit
Temporary matrix used in constructing Euler matrix
-
double **daMLand
Land terms in seasonal matrix
-
double **daMWater
Water terms in seasonal matrix
-
double *daPlanckASea
Array of Planck A values in seasonal model
-
double *daPlanckBSea
Array of Planck B values in seasonal model
-
double **daPlanckBDaily
Array of Planck B values over seasonal cycle
-
double *daPlanckBAvg
Orbit averaged Planck B values in seasonal model
-
int *iaRowswapSea
Interchanged rows in seasonal matrix inversion
-
double *daScaleSea
Used in matrix inversion routine
-
double *daSeaIceHeight
Sea ice height by latitude
-
double *daSeaIceK
Heat conductivity of sea ice
-
double *daSedShear
sediment shear stress (for ice sheets)
-
double *daSourceL
Land heating terms: PlanckA - (1-albedo)*Insol
-
double *daSourceLW
Combined heat terms what inverser matrix operates on
-
double *daSourceW
Water heating terms: PlanckA - (1-albedo)*Insol
-
double *daTempAvg
Temperature averaged over orbit and land/water
-
double *daTempAvgL
Land temp averaged over orbit
-
double *daTempAvgW
Water temp averaged over orbit
-
double **daTempDaily
Daily temp over seasonal cycle
-
double *daTempLand
Temperature over land (by latitude)
-
double *daTempLW
Surface temperature (avg over land & water)
-
double *daTempMaxLW
Maximum temperature over year
-
double *daTempMaxLand
Maximum temperature over year over land
-
double *daTempMaxWater
Maximum temperature over year over water
-
double *daTempMinLW
Minimum temperature over year
-
double *daTempWater
Temperature over ocean (by lat)
-
double *daTmpTempSea
Temporary copy of temp dependent terms (sea EBM)
-
double *daUnitVSea
Unit vector used in matrix routines
-
double *daWaterFrac
Fraction of cell which is water
-
double *daXBoundary
Locations of grid boundaries in x = sin(lat)
-
double *daYBoundary
Locations of grid boundaries in y = R*lat
-
int bFlare
-
double dFlareYInt
Flare function Y intercept /FFD linear coefficient
-
double dFlareSlope
Flare function slope /FFD angular coefficient
-
double dFlareMinEnergy
Flare minimum energy value to calculate the FFD
-
double dFlareMaxEnergy
Flare maximum energy value to calculate the FFD
-
double dFlareFreq1
First value of flare frequency range
-
double dFlareFreq2
Second value of flare frequency range
-
double dFlareFreq3
Third value of flare frequency range
-
double dFlareFreq4
Fourth value of flare frequency range
-
double dFlareFreqMin
Flare frequency of the flares with the lowest energy
-
double dFlareFreqMid
Flare frequency of the flares with the central energy value in the energy range
-
double dFlareFreqMax
Flare frequency of the flares with the highest energy
-
double dFlareEnergy1
First value of flare energy range
-
double dFlareEnergy2
Second value of flare energy range
-
double dFlareEnergy3
Third value of flare energy range
-
double dFlareEnergy4
Fourth value of flare energy range
-
double dFlareEnergyMin
Minimum value of flare energy in the energy range
-
double dFlareEnergyMid
Central value of flare energy in the energy range
-
double dFlareEnergyMax
Maximum value of flare energy in the energy range
-
double dLXUVFlare
XUV luminosity by flare
-
double dLXUVTot
XUV luminosity total, flare + stellar
-
double dLXUVFlareConst
XUV luminosity given by the user
-
int iFlareFFD
Flare mode
-
int iFlareBandPass
Option to choose in which band pass the input energy are
-
int iFlareSlopeUnits
Mode to choose in which units the FFD slopes are
-
int iEnergyBin
Number of energies consider between the minimum and maximum energies to calculate the luminosity by flares
-
double *daEnergyERG
-
double *daEnergyJOU
-
double *daLogEner
-
double *daEnerJOU
-
double *daEnergyJOUXUV
-
double *daEnergyERGXUV
-
double *daLogEnerXUV
-
double *daFFD
-
double *daLXUVFlare
-
int bGalHabit
Use galhabit module
-
double dPeriQ
Pericenter distance
-
int iDisrupt
Secondary body has been disrupted
-
int bGalacTides
Enable galactic tides
-
double dHostBinSemi
Semi-major axis of host binary
-
double dHostBinEcc
Eccentricity of host binary
-
double dHostBinInc
Inclination of host binary
-
double dHostBinArgP
Arg pericenter of host binary
-
double dHostBinLongA
Long asc node of host binary
-
double dHostBinMass1
Mass of large host binary star
-
int bHostBinary
Model dynamics of inner host binary
-
double *daRelativeImpact
Impact param of passing star relative to body
-
double *daRelativeVel
Velocity of passing star relative to body
-
double dEccX
X component of eccentricity vector
-
double dEccY
Y component of eccentricity vector
-
double dEccZ
Z component of eccentricity vector
-
double dAngMX
X component of orbital momentum vector
-
double dAngMY
Y component of orbital momentum vector
-
double dAngMZ
Z component of orbital momentum vector
-
double dAngM
Magnitude of orbital momentum vector
-
double dEccXTmp
Ecc X in the host binary reference plane
-
double dEccYTmp
Ecc Y in the host binary reference plane
-
double dEccZTmp
Ecc Z in the host binary reference plane
-
double dAngMXTmp
AngM X in the host binary reference plane
-
double dAngMYTmp
AngM Y in the host binary reference plane
-
double dAngMZTmp
AngM Z in the host binary reference plane
-
double dArgPTmp
Arg pericenter in the host binary reference plane
-
double dLongATmp
Long asc node in the host binary reference plane
-
double dIncTmp
Inclination in the host binary reference plane
-
double dCosArgP
Cosine of arg pericenter
-
double dMinStellarApproach
minimum allowed close approach of body to host
-
double dMassInterior
Total mass of bodies interior to body
-
int iBadImpulse
Was there a bad impulse?
-
double dMeanL
Body’s mean longitude
-
int bMagmOc
Use magmoc model
-
int bManSolid
Mantle solidified
-
int bAllFeOOxid
All FeO in manlte oxidized to Fe2O3
-
int bLowPressSol
Switch to low pressure treatment of solidus
-
int bManStartSol
Mantle starts to solidify
-
int bCalcFugacity
Need to calc oxygen fugacity
-
int bPlanetDesiccated
Atmosphere desiccated
-
int bManQuasiSol
Atmosphere desiccated & T_surf below 1000K
-
int bMagmOcHaltSolid
Mantle solidifed or atm desiccated
-
int bMagmOcHaltDesicc
Atm desiccated or escape stopped
-
int bEscapeStop
Atmospheric escaped stopped
-
int bCO2InAtmosphere
Is CO2 present in the atmopshere?
-
int iRadioHeatModel
Which Radiogenic Heating model to use
-
int iMagmOcAtmModel
Which Atmopsheric Flux model to use
-
int bOptManQuasiSol
Solidify mantle inst. when melt frac = 0.4 at surf
-
double dPotTemp
Potential Temp of the mantle [K]
-
double dSurfTemp
Surface Temp of the planet [K]
-
double dSolidRadius
Solidification radius of the mantle [m]
-
double dWaterMassMOAtm
Water mass in magma ocean and atmosphere [kg]
-
double dWaterMassSol
Water mass in the solidified mantle [kg]
-
double dOxygenMassMOAtm
Water mass in magma ocean and atmosphere [kg]
-
double dOxygenMassSol
Water mass in the solidified mantle [kg]
-
double dHydrogenMassSpace
Mass of hydrogen that is lost to space
-
double dOxygenMassSpace
Mass of oxygen that is lost to space
-
double dCO2MassMOAtm
Mass of CO2 in magma ocean and atmosphere [kg]
-
double dCO2MassSol
Mass of CO2 in solidified mantle [kg]
-
double dCoreRadius
Core radius of the planet [m]
-
double dWaterMassAtm
Water mass in the atmosphere [kg]
-
double dManMeltDensity
Density of the molten mantle [km/m^3]
-
double dMassFracFeOIni
Initial FeO mass fraction in the mantle
-
double dWaterPartCoeff
Water partition coefficient between melt and solid
-
double dDepthMO
Initial depth of Magma Ocean [km]
-
double dGravAccelSurf
Graviational acceleration at the surface [m/s^2]
-
double dSolidRadiusLocal
Local variable for solidification radius of the mantle [m]
-
double dTransDepthSol
Depth of transition from low to high pressure solidus [Pa]
-
double dPrefactorA
Prefactor for linear solidus
-
double dPrefactorB
Prefactor for linear solidus
-
double dMeltFraction
Melt fraction of the mantle
-
double dMeltFracSurf
Melt fraction at the surface
-
double dKinemViscos
Kinematic viscosity of the mantle [m/s^2]
-
double dFactorDerivative
Factor to calculate the derivatives of Tpot and Rsol
-
double dManHeatFlux
Mantle heat flux [W/m^2]
-
double dRadioHeat
Radiogenic heating rate GET FROM RADHEAT [W/kg]
-
double dTidalHeat
Tidal heating rate GET FROM EQTIDE [W/kg]
-
double dNetFluxAtmo
Net atmospheric flux OLR-ASR [W/m^2]
-
double dAlbedo
Albedo of the planet
-
double dEffTempAtm
Effective temperature of the planet’s atmosphere
-
double dPressWaterAtm
Water pressure in atmosphere [Pa]
-
double dPartialPressWaterAtm
Partial Water pressure in atmosphere [Pa]
-
double dPressCO2Atm
CO2 pressure in atmosphere [Pa]
-
double dPartialPressCO2Atm
Partial CO2 pressure in atmosphere [Pa]
-
double dPressOxygenAtm
Oxygen pressure in atmosphere [Pa]
-
double dMassMagmOcLiq
liquid mass of magma ocean [kg]
-
double dMassMagmOcCry
crystal mass of magma ocean [kg]
-
double dWaterFracMelt
Mass fraction of water in the magma ocean
-
double dCO2FracMelt
Mass fraction of CO2 in the magma ocean
-
double dFracFe2O3Man
Mass fraction of Fe2O3 in the mantle
-
double dOxygenMassAtm
Oxygen mass in the atmosphere [kg]
-
double dAveMolarMassMan
Average molar mass of the mantle
-
double dWaterMassEsc
Water mass escaped per time
-
double dOxygenMassEsc
Oxygen mass escaped per time
-
double dHZInnerEdge
Inner edge of habitable zone (runaway)
-
char *cName
-
struct SYSTEM
Public Members
-
char *cName
System’s Name
-
int iNumBodies
-
double dTotAngMomInit
Number of bodies in the system; redundant with Evolve! System’s Initial Angular Momentum
-
double dTotAngMom
System’s Current Angular Momentum
-
fnLaplaceFunction **fnLaplaceF
Pointers to semi-major axis functions
-
fnLaplaceFunction **fnLaplaceDeriv
Pointers to semi-major axis derivatives
-
double ***daLaplaceC
Values of semi-major axis functions
-
double ***daLaplaceD
Values of semi-major axis derivatives
-
double ***daAlpha0
Semi-major axis ratio at the time LaplaceC is determined
-
int **iaLaplaceN
Indices for dmLaplaceC corresponding to iBody, jBody
-
double dDfcrit
Semi-maj functions will be updated based on this value
-
double dThetaInvP
Azimuthal angle of inv plane relative to input plane
-
double dPhiInvP
Altitude angle of inv plane relative to input plane
-
double **daEigenValEcc
Matrix of eccentricity Eigenvalues in Laplace-Lagrange
-
double **daEigenValInc
Matrix of inclination Eigenvalues in Laplace-Lagrange
-
double **daEigenVecEcc
Matrix of eccentricity Eigenvectors in Laplace-Lagrange
-
double **daEigenVecInc
Matrix of inclination Eigenvectors in Laplace-Lagrange
-
double **daEigenPhase
Phase angles used in Laplace-Lagrange solution
-
double **daA
Matrix used for finding eigenvalues for eccentricity
-
double **daB
Matrix used for finding eigenvalues for inclination
-
double *daAsoln
RHS of eigenvalue problem for ecc
-
double *daBsoln
RHS of eigenvalue problem for inc
-
double **daetmp
Temporary matrix used in eigenvalue routine
-
double **daitmp
Temporary matrix used in eigenvalue routine
-
double *dah0
Initial value of Hecc in LL2 solution
-
double *dak0
Initial value of Kecc in LL2 solution
-
double *dap0
Initial value of Pinc in LL2 solution
-
double *daq0
Initial value of Qinc in LL2 solution
-
double *daS
Scaling factor for ecc eigenvectors
-
double *daT
Scaling factor for inc eigenvectors
-
int *iaRowswap
Row interchange array used in eigenvector routine
-
double **daAcopy
Copy of eigenvalue matrix for eccentricity
-
double *daScale
Used in matrix inversion
-
double *daLOrb
Total angular momentum of system
-
double dTotEnInit
System’s Initial Energy
-
double dTotEn
-
double dGalacDensity
< System’s total energy Density of galactic environment (for GalHabit)
-
double *daPassingStarR
Initial location of passing star
-
double *daPassingStarV
Initial velocity of passing star
-
double dPassingStarVRad
Radial velocity of passing star (wrt origin)
-
double dPassingStarRMag
Distance to passing star
-
double *daPassingStarImpact
3D impact parameter for passing star
-
double dPassingStarMass
Mass of passing star
-
double dPassingStarSigma
Velocity dispersion of passing stars
-
double dPassingStarMagV
Magnitude of passing star
-
double dEncounterRad
User-set encounter radius (box size)
-
double dDeltaTEnc
time since last encounter
-
double dEncounterRate
characteristic encounter time
-
double dCloseEncTime
time of new close encounter
-
double dLastEncTime
time of last encounter
-
double dNextEncT
Time of next encounter
-
int iNEncounters
Number of encounters
-
double dRForm
galactocentric formation radius
-
double dTMigration
time of radial migration
-
int bRadialMigr
use radial migration
-
double dScalingFTot
scaling factor for radial migration
-
double dScalingFStars
scaling factor for radial migration
-
double dScalingFVelDisp
scaling factor for radial migration (velocity disp)
-
double dGasDensity
density of local ism
-
double dDMDensity
density of local dark matter
-
double dStarScaleL
scale length of stellar disk
-
double dVelDispSolar
Velocity dispersion in solar neighborhood
-
double dHostApexVelMag
Magnitude of host star apex velocity
-
double *daHostApexVel
Host star apex velocity vector
-
double *daRelativeVel
Relative velocity b/w passing star and orbiter
-
double *daRelativePos
Distance b/w passing star and orbiter
-
double dRelativeVelRad
Radial component of velocity b/w passing star & orbiter
-
double dRelativeVelMag
Magnitude relative velocity b/w passing star & orbiter
-
double *daGSNumberDens
Number density of stars in solar neighborhood
-
double *daGSBinMag
Magnitude bins of stars in solar neighborhood
-
double *daEncounterRateMV
Encounter rate of passing stars
-
int iSeed
RNG seed for stellar encounters
-
double dGalaxyAge
present day age of galaxy
-
int bStellarEnc
model stellar encounters?
-
int bTimeEvolVelDisp
scale velocity dispersion of passing stars w/ sqrt(t)?
-
int bOutputEnc
output stell encounter info (beware large output!)
-
double dEncDT
time b/w stell encounter impulses on primary/2ndary
-
double dTStart
time that encounter begins relative to time step
-
int **iaResIndex
j values for resonance (-1 deactivates the resonance)
-
int *iaResOrder
order of resonance
-
int bResAvg
Average over resonant arguments (suitable for circulation)
-
double **daLibrFreq2
Libration frequency of exact resonance via linear theory
-
double **daCircFreq
Circulation frequency of near resonance
-
double **daDistCos
Cosine prefactors of disturbing fxn resonant terms
-
double **daDistSin
Sine prefactors of disturbing fxn resonant terms
-
double **daDistSec
Pyth sum of prefactors of disturbing fxn resonant terms
-
char *cName
-
struct UPDATE
Public Members
-
double **pdVar
Pointers to Primary Variables
-
int iNumVars
Number of Update-able Variables
-
int **iaType
The “type” refers to how the variable is updated. If 0, then the variable is assumed to be an explicit function of age. The first timestep is then a bit dodgy as the rate is not initially known. The suggested timestep will be dEta*dTimestep, so runs with a Type 0 variable must account for the evolution with dTimeStep. Variable type affecting timestep (0 = explicit function of age, 1 = normal quantity with time derivative, 2 = polar/sinusoidal quantity with time derivative, 3 = sinusoidal quantity with explicit function of age)
-
double *daDeriv
Array of Total Derivative Values for each Primary Variable
-
double **daDerivProc
Array of Derivative Values Due to a Process
-
double *dVar
-
double dZero
Sometimes you need a pointer to zero
-
int ***iaBody
The body numbers to calculate the derivative. First dimension is the Primary variable number, second is the process #, third is the list body numbers.
-
int **iNumBodies
Number of Bodies Affecting a Process
-
double **pdVar