module

Contents

module.c

Functions to manipulate the MODULE struct.

Author

Rory Barnes (RoryBarnes)

Date

Jan 19 2015

Functions

void InitializeControlNULL(CONTROL *control, int iBody)
void InitializeBodyNULL(BODY *body, CONTROL *control, UPDATE *update, int iBody, int iModule)
void InitializeModuleNULL(CONTROL *control, MODULE *module)
void InitializeUpdateTmpBodyNULL(BODY *body, CONTROL *control, UPDATE *update, int iBody)
void FinalizeUpdateNULL(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo)
void PropsAuxNULL(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iFoo)
double fdReturnOutputZero(BODY *body, SYSTEM *system, UPDATE *update, int iBody, int iBody1)
double fndUpdateFunctionTiny(BODY *body, SYSTEM *system, int *iaBody)
void SetDerivTiny(fnUpdateVariable ***fnUpdate, int iBody, int iVar, int iEqn)
void InitializeModule(BODY *body, CONTROL *control, MODULE *module)
void FinalizeModule(BODY *body, CONTROL *control, MODULE *module, int iBody)
void AddModulesMulti(BODY *body, CONTROL *control, MODULE *module, int iBody, int *iModule)
void AddModules(BODY *body, CONTROL *control, MODULE *module)
void ReadModules(BODY *body, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iFile)
void PrintModuleList(FILE *file, int iBitSum, int bPadString)
void InitializeBodyModules(BODY **body, int iNumBodies)
void VerifyModuleMultiSpiNBodyAtmEsc(BODY *body, UPDATE *update, CONTROL *control, FILES *files, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiDistOrbDistRot(BODY *body, UPDATE *update, CONTROL *control, FILES *files, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiEqtideDistRot(BODY *body, UPDATE *update, CONTROL *control, FILES *files, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiRadheatThermint(BODY *body, UPDATE *update, CONTROL *control, FILES *files, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiEqtideThermint(BODY *body, UPDATE *update, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiEqtideDistOrb(BODY *body, UPDATE *update, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void AssignEqtideStellarDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
void NullEqtideStellarDerivatives(BODY *body, EVOLVE *evolve, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody)
void VerifyModuleMultiEqtideStellar(BODY *body, UPDATE *update, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiAtmescEqtide(BODY *body, UPDATE *update, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiAtmescEqtideThermint(BODY *body, UPDATE *update, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiBinaryStellar(BODY *body, UPDATE *update, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiBinaryEqtide(BODY *body, UPDATE *update, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiSpiNBodyDistOrb(BODY *body, UPDATE *update, CONTROL *control, FILES *files, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleMultiMagmOcAtmEsc(BODY *body, UPDATE *update, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody, int *iModuleProps, int *iModuleForce)
void VerifyModuleCompatability(BODY *body, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody)

Verify that selected modules are compatable

void VerifyModuleMulti(BODY *body, UPDATE *update, CONTROL *control, FILES *files, MODULE *module, OPTIONS *options, int iBody, fnUpdateVariable ****fnUpdate)
void PropsAuxSpiNbodyEqtide(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
void PropsAuxSpiNBodyDistOrb(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
void PropsAuxAtmescEqtide(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
void PropsAuxEqtideThermint(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)

Calculate auxiliary properties if EqTide and ThermInt are called. At present this funciton only needs to calculate Im(k_2), possibly including the effects of an ocean and envelope.

void PropsAuxRadheatThermint(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
void PropsAuxEqtideDistorb(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
void PropsAuxEqtideDistRot(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
void PropsAuxEqtideStellar(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
void PropsAuxFlareStellar(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
void PropsAuxMagmOcAtmEsc(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, int iBody)
void ForceBehaviorSpiNBodyDistOrb(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, int iFoo, int iBar)
void ForceBehaviorSpiNBodyAtmEsc(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody, int iModule)
void ForceBehaviorEqtideDistOrb(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody, int iModule)
void ForceBehaviorEqtideAtmesc(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody, int iModule)
void ForceBehaviorAtmescEqtideThermint(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, SYSTEM *system, UPDATE *update, fnUpdateVariable ***fnUpdate, int iBody, int iModule)
void InitializeUpdateEqStSemi(BODY *body, UPDATE *update, int iBody)

Eqtide-Stellar semi-major axis derivative set-up

void FinalizeUpdateMultiEqStSemi(BODY *body, UPDATE *update, int *iEqn, int iVar, int iBody, int iFoo, fnUpdateVariable ****fnUpdate)

Finalize update (for malloc-ing) for Eq-st semi-major axis derivative

void InitializeUpdateMulti(BODY *body, CONTROL *control, MODULE *module, UPDATE *update, fnUpdateVariable ****fnUpdate, int iBody)

Initialize adding mutli-module equations to the matrix.

void FinalizeUpdateMulti(BODY *body, CONTROL *control, MODULE *module, UPDATE *update, fnUpdateVariable ****fnUpdate, int *iVar, int iBody, int iFoo)

Finalize adding mutli-module equations to the matrix.

module.h

Functions to manipulate the MODULE struct.

Author

Rory Barnes (RoryBarnes)

Date

Jan 19 2015