Revision 4185a5162d656d0bdb87a2599198e29c516d6470 authored by Harshitha on 10 May 2014, 01:33:10 UTC, committed by Harshitha on 25 July 2014, 19:22:59 UTC
commit 6a10d6aa7d83ecb6323aa033ef82d69fec0392ff
Author: Harshitha <gplkrsh2@illinois.edu>
Date:   Fri May 2 14:17:23 2014 -0500

    Call TPWorkDone before finishWalk

    Change-Id: Ib118d156cb01f0b93a55176a98d8164c26933290

commit 3f599bb98488be2a1c73d28e799ba196a927d586
Author: Harshitha <gplkrsh2@illinois.edu>
Date:   Mon Apr 28 20:49:58 2014 -0500

    Intra node load balancing using CkLoop

commit 760de0f3b7d294712e11cdec74b30311a7bf540e
Author: Harshitha <gplkrsh2@illinois.edu>
Date:   Mon Apr 28 19:48:42 2014 -0500

    Intra node load balancing using CkLoop

    Change-Id: Ib21eb0a0d2a37e765ee3064ce420b1b310621185

Change-Id: Id1b94c1aef9257161f65ccddd27b1c756dc9d323
1 parent b462e34
Raw File
parameters.h
#ifndef PARAMETERS_HINCLUDED
#define PARAMETERS_HINCLUDED

#include "cosmo.h"
#include "cooling.h"
#include "starform.h"
#include "feedback.h"

/** @brief Hold parameters of the run.
 */
typedef struct parameters {
    /*
    ** Parameters for ParallelGravity.
    */
    int bDoDensity;
    int bDoGravity;
    double dSoft;
    int bPhysicalSoft;		/* Use physical softening in comoving coords */
    int bSoftMaxMul;		/* dSoftMax is a multiplier, not an
				   absolute limit */
    double dSoftMax;
    int nSteps;
    int iStartStep;
    int iWallRunTime;
    double dDelta;
    int bEpsAccStep;
    int bGravStep;
    double dEta;
    int nTruncateRung;
    int iMaxRung;
    int bCannonical;
    int bKDK;
    int bPeriodic;
    int nReplicas;
    double fPeriod;
    Vector3D<double> vPeriod;
    int bEwald;
    double dEwCut;
    double dEwhCut;
    double dTheta;
    double dTheta2;
    double daSwitchTheta;
    int iOrder;
    int bConcurrentSph;
    double dFracNoDomainDecomp;
#ifdef PUSH_GRAVITY
    double dFracPushParticles;
#endif
    CSM csm;			/* cosmo parameters */
    double dRedTo;
    /*
     * GrowMass parameters
     */
    int bDynGrowMass;
    int nGrowMass;
    double dGrowDeltaM;
    double dGrowStartT;
    double dGrowEndT;
    /*
     * Gas parameters
     * Units: set by dMsolUnit and dKpcUnit
     */
    int bDoGas;
    int bGeometric;
    int bBulkViscosity;
    int bGasAdiabatic;
    int bGasIsothermal;
    int bGasCooling;
    int nSmooth;
    COOLPARAM CoolParam;
    double dhMinOverSoft;
    double dMsolUnit;
    double dKpcUnit;
    double ddHonHLimit;
    double dGasConst;
    double dConstAlpha;
    double dConstBeta;
    double dConstGamma;
    double dMeanMolWeight;
    double dErgPerGmUnit;
    double dGmPerCcUnit;
    double dSecUnit;
    double dComovingGmPerCcUnit;
    int bSphStep;
    int bFastGas;
    double dFracFastGas;
    int bViscosityLimiter;
    int iViscosityLimiter;
    int bViscosityLimitdt;
    double dEtaCourant;
    double dEtauDot;
    int bStarForm;
    Stfm *stfm;
    int bFeedback;
    Fdbk *feedback;
    int iRandomSeed;
    int bStandard;
    int bDoublePos;
    int bDoubleVel;
    int bOverwrite;
    int bParaRead;
    int bParaWrite;
    int nIOProcessor;
    char achInFile[256];
    char achOutName[256];
    int bStaticTest;
    int bBenchmark;
    int iBinaryOut;
    int iOutInterval;
    int iCheckInterval;
    int iLogInterval;
    int bDoIOrderOutput;
    int bDoSoftOutput;
    int bDohOutput;
    int bDoCSound;
    int cacheLineDepth;
    double dExtraStore;
    double dMaxBalance;
    double dDumpFrameStep;
    double dDumpFrameTime;
    int iDirector;
    int bLiveViz;
    int bUseCkLoopPar;
    } Parameters;

