radheat

Contents

radheat.c

Subroutines that control the integration of the radiogenic heating model. Also includes subroutines that switch between the two models.

Author

Rory Barnes (RoryBarnes)

Date

Jun 28 2014

Functions

void fvInitializeControlRadheat(CONTROL *control, int iBody)
void fvBodyCopyRadheat(BODY *dest, BODY *src, int foo, int iNumBodies, int iBody)

Copy body elements to dest

Parameters:
  • dest – The destination body

  • src – The body source

  • iNumBodies – Number of bodies

  • iBody – Index of body to copy

void fvInitializeBodyRadheat(BODY *body, CONTROL *control, UPDATE *update, int iBody, int iModule)
void fvInitializeUpdateTmpBodyRadheat(BODY *body, CONTROL *control, UPDATE *update, int iBody)
void fvRead26AlPowerMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 26Al power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlPowerCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 26Al power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlMassMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 26Al mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlMassCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 26Al mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlNumMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 26Al number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlNumCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 26Al number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KPowerMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 40K power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KPowerCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 40K power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KMassMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 40K mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KMassCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 40K mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KNumMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 40K number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KNumCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 40K number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KPowerCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 40K power in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KMassCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 40K mass in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KNumCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 40K number in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThPowerMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 232Th power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThPowerCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 232Th power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThMassMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 232Th mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThMassCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 232Th mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThNumMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 232Th number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThNumCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 232Th number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThPowerCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 232Th power in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThMassCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 232Th mass in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThNumCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 232Th number in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UPowerMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 238U power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UMassMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 238U mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UNumMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 238U number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UPowerCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 238U power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UMassCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 238U mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UNumCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 238U number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UPowerCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 238U power in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UMassCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 238U mass in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UNumCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 238U number in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UPowerMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 235U power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UMassMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 235U mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UNumMan(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 235U number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UPowerCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 235U power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UMassCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 235U mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UNumCore(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 235U number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UPowerCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 235U power in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UMassCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 235U mass in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UNumCrust(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read initial 235U number in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvReadHalt40KPower(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read halt 40K power

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvReadHalt235UPower(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read halt 235U power

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvReadHalt238UPower(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read halt 238U power

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvReadHalt232ThPower(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read halt 232Th power

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvReadHaltRadPower(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, int iFile)

Read halt total radiogenic power

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[])

Initialize input options to default values

Parameters:
  • options – Options struct

  • Function – to read in options

void fvReadOptionsRadheat(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, SYSTEM *system, fnReadOption fnRead[], int iBody)

Read input option

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • Function – to read option

  • iBody – Index of body

void fvNotMassAndNum(OPTIONS *options, int iMass, int iNum, int iBody)

Verify that mass and number are not both input

Parameters:
  • options – Options struct

  • iMass – Index of mass

  • iNum – Index of number

  • iBody – Index of body

void fvAssign26AlNum(BODY *body, OPTIONS *options, double dAge, int iBody)

Assign 26Al number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvAssign40KNum(BODY *body, OPTIONS *options, double dAge, int iBody)

Assign 40K number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvAssign232ThNum(BODY *body, OPTIONS *options, double dAge, int iBody)

Assign 232Th number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvAssign238UNum(BODY *body, OPTIONS *options, double dAge, int iBody)

Assign 238U number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvAssign235UNum(BODY *body, OPTIONS *options, double dAge, int iBody)

Assign 235U number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvVerify26Al(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, double dAge, int iBody)

Verify 26Al is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvVerify40K(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, double dAge, int iBody)

Verify 40K is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvVerify232Th(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, double dAge, int iBody)

Verify 232Th is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvVerify238U(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, double dAge, int iBody)

Verify 238U is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvVerify235U(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, double dAge, int iBody)

Verify 235U is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvPropsAuxRadheat(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)

Define auxiliary radheat body properties.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • update – Update struct

  • iBody – Index of body

void fvForceBehaviorRadheat(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody, int iModule)

Force behavior in radheat: Set number of radiogenic elements to zero if < 0.5.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • ioIO struct

  • system – System struct

  • update – Update struct

  • iBody – Index of body

void fvAssignRadheatDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
void fvNullRadheatDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
void fvVerifyRadheat(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, OUTPUT *output, SYSTEM *system, UPDATE *update, int iBody, int iModule)

Verify radheat is initialized: that both man and core initialize and not both mass and number specified.

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 fvInitializeUpdateRadheat(BODY *body, UPDATE *update, int iBody)

Initialize or update iNumVars and iNumSpecies in update struct.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

void fvFinalizeUpdate26AlNumManRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate40KNumManRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate232ThNumManRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate238UNumManRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate235UNumManRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate26AlNumCoreRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate40KNumCoreRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate232ThNumCoreRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate238UNumCoreRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate235UNumCoreRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate40KNumCrustRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate232ThNumCrustRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate238UNumCrustRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate235UNumCrustRadheat(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

int fbHaltMin40KPower(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)

Halt if minimum power reached.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • halt – Halt struct

  • ioIO struct

  • update – Update struct

  • iBody – Index of body

int fbHaltMin232ThPower(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)

Halt if minimum power reached.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • halt – Halt struct

  • ioIO struct

  • update – Update struct

  • iBody – Index of body

int fbHaltMin238UPower(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)

Halt if minimum power reached.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • halt – Halt struct

  • ioIO struct

  • update – Update struct

  • iBody – Index of body

int fbHaltMin235UPower(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)

Halt if minimum power reached.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • halt – Halt struct

  • ioIO struct

  • update – Update struct

  • iBody – Index of body

int fbHaltMinRadPower(BODY *body, EVOLVE *evolve, HALT *halt, IO *io, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)

Halt if minimum power reached.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • halt – Halt struct

  • ioIO struct

  • update – Update struct

  • iBody – Index of body

void fvCountHaltsRadheat(HALT *halt, int *iNumHalts)

Count halts if minimum power reached.

Parameters:
  • halt – Halt struct

  • iNumHalts – Index of number of halts

void fvVerifyHaltRadheat(BODY *body, CONTROL *control, OPTIONS *options, int iBody, int *iHalt)

Add link to halt function in control struct.

Parameters:
  • body – Body struct

  • control – Control struct

  • options – Options struct

  • iHalt – Index of halt

  • iBody – Index of body

void fvWrite26AlPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al mantle power.

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 – Units

void fvWrite26AlEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al surface heat flux.

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 – Units

void fvWriteD26AlNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al mantle DNum/Dt.

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 – Units

void fvWrite26AlTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al decay time?

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 – Units

void fvWrite26AlMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al mantle mass.

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 – Units

void fvWriteD26AlPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al DPower/Dt.

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 – Units

void fvWrite26AlNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al mantle number.

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 – Units

void fvWrite26AlPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al core power.

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 – Units

void fvWrite26AlMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al core mass.

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 – Units

void fvWrite26AlNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 26Al core number.

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 – Units

void fvWrite26AlPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total power from 26Al decay.

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 – Units

void fvWrite40KPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K mantle power.

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 – Units

void fvWrite40KEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K surface heat flux.

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 – Units

void fvWriteD40KNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K mantle DNum/Dt.

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 – Units

void fvWrite40KTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K decay time?

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 – Units

void fvWrite40KMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K mantle mass.

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 – Units

void fvWriteD40KPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K DPower/Dt.

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 – Units

void fvWrite40KNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K mantle number.

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 – Units

void fvWrite40KPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K core power.

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 – Units

void fvWrite40KMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K core mass.

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 – Units

void fvWrite40KNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K core number.

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 – Units

void fvWrite40KPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K crust power.

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 – Units

void fvWrite40KMassCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K crust mass.

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 – Units

void fvWrite40KNumCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 40K crust number.

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 – Units

void fvWrite40KPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total power from 40K decay.

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 – Units

void fvWrite232ThEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th surface heat flux.

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 – Units

void fvWriteD232ThNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th mantle DNum/Dt.

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 – Units

void fvWritedD232ThPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th DPower/Dt.

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 – Units

void fvWrite232ThTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th decay time?

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 – Units

void fvWrite232ThPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th mantle power.

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 – Units

void fvWrite232ThMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th mantle mass.

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 – Units

void fvWrite232ThNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th mantle number.

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 – Units

void fvWrite232ThPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th core power.

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 – Units

void fvWrite232ThMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th core mass.

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 – Units

void fvWrite232ThNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th core number.

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 – Units

void fvWrite232ThPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th crust power.

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 – Units

void fvWrite232ThMassCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th crust mass.

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 – Units

void fvWrite232ThNumCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 232Th crust number.

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 – Units

void fvWrite232ThPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total power from 232Th decay.

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 – Units

void fvWrite238UEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U surface heat flux.

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 – Units

void fvWriteD238UNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U mantle DNum/Dt.

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 – Units

void fvWritedD238UPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U DPower/Dt.

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 – Units

void fvWrite238UTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U decay time?

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 – Units

void fvWrite238UPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U mantle power.

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 – Units

void fvWrite238UMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U mantle mass.

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 – Units

void fvWrite238UNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U mantle number.

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 – Units

void fvWrite238UPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U core power.

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 – Units

void fvWrite238UMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U core mass.

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 – Units

void fvWrite238UNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U core number.

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 – Units

void fvWrite238UPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U crust power.

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 – Units

void fvWrite238UMassCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U crust mass.

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 – Units

void fvWrite238UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 238U crust number.

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 – Units

void fvWrite238UPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total power from 238U decay.

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 – Units

void fvWrite235UEnFlux(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U surface heat flux.

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 – Units

void fvWriteD235UNumDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U mantle DNum/Dt.

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 – Units

void fvWritedD235UPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U DPower/Dt.

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 – Units

void fvWrite235UTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U decay time?

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 – Units

void fvWrite235UPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U mantle power.

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 – Units

void fvWrite235UMassMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U mantle mass.

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 – Units

void fvWrite235UNumMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U mantle number.

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 – Units

void fvWrite235UPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U core power.

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 – Units

void fvWrite235UMassCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U core mass.

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 – Units

void fvWrite235UNumCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U core number.

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 – Units

void fvWrite235UPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U crust power.

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 – Units

void fvWrite235UMassCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U crust mass.

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 – Units

void fvWrite235UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write radiogenic 235U crust number.

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 – Units

void fvWrite235UPowerTot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total power from 235U decay.

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 – Units

void fvWriteRadPowerCrust(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total radiogenic power in crust.

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 – Units

void fvWriteRadPowerMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total radiogenic power in mantle.

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 – Units

void fvWriteRadPowerCore(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total radiogenic power in core.

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 – Units

void fvWriteRadPowerTotal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total radiogenic power.

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 – Units

void fvWriteSurfEnFluxRadTotal(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit)

Write total radiogenic surface heat flux.

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 – Units

void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[])

Initialize output for each variable: name, description, default units, and write function.

Parameters:
  • output – Output struct

  • fnWrite – fnWriteOutput

void fvLogOptionsRadheat(CONTROL *control, FILE *fp)

Print radheat options to log.

Parameters:
  • control – Control struct

  • fp – File file pointer

void fvLogRadheat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UPDATE *update, fnWriteOutput fnWrite[], FILE *fp)

Print radheat parameters to log.

Parameters:
  • body – Body struct

  • control – Control struct

  • output – Output struct

  • system – System struct

  • update – Update struct

  • fnWrite – fnWriteOutput function to write output

  • fp – File file pointer

void fvLogBodyRadheat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UPDATE *update, fnWriteOutput fnWrite[], FILE *fp, int iBody)

Print radheat parameters of body to log.

Parameters:
  • body – Body struct

  • control – Control struct

  • output – Output struct

  • system – System struct

  • update – Update struct

  • fnWrite – fnWriteOutput function to write output

  • fp – File file pointer

  • iBody – Index of body

void fvAddModuleRadheat(CONTROL *control, MODULE *module, int iBody, int iModule)

Add radheat module to module struct.

Parameters:
  • module – Module struct

  • iModule – Index of module

  • iBody – Index of body

double fdRadPowerMan(UPDATE *update, int iBody)

Total mantle radiogenic power.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total mantle radiogenic power

double fdRadPowerCore(UPDATE *update, int iBody)

Total core radiogenic power.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total core radiogenic power

double fdRadPowerCrust(UPDATE *update, int iBody)

Total crust radiogenic power.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total crust radiogenic power

double fdRadPowerTotal(BODY *body, int iBody)

Total body radiogenic power.

Parameters:
  • body – Body struct

  • iBody – Index of body

Returns:

Total body radiogenic power

double fdSurfEnFluxRadTotal(BODY *body, SYSTEM *system, UPDATE *update, int iBody, int iFoo)

Total surface radiogenic energy (heat) flux.

Parameters:
  • body – Body struct

  • system – System struct

  • update – Update struct

  • iBody – Index of body

Returns:

Total surface radiogenic energy (heat) flux

double fdRadheatConst(double dNum, double dAge, double dHalfLife)

Radiogenic heat production coefficient.

Parameters:
  • dNum – Number of species

  • dAge – Age

  • dHalflife – Decay halflife

Returns:

Radiogenic heat production coefficient

double fdDNumRadDt(double dConst, double dHalfLife, double dAge)

Time derivative of number of radiogenic species.

Parameters:
  • dConst – Constant coefficient

  • dAge – Age

  • dHalflife – Decay halflife

Returns:

Time derivative of number of radiogenic species

double fd26AlConstant(double dNum, double dAge)

Radiogenic heat production coefficient for 26Al.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 26Al

double fd40KConstant(double dNum, double dAge)

Radiogenic heat production coefficient for 40K.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 40K

double fd232ThConstant(double dNum, double dAge)

Radiogenic heat production coefficient for 232Th.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 232Th

double fd238UConstant(double dNum, double dAge)

Radiogenic heat production coefficient for 238U.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 238U

double fd235UConstant(double dNum, double dAge)

Radiogenic heat production coefficient for 235U.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 235U

double fd26AlPowerMan(UPDATE *update, int iBody)

Mantle radiogenic power for 26Al.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 26Al

double fd40KPowerMan(UPDATE *update, int iBody)

Mantle radiogenic power for 40K.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 40K

double fd232ThPowerMan(UPDATE *update, int iBody)

Mantle radiogenic power for 232Th.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 232Th

double fd238UPowerMan(UPDATE *update, int iBody)

Mantle radiogenic power for 238U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 238U

double fd235UPowerMan(UPDATE *update, int iBody)

Mantle radiogenic power for 235U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 235U

double fd26AlPowerCore(UPDATE *update, int iBody)

Core radiogenic power for 26Al.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 26Al

double fd40KPowerCore(UPDATE *update, int iBody)

Core radiogenic power for 40K.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 40K

double fd232ThPowerCore(UPDATE *update, int iBody)

Core radiogenic power for 232Th.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 232Th

double fd238UPowerCore(UPDATE *update, int iBody)

Core radiogenic power for 238U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 238U

double fd235UPowerCore(UPDATE *update, int iBody)

Core radiogenic power for 235U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 235U

double fd40KPowerCrust(UPDATE *update, int iBody)

Crust radiogenic power for 40K.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Crust radiogenic power for 40K

double fd232ThPowerCrust(UPDATE *update, int iBody)

Crust radiogenic power for 232Th.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Crust radiogenic power for 232Th

double fd238UPowerCrust(UPDATE *update, int iBody)

Crust radiogenic power for 238U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Crust radiogenic power for 238U

double fd235UPowerCrust(UPDATE *update, int iBody)

Crust radiogenic power for 235U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Crust radiogenic power for 235U

double fd26AlPower(UPDATE *update, int iBody)

Total body (mantle+core) radiogenic power for 26Al.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 26Al

double fd40KPower(UPDATE *update, int iBody)

Total body (mantle+core+crust) radiogenic power for 40K.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 40K

double fd232ThPower(UPDATE *update, int iBody)

Total body (mantle+core+crust) radiogenic power for 232Th.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 232Th

double fd238UPower(UPDATE *update, int iBody)

Total body (mantle+core+crust) radiogenic power for 238U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 238U

double fd235UPower(UPDATE *update, int iBody)

Total body (mantle+core+crust) radiogenic power for 235U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 235U

double fd26AlEnFlux(BODY *body, UPDATE *update, int iBody)

Surface radiogenic energy (heat) flux for 26Al.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 26Al

double fd40KEnFlux(BODY *body, UPDATE *update, int iBody)

Surface radiogenic energy (heat) flux for 40K.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 40K

double fd232ThEnFlux(BODY *body, UPDATE *update, int iBody)

Surface radiogenic energy (heat) flux for 232Th.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 232Th

double fd238UEnFlux(BODY *body, UPDATE *update, int iBody)

Surface radiogenic energy (heat) flux for 238U.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 238U

double fd235UEnFlux(BODY *body, UPDATE *update, int iBody)

Surface radiogenic energy (heat) flux for 235U.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 235U

double fdD26AlNumManDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 26Al in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 26Al in mantle

double fdD40KNumManDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 40K in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 40K in mantle

double fdD232ThNumManDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 232Th in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 232Th in mantle

double fdD238UNumManDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 238U in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 238U in mantle

double fdD235UNumManDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 235U in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 235U in mantle

double fdD26AlNumCoreDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 26Al in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 26Al in mantle

double fdD40KNumCoreDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 40K in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 40K in mantle

double fdD232ThNumCoreDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 232Th in core.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 232Th in core

double fdD238UNumCoreDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 238U in core.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 238U in core

double fdD235UNumCoreDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 235U in core.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 235U in core

double fdD40KNumCrustDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 40K in crust.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 40K in crust

double fdD232ThNumCrustDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 232Th in crust.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 232Th in crust

double fdD238UNumCrustDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 238U in crust.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 238U in crust

double fdD235UNumCrustDt(BODY *body, SYSTEM *system, int *iaBody)

Time derivative of number of 235U in crust.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 235U in crust

radheat.h

Subroutines that control the integration of the radiogenic heating model. Also includes subroutines that switch between the two models.

Author

Rory Barnes (RoryBarnes)

Date

Jun 28 2014

Defines

ENERGY26AL

[J] Decay energy of Aluminum-26

MASS26AL

[kg] Mass of a 26Al atom

HALFLIFE26AL

[s] Half-life of 26Al

EMASSMAN26AL

[kg] Default mantle mass of 26Al

ENUMMAN26AL

[num] Default mantle number of 26Al atoms \

EPOWERMAN26AL

[W] Default mantle power from 26Al if all 26Mg from 26Al \ decay

EMASSCORE26AL

[kg] Default core mass of 26Al

ENUMCORE26AL

[num] Default core number of 26Al atoms

EPOWERCORE26AL

[W] Default core power from 26Al if all 26Mg \ from 26Al decay

ENERGY40K

[J] Decay energy of Potassium-40

MASS40K

[kg] Mass of a 40K atom

HALFLIFE40K

[s] Half-life of 40K

EMASSMAN40K

[kg] Default mantle mass of 40K

ENUMMAN40K

[num] Default mantle number of 40K atoms \

EPOWERMAN40K

[W] Default mantle power from 40K decay \

EMASSCORE40K

[kg] Default core mass of 40K

ENUMCORE40K

[num] Default core number of 40K atoms

EPOWERCORE40K

[W] Default core power from 40K decay \

EMASSCRUST40K

[kg] Default crust mass of 40K

ENUMCRUST40K

[num] Default crust number of 40K atoms \

EPOWERCRUST40K

[W] Default crust power from 40K decay

ENERGY232TH

[J] Decay energy of 232Th

MASS232TH

[kg] Mass of a 232Th atom

HALFLIFE232TH

[s] Half-life of 232Th

EMASSMAN232TH

[kg] Default mantle mass of 232Th

ENUMMAN232TH

[num] Default mantle number of 232Th atoms

EPOWERMAN232TH

[W] Default mantle power from 232Th decay

EMASSCORE232TH

[kg] Default core mass of 232Th

ENUMCORE232TH

[num] Default core number of 232Th atoms

EPOWERCORE232TH

[W] Default core power from 232Th decay

EMASSCRUST232TH

[kg] Default crust mass of 232Th

ENUMCRUST232TH

[num] Default crust number of 232Th atoms

EPOWERCRUST232TH

[W] Default crust power from 232Th decay

ENERGY238U

[J] Decay energy of 238U

MASS238U

[kg] Mass of a 238U atom

HALFLIFE238U

[s] Half-life of 238U

EMASSMAN238U

[kg] Default mantle mass of 238U

ENUMMAN238U

[num] Default mantle number of 238U atoms

EPOWERMAN238U

[W] Default mantle power from 238U decay

EMASSCORE238U

[kg] Default core mass of 238U

ENUMCORE238U

[num] Default core number of 238U atoms \

EPOWERCORE238U

[W] Default core power from 238U decay

EMASSCRUST238U

[kg] Default crust mass of 238U

ENUMCRUST238U

[num] Default crust number of 238U atoms

EPOWERCRUST238U

[W] Default crust power from 238U decay

HALFLIFE235U

[J] Decay energy of 235U

MASS235U

[kg] Mass of a 235U atom

ENERGY235U

[s] Half-life of 235U

EMASSMAN235U

[kg] Default mantle mass of 235U

ENUMMAN235U

[num] Default mantle number of 235U atoms

EPOWERMAN235U

[W] Default mantle power from 235U decay

EMASSCORE235U

[kg] Default core mass of 235U

ENUMCORE235U

[num] Default core number of 235U atoms \

EPOWERCORE235U

[W] Default core power from 235U decay

EMASSCRUST235U

[kg] Default crust mass of 235U

ENUMCRUST235U

[num] Default crust number of 235U atoms

EPOWERCRUST235U

[W] Default crust power from 235U decay

EPOWERCRUSTTOTAL

[W] Earth’s modern crustal radiogenic power, 7 TW (Jaupart et al \ 2007)

ECRUSTRADPOWDEN

[W/kg] Earth’s modern crustal heat \ production density

OPTSTARTRADHEAT
OPTENDRADHEAT
OPT_26ALMASSMAN
OPT_26ALMASSCORE
OPT_26ALNUMMAN
OPT_26ALNUMCORE
OPT_26ALPOWERMAN
OPT_26ALPOWERCORE
OPT_40KMASSMAN
OPT_40KMASSCORE
OPT_40KNUMMAN
OPT_40KNUMCORE
OPT_40KPOWERMAN
OPT_40KPOWERCORE
OPT_40KMASSCRUST
OPT_40KNUMCRUST
OPT_40KPOWERCRUST
OPT_87RBMASS
OPT_87RBNUM
OPT_87RBPOWER
OPT_232THMASSMAN
OPT_232THMASSCORE
OPT_232THNUMMAN
OPT_232THNUMCORE
OPT_232THPOWERMAN
OPT_232THPOWERCORE
OPT_232THMASSCRUST
OPT_232THNUMCRUST
OPT_232THPOWERCRUST
OPT_235UMASSMAN
OPT_235UMASSCORE
OPT_235UNUMMAN
OPT_235UNUMCORE
OPT_235UPOWERMAN
OPT_235UPOWERCORE
OPT_235UMASSCRUST
OPT_235UNUMCRUST
OPT_235UPOWERCRUST
OPT_238UMASSMAN
OPT_238UMASSCORE
OPT_238UNUMMAN
OPT_238UNUMCORE
OPT_238UPOWERMAN
OPT_238UPOWERCORE
OPT_238UMASSCRUST
OPT_238UNUMCRUST
OPT_238UPOWERCRUST
OPT_HALT40KPOWER
OPT_HALTMIN87RBPOWER
OPT_HALT232THPOWER
OPT_HALT238UPOWER
OPT_HALT235UPOWER
OPT_HALTRADPOWER
RADHEATHALTSYSEND
RADHEATHALTBODYEND
OUTSTARTRADHEAT
OUTENDRADHEAT
OUT_26ALPOWERMAN
OUT_26ALPOWERCORE
OUT_26ALENFLUX
OUT_26ALDPOWERDT
OUT_26ALDNUMDT
OUT_26ALPOWERTIME
OUT_26ALMASSMAN
OUT_26ALMASSCORE
OUT_26ALNUMMAN
OUT_26ALNUMCORE
OUT_26ALTIME
OUT_26ALPOWERTOT
OUT_40KPOWERMAN
OUT_40KPOWERCORE
OUT_40KENFLUX
OUT_40KDPOWERDT
OUT_40KDNUMDT
OUT_40KPOWERTIME
OUT_40KMASSMAN
OUT_40KMASSCORE
OUT_40KNUMMAN
OUT_40KNUMCORE
OUT_40KTIME
OUT_40KPOWERCRUST
OUT_40KMASSCRUST
OUT_40KNUMCRUST
OUT_40KPOWERTOT
OUT_232THPOWERMAN
OUT_232THPOWERCORE
OUT_232THENFLUX
OUT_232THPOWERDT
OUT_232THDNUMDT
OUT_232THPOWERTIME
OUT_232THMASSMAN
OUT_232THMASSCORE
OUT_232THNUMMAN
OUT_232THNUMCORE
OUT_232THTIME
OUT_232THPOWERCRUST
OUT_232THMASSCRUST
OUT_232THNUMCRUST
OUT_232THPOWERTOT
OUT_238UPOWERMAN
OUT_238UPOWERCORE
OUT_238UENFLUX
OUT_D238UPOWERDT
OUT_238UDNUMDT
OUT_238UPOWERTIME
OUT_238UMASSMAN
OUT_238UMASSCORE
OUT_238UNUMMAN
OUT_238UNUMCORE
OUT_238UTIME
OUT_238UPOWERCRUST
OUT_238UMASSCRUST
OUT_238UNUMCRUST
OUT_238UPOWERTOT
OUT_235UPOWERMAN
OUT_235UPOWERCORE
OUT_235UENFLUX
OUT_D235UPOWERDT
OUT_235UDNUMDT
OUT_235UPOWERTIME
OUT_235UMASSMAN
OUT_235UMASSCORE
OUT_235UNUMMAN
OUT_235UNUMCORE
OUT_235UTIME
OUT_235UPOWERCRUST
OUT_235UMASSCRUST
OUT_235UNUMCRUST
OUT_235UPOWERTOT
OUT_RADPOWERMAN
OUT_RADPOWERCORE
OUT_RADPOWERCRUST
OUT_RADPOWERTOTAL
OUT_SURFENFLUXRADTOTAL

Functions

void fvInitializeControlRadheat(CONTROL*, int)
void fvInitializeBodyRadheat(BODY*, CONTROL*, UPDATE*, int, int)
void fvInitializeUpdateTmpBodyEqtide(BODY*, CONTROL*, UPDATE*, int)
void fvAddModuleRadheat(CONTROL*, MODULE*, int, int)

Add radheat module to module struct.

Parameters:
  • module – Module struct

  • iModule – Index of module

  • iBody – Index of body

void fvBodyCopyRadheat(BODY*, BODY*, int, int, int)

Copy body elements to dest

Parameters:
  • dest – The destination body

  • src – The body source

  • iNumBodies – Number of bodies

  • iBody – Index of body to copy

void fvHelpOptionsRadheat(OPTIONS*)
void fvRead40KPowerMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 40K power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KMassMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 40K mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KNumMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 40K number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlPowerMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 26Al power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlMassMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 26Al mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlNumMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 26Al number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThPowerMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 232Th power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThMassMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 232Th mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThNumMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 232Th number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UPowerMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 238U power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UMassMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 238U mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UNumMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 238U number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UPowerMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 235U power in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UMassMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 235U mass in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UNumMan(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 235U number in mantle

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlPowerCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 26Al power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlMassCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 26Al mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead26AlNumCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 26Al number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KPowerCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 40K power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KMassCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 40K mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KNumCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 40K number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThPowerCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 232Th power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThMassCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 232Th mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThNumCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 232Th number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UPowerCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 238U power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UMassCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 238U mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UNumCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 238U number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UPowerCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 235U power in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UMassCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 235U mass in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UNumCore(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 235U number in core

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KPowerCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 40K power in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KMassCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 40K mass in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead40KNumCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 40K number in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThPowerCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 232Th power in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThMassCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 232Th mass in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead232ThNumCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 232Th number in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UPowerCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 238U power in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UMassCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 238U mass in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead238UNumCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 238U number in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UPowerCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 235U power in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UMassCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 235U mass in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvRead235UNumCrust(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)

Read initial 235U number in crust

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • iFile – Index of file

void fvInitializeOptionsRadheat(OPTIONS*, fnReadOption[])

Initialize input options to default values

Parameters:
  • options – Options struct

  • Function – to read in options

void fvReadOptionsRadheat(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, fnReadOption[], int)

Read input option

Parameters:
  • body – Body struct

  • control – Control struct

  • files – Files struct

  • options – Options struct

  • system – System struct

  • Function – to read option

  • iBody – Index of body

int fbHaltMin40KPower(BODY*, EVOLVE*, HALT*, IO*, UPDATE*, fnUpdateVariable***, int)

Halt if minimum power reached.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • halt – Halt struct

  • ioIO struct

  • update – Update struct

  • iBody – Index of body

int fbHaltMin232ThPower(BODY*, EVOLVE*, HALT*, IO*, UPDATE*, fnUpdateVariable***, int)

Halt if minimum power reached.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • halt – Halt struct

  • ioIO struct

  • update – Update struct

  • iBody – Index of body

int fbHaltMin238UPower(BODY*, EVOLVE*, HALT*, IO*, UPDATE*, fnUpdateVariable***, int)

Halt if minimum power reached.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • halt – Halt struct

  • ioIO struct

  • update – Update struct

  • iBody – Index of body

void fvNotMassAndNum(OPTIONS*, int, int, int)

Verify that mass and number are not both input

Parameters:
  • options – Options struct

  • iMass – Index of mass

  • iNum – Index of number

  • iBody – Index of body

void fvAssign26AlNum(BODY*, OPTIONS*, double, int)

Assign 26Al number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvAssign40KNum(BODY*, OPTIONS*, double, int)

Assign 40K number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvAssign232ThNum(BODY*, OPTIONS*, double, int)

Assign 232Th number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvAssign238UNum(BODY*, OPTIONS*, double, int)

Assign 238U number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvAssign235UNum(BODY*, OPTIONS*, double, int)

Assign 235U number to body

Parameters:
  • body – Body struct

  • options – Options struct

  • Age

  • iBody – Index of body

void fvVerify26Al(BODY*, OPTIONS*, SYSTEM*, UPDATE*, double, int)

Verify 26Al is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvVerify40K(BODY*, OPTIONS*, SYSTEM*, UPDATE*, double, int)

Verify 40K is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvVerify232Th(BODY*, OPTIONS*, SYSTEM*, UPDATE*, double, int)

Verify 232Th is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvVerify238U(BODY*, OPTIONS*, SYSTEM*, UPDATE*, double, int)

Verify 238U is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvVerify235U(BODY*, OPTIONS*, SYSTEM*, UPDATE*, double, int)

Verify 235U is initialized

Parameters:
  • body – Body struct

  • options – Options struct

  • system – System struct

  • update – Update struct

  • Age

  • Function – to update variable

  • iBody – Index of body

void fvPropsAuxRadheat(BODY*, EVOLVE*, IO*, UPDATE*, int)

Define auxiliary radheat body properties.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • update – Update struct

  • iBody – Index of body

void fvForceBehaviorRadheat(BODY*, MODULE*, EVOLVE*, IO*, SYSTEM*, UPDATE*, fnUpdateVariable***, int, int)

Force behavior in radheat: Set number of radiogenic elements to zero if < 0.5.

Parameters:
  • body – Body struct

  • evolve – Evolve struct

  • ioIO struct

  • system – System struct

  • update – Update struct

  • iBody – Index of body

void fvVerifyRadheat(BODY*, CONTROL*, FILES*, OPTIONS*, OUTPUT*, SYSTEM*, UPDATE*, int, int)

Verify radheat is initialized: that both man and core initialize and not both mass and number specified.

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 fvAssignRadheatDerivatives(BODY*, EVOLVE*, UPDATE*, fnUpdateVariable***, int)
void fvNullRadheatDerivatives(BODY*, EVOLVE*, UPDATE*, fnUpdateVariable***, int)
void fvInitializeUpdateRadheat(BODY*, UPDATE*, int)

Initialize or update iNumVars and iNumSpecies in update struct.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

void fvFinalizeUpdate26AlNumManRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate40KNumManRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate232ThNumManRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate238UNumManRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate235UNumManRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate26AlNumCoreRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate40KNumCoreRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate232ThNumCoreRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate238UNumCoreRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate235UNumCoreRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate26AlNumCrustRadheat(BODY*, UPDATE*, int*, int, int, int)
void fvFinalizeUpdate40KNumCrustRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate232ThNumCrustRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate238UNumCrustRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvFinalizeUpdate235UNumCrustRadheat(BODY*, UPDATE*, int*, int, int, int)

Finalize update: update struct for this variable and equation gets module index and equation number.

Parameters:
  • body – Body struct

  • update – Update struct

  • iEqn – Index of equation

  • iVar – Index of variable

  • iBody – Index of body

void fvReadHaltMin40KPower(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
void fvReadHaltMin232ThPower(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
void fvReadHaltMin238UPower(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
void fvReadHaltMin235UPower(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
void fvReadHaltMinRadPower(BODY*, CONTROL*, FILES*, OPTIONS*, SYSTEM*, int)
void fvCountHaltsRadheat(HALT*, int*)

Count halts if minimum power reached.

Parameters:
  • halt – Halt struct

  • iNumHalts – Index of number of halts

void fvVerifyHaltRadheat(BODY*, CONTROL*, OPTIONS*, int, int*)

Add link to halt function in control struct.

Parameters:
  • body – Body struct

  • control – Control struct

  • options – Options struct

  • iHalt – Index of halt

  • iBody – Index of body

void fvWrite26AlPowerMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 26Al mantle power.

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 – Units

void fvWrite26AlEnFlux(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 26Al surface heat flux.

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 – Units

void fvWriteD26AlPowerDt(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 26Al DPower/Dt.

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 – Units

void fvWrite26AlTimescale(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 26Al decay time?

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 – Units

void fvWrite26AlMassMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 26Al mantle mass.

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 – Units

void fvWrite26AlNumMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 26Al mantle number.

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 – Units

void fvWrite26AlPowerCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 26Al core power.

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 – Units

void fvWrite26AlMassCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 26Al core mass.

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 – Units

void fvWrite26AlNumCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 26Al core number.

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 – Units

void fvWrite40KPowerMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K mantle power.

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 – Units

void fvWrite40KEnFlux(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K surface heat flux.

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 – Units

void fvWriteD40KPowerDt(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K DPower/Dt.

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 – Units

void fvWrite40KTimescale(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K decay time?

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 – Units

void fvWrite40KMassMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K mantle mass.

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 – Units

void fvWrite40KNumMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K mantle number.

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 – Units

void fvWrite40KPowerCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K core power.

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 – Units

void fvWrite40KMassCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K core mass.

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 – Units

void fvWrite40KNumCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K core number.

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 – Units

void fvWrite40KPowerCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K crust power.

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 – Units

void fvWrite40KMassCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K crust mass.

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 – Units

void fvWrite40KNumCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 40K crust number.

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 – Units

void fvWrite232ThPowerMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th mantle power.

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 – Units

void fvWrite232ThEnFlux(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th surface heat flux.

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 – Units

void fvWriteD232ThPowerDt(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
void fvWrite232ThTimescale(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th decay time?

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 – Units

void fvWrite232ThMassMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th mantle mass.

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 – Units

void fvWrite232ThNumMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th mantle number.

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 – Units

void fvWrite232ThPowerCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th core power.

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 – Units

void fvWrite232ThMassCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th core mass.

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 – Units

void fvWrite232ThNumCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th core number.

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 – Units

void fvWrite232ThPowerCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th crust power.

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 – Units

void fvWrite232ThMassCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th crust mass.

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 – Units

void fvWrite232ThNumCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 232Th crust number.

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 – Units

void fvWrite238UPowerMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U mantle power.

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 – Units

void fvWrite238UEnFlux(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U surface heat flux.

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 – Units

void fvWriteD238UPowerDt(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
void fvWrite238UTimescale(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U decay time?

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 – Units

void fvWrite238UMassMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U mantle mass.

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 – Units

void fvWrite238UNumMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U mantle number.

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 – Units

void fvWrite238UPowerCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U core power.

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 – Units

void fvWrite238UMassCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U core mass.

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 – Units

void fvWrite238UNumCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U core number.

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 – Units

void fvWrite238UPowerCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U crust power.

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 – Units

void fvWrite238UMassCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U crust mass.

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 – Units

void fvWrite238UNumCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 238U crust number.

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 – Units

void fvWrite235UPowerMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U mantle power.

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 – Units

void fvWrite235UEnFlux(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U surface heat flux.

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 – Units

void fvWriteD235UPowerDt(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
void fvWrite235UTimescale(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U decay time?

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 – Units

void fvWrite235UMassMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U mantle mass.

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 – Units

void fvWrite235UNumMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U mantle number.

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 – Units

void fvWrite235UPowerCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U core power.

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 – Units

void fvWrite235UMassCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U core mass.

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 – Units

void fvWrite235UNumCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U core number.

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 – Units

void fvWrite235UPowerCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U crust power.

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 – Units

void fvWrite235UMassCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U crust mass.

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 – Units

void fvWrite235UNumCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write radiogenic 235U crust number.

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 – Units

void fvWriteRadPowerMan(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write total radiogenic power in mantle.

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 – Units

void fvWriteRadPowerCore(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write total radiogenic power in core.

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 – Units

void fvWriteRadPowerCrust(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write total radiogenic power in crust.

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 – Units

void fvWriteRadPowerTotal(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)

Write total radiogenic power.

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 – Units

void fvWriteRadEnFlux(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UNITS*, UPDATE*, int, double*, char**)
void fvHelpOutputRadheat(OUTPUT*)
void fvInitializeOutputRadheat(OUTPUT*, fnWriteOutput[])

Initialize output for each variable: name, description, default units, and write function.

Parameters:
  • output – Output struct

  • fnWrite – fnWriteOutput

void fvLogOptionsRadheat(CONTROL*, FILE*)

Print radheat options to log.

Parameters:
  • control – Control struct

  • fp – File file pointer

void fvLogRadheat(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UPDATE*, fnWriteOutput[], FILE*)

Print radheat parameters to log.

Parameters:
  • body – Body struct

  • control – Control struct

  • output – Output struct

  • system – System struct

  • update – Update struct

  • fnWrite – fnWriteOutput function to write output

  • fp – File file pointer

void fvLogBodyRadheat(BODY*, CONTROL*, OUTPUT*, SYSTEM*, UPDATE*, fnWriteOutput[], FILE*, int)

Print radheat parameters of body to log.

Parameters:
  • body – Body struct

  • control – Control struct

  • output – Output struct

  • system – System struct

  • update – Update struct

  • fnWrite – fnWriteOutput function to write output

  • fp – File file pointer

  • iBody – Index of body

double fd26AlConstant(double, double)

Radiogenic heat production coefficient for 26Al.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 26Al

double fd40KConstant(double, double)

Radiogenic heat production coefficient for 40K.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 40K

double fd232ThConstant(double, double)

Radiogenic heat production coefficient for 232Th.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 232Th

double fd238UConstant(double, double)

Radiogenic heat production coefficient for 238U.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 238U

double fd235UConstant(double, double)

Radiogenic heat production coefficient for 235U.

Parameters:
  • dNum – Number of species

  • dAge – Age

Returns:

Radiogenic heat production coefficient for 235U

double fd26AlPowerMan(UPDATE*, int)

Mantle radiogenic power for 26Al.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 26Al

double fd40KPowerMan(UPDATE*, int)

Mantle radiogenic power for 40K.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 40K

double fd232ThPowerMan(UPDATE*, int)

Mantle radiogenic power for 232Th.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 232Th

double fd238UPowerMan(UPDATE*, int)

Mantle radiogenic power for 238U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 238U

double fd235UPowerMan(UPDATE*, int)

Mantle radiogenic power for 235U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Mantle radiogenic power for 235U

double fdD26AlNumManDt(BODY*, SYSTEM*, int*)

Time derivative of number of 26Al in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 26Al in mantle

double fdD40KNumManDt(BODY*, SYSTEM*, int*)

Time derivative of number of 40K in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 40K in mantle

double fdD232ThNumManDt(BODY*, SYSTEM*, int*)

Time derivative of number of 232Th in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 232Th in mantle

double fdD238UNumManDt(BODY*, SYSTEM*, int*)

Time derivative of number of 238U in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 238U in mantle

double fdD235UNumManDt(BODY*, SYSTEM*, int*)

Time derivative of number of 235U in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 235U in mantle

double fd26AlPowerCore(UPDATE*, int)

Core radiogenic power for 26Al.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 26Al

double fd40KPowerCore(UPDATE*, int)

Core radiogenic power for 40K.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 40K

double fd232ThPowerCore(UPDATE*, int)

Core radiogenic power for 232Th.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 232Th

double fd238UPowerCore(UPDATE*, int)

Core radiogenic power for 238U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 238U

double fd235UPowerCore(UPDATE*, int)

Core radiogenic power for 235U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Core radiogenic power for 235U

double fd40KPowerCrust(UPDATE*, int)

Crust radiogenic power for 40K.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Crust radiogenic power for 40K

double fd232ThPowerCrust(UPDATE*, int)

Crust radiogenic power for 232Th.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Crust radiogenic power for 232Th

double fd238UPowerCrust(UPDATE*, int)

Crust radiogenic power for 238U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Crust radiogenic power for 238U

double fd235UPowerCrust(UPDATE*, int)

Crust radiogenic power for 235U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Crust radiogenic power for 235U

double fd26AlPower(UPDATE*, int)

Total body (mantle+core) radiogenic power for 26Al.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 26Al

double fd40KPower(UPDATE*, int)

Total body (mantle+core+crust) radiogenic power for 40K.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 40K

double fd232ThPower(UPDATE*, int)

Total body (mantle+core+crust) radiogenic power for 232Th.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 232Th

double fd235UPower(UPDATE*, int)

Total body (mantle+core+crust) radiogenic power for 235U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 235U

double fd238UPower(UPDATE*, int)

Total body (mantle+core+crust) radiogenic power for 238U.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total body radiogenic power for 238U

double fdRadPowerTotal(BODY*, int)

Total body radiogenic power.

Parameters:
  • body – Body struct

  • iBody – Index of body

Returns:

Total body radiogenic power

double fdRadPowerMan(UPDATE*, int)

Total mantle radiogenic power.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total mantle radiogenic power

double fdRadPowerCore(UPDATE*, int)

Total core radiogenic power.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total core radiogenic power

double fdRadPowerCrust(UPDATE*, int)

Total crust radiogenic power.

Parameters:
  • update – Update struct

  • iBody – Index of body

Returns:

Total crust radiogenic power

double fd26AlEnFlux(BODY*, UPDATE*, int)

Surface radiogenic energy (heat) flux for 26Al.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 26Al

double fd40KEnFlux(BODY*, UPDATE*, int)

Surface radiogenic energy (heat) flux for 40K.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 40K

double fd232ThEnFlux(BODY*, UPDATE*, int)

Surface radiogenic energy (heat) flux for 232Th.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 232Th

double fd235UEnFlux(BODY*, UPDATE*, int)

Surface radiogenic energy (heat) flux for 235U.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 235U

double fd238UEnFlux(BODY*, UPDATE*, int)

Surface radiogenic energy (heat) flux for 238U.

Parameters:
  • body – Body struct

  • update – Update struct

  • iBody – Index of body

Returns:

Surface radiogenic energy (heat) flux for 238U

double fdSurfEnFluxRadTotal(BODY*, SYSTEM*, UPDATE*, int, int)

Total surface radiogenic energy (heat) flux.

Parameters:
  • body – Body struct

  • system – System struct

  • update – Update struct

  • iBody – Index of body

Returns:

Total surface radiogenic energy (heat) flux

double fdD26AlNumCoreDt(BODY*, SYSTEM*, int*)

Time derivative of number of 26Al in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 26Al in mantle

double fdD40KNumCoreDt(BODY*, SYSTEM*, int*)

Time derivative of number of 40K in mantle.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 40K in mantle

double fdD232ThNumCoreDt(BODY*, SYSTEM*, int*)

Time derivative of number of 232Th in core.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 232Th in core

double fdD238UNumCoreDt(BODY*, SYSTEM*, int*)

Time derivative of number of 238U in core.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 238U in core

double fdD235UNumCoreDt(BODY*, SYSTEM*, int*)

Time derivative of number of 235U in core.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 235U in core

double fdD40KNumCrustDt(BODY*, SYSTEM*, int*)

Time derivative of number of 40K in crust.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 40K in crust

double fdD232ThNumCrustDt(BODY*, SYSTEM*, int*)

Time derivative of number of 232Th in crust.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 232Th in crust

double fdD238UNumCrustDt(BODY*, SYSTEM*, int*)

Time derivative of number of 238U in crust.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 238U in crust

double fdD235UNumCrustDt(BODY*, SYSTEM*, int*)

Time derivative of number of 235U in crust.

Parameters:
  • body – Body struct

  • system – System struct

  • iaBody – Index of abody

Returns:

Time derivative of number of 235U in crust