inline void operator|(PUP::er &p, Parameters &param) {
    p|param.bDoDensity;
    p|param.bDoGravity;
    p|param.dSoft;
    p|param.bPhysicalSoft;
    p|param.bSoftMaxMul;
    p|param.dSoftMax;
    p|param.nSteps;
    p|param.iStartStep;
    p|param.iWallRunTime;
    p|param.dDelta;
    p|param.bEpsAccStep;
    p|param.bGravStep;
    p|param.dEta;
    p|param.nTruncateRung;
    p|param.iMaxRung;
    p|param.bCannonical;
    p|param.bKDK;
    p|param.bPeriodic;
    p|param.nReplicas;
    p|param.fPeriod;
    p|param.vPeriod;
    p|param.bEwald;
    p|param.dEwCut;
    p|param.dEwhCut;
    p|param.dTheta;
    p|param.dTheta2;
    p|param.daSwitchTheta;
    p|param.iOrder;
    p|param.bConcurrentSph;
    p|param.dFracNoDomainDecomp;
#ifdef PUSH_GRAVITY
    p|param.dFracPushParticles;
#endif
    if(p.isUnpacking())
 	csmInitialize(&param.csm);
    p|*param.csm;
    p|param.dRedTo;
    p|param.bDynGrowMass;
    p|param.nGrowMass;
    p|param.dGrowDeltaM;
    p|param.dGrowStartT;
    p|param.dGrowEndT;
    p|param.bDoGas;
    p|param.bGeometric;
    p|param.bBulkViscosity;
    p|param.bGasAdiabatic;
    p|param.bGasIsothermal;
    p|param.bGasCooling;
    p|param.nSmooth;
    p((char *)&param.CoolParam, sizeof(param.CoolParam));
    p|param.bFastGas;
    p|param.dFracFastGas;
    p|param.bViscosityLimiter;
    p|param.iViscosityLimiter;
    p|param.dhMinOverSoft;
    p|param.dMsolUnit;
    p|param.dKpcUnit;
    p|param.ddHonHLimit;
    p|param.dGasConst;
    p|param.dConstAlpha;
    p|param.dConstBeta;
    p|param.dConstGamma;
    p|param.dMeanMolWeight;
    p|param.dErgPerGmUnit;
    p|param.dGmPerCcUnit;
    p|param.dSecUnit;
    p|param.dComovingGmPerCcUnit;
    p|param.bSphStep;
    p|param.bViscosityLimitdt;
    p|param.dEtaCourant;
    p|param.dEtauDot;
    p|param.bStarForm;
    if(p.isUnpacking())
 	param.stfm = new Stfm();
    p|*param.stfm;
    p|param.bFeedback;
    p|param.feedback;
    p|param.iRandomSeed;
    p|param.bStandard;
    p|param.bDoublePos;
    p|param.bDoubleVel;
    p|param.bOverwrite;
    p|param.bParaRead;
    p|param.bParaWrite;
    p|param.nIOProcessor;
    p(param.achInFile, 256);
    p(param.achOutName, 256);
    p|param.bStaticTest;
    p|param.bBenchmark;
    p|param.iBinaryOut;
    p|param.iOutInterval;
    p|param.iCheckInterval;
    p|param.iLogInterval;
    p|param.bDoIOrderOutput;
    p|param.bDoSoftOutput;
    p|param.bDohOutput;
    p|param.bDoCSound;
    p|param.cacheLineDepth;
    p|param.dExtraStore;
    p|param.dMaxBalance;
    p|param.dDumpFrameStep;
    p|param.dDumpFrameTime;
    p|param.iDirector;
    p|param.bLiveViz;
    p|param.bUseCkLoopPar;
    }

#endif
back to top