Commit 6195e39c authored by name's avatar name
Browse files

added example config file for ips-fastran tool

parent b3f0cda4
Loading
Loading
Loading
Loading
Loading
+455 −0
Original line number Diff line number Diff line
# ======================================================================
# SIMULATION INFO SECTION
# ======================================================================

RUN_ID = fastran
TOKAMAK_ID = FPP
# SHOT_NUMBER =
# TIME_ID =

SIM_NAME = ${RUN_ID}_${SHOT_NUMBER}

OUTPUT_PREFIX =
LOG_FILE = run.log
LOG_LEVEL = DEBUG

INPUT_DIR_SIM = ${PWD}/input
SIM_ROOT = ${PWD}/SCAN

RUN_COMMENT = Template
TAG =

SIMULATION_MODE = NORMAL
RESTART_TIME =
RESTART_ROOT = ${SIM_ROOT}

USE_PORTAL = True
PORTAL_URL = http://lb.ipsportal.production.svc.spin.nersc.org

# ======================================================================
# PLASMA STATE SECTION
# ======================================================================

STATE_WORK_DIR = ${SIM_ROOT}/work/plasma_state

CURRENT_STATE = s${SHOT_NUMBER}.${TIME_ID}
CURRENT_EQDSK = g${SHOT_NUMBER}.${TIME_ID}
CURRENT_INSTATE = i${SHOT_NUMBER}.${TIME_ID}
CURRENT_BC = b${SHOT_NUMBER}.${TIME_ID}

STATE_FILES = ${CURRENT_STATE} ${CURRENT_EQDSK} ${CURRENT_INSTATE} ${CURRENT_BC}

# ======================================================================
# PORTS SECTION
# ======================================================================

[PORTS]

#   NAMES = INIT DRIVER EQ0 TR0 BC0 #EQ NB IC HC TR BC
#   PREPROCESS = # EQ0 TR0 BC0
#   POSTPROCESS =

    NAMES = INIT DRIVER EQ0 HCD0 TR0 BC0
    PREPROCESS =
    POSTPROCESS =

    # DRIVER and INIT

    [[DRIVER]]
        IMPLEMENTATION = fastran_driver

    [[INIT]]
        IMPLEMENTATION = fastran_init

    # Physics ports

    [[TR0]]
        IMPLEMENTATION = fastran0

    [[TR]]
        IMPLEMENTATION = fastran

    [[EQ0]]
        IMPLEMENTATION = efit0

    [[EQ]]
        IMPLEMENTATION = efit

    [[EC]]
        IMPLEMENTATION = toray

    [[HC]]
        IMPLEMENTATION = genray_hc

    [[LH]]
        IMPLEMENTATION = genray_lh

    [[IC]]
        IMPLEMENTATION = hcd_model

    [[NB]]
        IMPLEMENTATION = nfreya
#       IMPLEMENTATION = nubeam

    [[HCD0]]
        IMPLEMENTATION = hcd_model

    [[BC0]]
        IMPLEMENTATION = modeleq_constraint
#       IMPLEMENTATION = constraint_current0

    [[BC]]
        IMPLEMENTATION = constraint_current

    [[FEEDBACK]]
        IMPLEMENTATION = constraint_feedback


    [[POST]]
        IMPLEMENTATION = fastran1

    # Monitor ports

    [[MONITOR]]
        IMPLEMENTATION = monitor

# ======================================================================
# COMPONENT CONFIGURATION SECTION
# ======================================================================

[fastran_init]
    CLASS = fastran
    SUB_CLASS = init
    NAME = fastran_init
    MODULE = fastran.driver.fastran_init
    SCRIPT =
    NPROC = 1
    BIN_PATH =
    BIN =
    INPUT_DIR = ${INPUT_DIR_SIM}
    INIT_METHOD = instate
    INSTATE_METHOD = model
    INSTATE = instate
#   INGEQDSK = ingeqdsk
    INPUT_FILES = ${INSTATE} #${INGEQDSK}
    OUTPUT_FILES =
    RESTART_FILES =

[fastran_driver]
    CLASS = fastran
    SUB_CLASS = driver
    NAME = fastran_driver
    MODULE = fastran.driver.fastran_driver
    SCRIPT =
    NPROC = 1
    BIN_PATH =
    BIN =
    INPUT_DIR = ${INPUT_DIR_SIM}
    INPUT_FILES =
    OUTPUT_FILES =
    RESTART_FILES =
    SUMMARY = ${PWD}/summary

[fastran0]
    CLASS = fastran
    SUB_CLASS = tr0
    NAME = fastran
    MODULE = fastran.solver.fastran
    SCRIPT =
    NPROC = 1
    NPROC_KY = 1
    BIN_PATH = ${FASTRAN_BIN_DIR}
    BIN = ${FASTRAN_SERIAL_BIN_NAME}
    INPUT_DIR = ${INPUT_DIR_SIM}
    INFASTRAN = infastran0
    INPUT_FILES = ${INFASTRAN} intglf
    OUTPUT_FILES = fastran.nc inprof inmetric infastran intglf xfastran.log ${CURRENT_INSTATE}
    RESTART_FILES =

    RELAX = 1.0
#   USE_INSTATE = YES

    PS_BACKEND = instate

[fastran]
    CLASS = fastran
    SUB_CLASS = tr
    NAME = fastran
    SCRIPT =
    MODULE = fastran.solver.fastran
    NPROC = 1 # 32
    NPROC_KY = 1 # 8
    BIN_PATH = ${FASTRAN_BIN_DIR}
#   BIN = ${FASTRAN_BIN_NAME}
    BIN = ${FASTRAN_SERIAL_BIN_NAME}
    INPUT_DIR = ${INPUT_DIR_SIM}
    INFASTRAN = infastran
    INPUT_FILES = ${INFASTRAN} intglf
    OUTPUT_FILES = fastran.nc inprof inmetric infastran intglf xfastran.log ${CURRENT_INSTATE}
    RESTART_FILES =

    RELAX = 0.25
    USE_INSTATE = YES

[fastran1]
    CLASS = fastran
    SUB_CLASS = post
    NAME = fastran
    MODULE = fastran.solver.fastran
    SCRIPT =
    NPROC = 32
    NPROC_KY = 8
    BIN_PATH = ${FASTRAN_BIN_DIR}
    BIN = ${FASTRAN_BIN_NAME}
    INFASTRAN = infastran1
    INPUT_DIR = ${INPUT_DIR_SIM}
    INPUT_FILES = ${INFASTRAN} intglf
    OUTPUT_FILES = fastran.nc inprof inmetric infastran intglf xfastran.log ${CURRENT_INSTATE}
    RESTART_FILES =

    RELAX = 1.0
    USE_INSTATE = YES

[efit0]
    CLASS = fastran
    SUB_CLASS = eq0
    NAME = efit
    MODULE = fastran.equilibrium.efit
    SCRIPT =
    NPROC = 1
    BIN_PATH = ${EFIT_BIN_DIR}
    BIN = ${EFIT_BIN_NAME} 129 129
    INPUT_DIR = ${INPUT_DIR_SIM}
    INSTATE = instate
    INPUT_FILES = ${INSTATE}
    OUTPUT_FILES = g*.* a*.* m*.* k*.* efit.log s*.*
    RESTART_FILES =

    INIT_RUN = 1
    INIT_RUN_STEP = 0
    NITER = 10
#   PRESSURE = 'total'
    PRESSURE = 'kinetic'

    TOPOLOGY = DN #LSN USN DN
    SCALE_GS = 1
    R0_scale = 1.7
    B0_scale = 2.0

    SERIAL = 1

    PS_BACKEND = INSTATE

[efit]
    CLASS = fastran
    SUB_CLASS = eq
    NAME = efit
    MODULE = fastran.equilibrium.efit
    SCRIPT =
    NPROC = 1
    BIN_PATH = ${EFIT_BIN_DIR}
    BIN = ${EFIT_BIN_NAME} 129 129
    INPUT_DIR = ${INPUT_DIR_SIM}
    INSTATE = instate
    INPUT_FILES = ${INSTATE}
    OUTPUT_FILES = g*.* a*.* m*.* k*.* efit.log s*.*
    RESTART_FILES =

    INIT_RUN = 0
    INIT_RUN_STEP = 0
    NITER = 10
#   PRESSURE = 'total'
    PRESSURE = 'kinetic'

    TOPOLOGY = DN #LSN USN DN
    SCALE_GS = 1
    R0_scale = 1.7
    B0_scale = 2.0

    SERIAL = 1

[nubeam]
    CLASS = fastran
    SUB_CLASS = nb
    NAME = nubeam
    MODULE = fastran.heating.nubeam
    SCRIPT =
    NPROC = 24
    BIN_PATH = ${NUBEAM_BIN_DIR}
    BIN = ${NUBEAM_BIN_NAME}
    PREACT = ${DATA_DIR}/nubeam/PREACT
    ADAS = ${DATA_DIR}/nubeam/ADAS
    INPUT_DIR = ${INPUT_DIR_SIM}
    INPUT_FILES = innubeam
    OUTPUT_FILES = log.nubeam* state_changes.cdf
    RESTART_FILES = *.cdf *.dat nubeam_comp_exec.RUNID
    COPY_PREACT = 0
    FREEZE = -1
    RESUME = -1

[toray]
    CLASS = fastran
    SUB_CLASS = ec
    NAME = toray
    MODULE = fastran.heating.toray
    SCRIPT =
    NPROC = 1
    BIN_PATH = ${TORAY_BIN_DIR}
    BIN = ${TORAY_BIN_NAME}
    INPUT_DIR = ${INPUT_DIR_SIM}
    INPUT_FILES = intoray
    OUTPUT_FILES = toray*.nc
    RESTART_FILES =

[genray_hc]
    CLASS = fastran
    SUB_CLASS = hc
    NAME = genray
    MODULE = fastran.heating.genray
    SCRIPT =
    NPROC = 1
    BIN_PATH = ${GENRAY_BIN_DIR}
    BIN = $GENRAY_BIN_NAME
    INPUT_DIR = ${INPUT_DIR_SIM}
    INGENRAY = ingenray_HC
    INPUT_FILES = ${INGENRAY}
    OUTPUT_FILES = genray.nc xgenray.log
    UNIT = #MKS
    RESTART_FILES =
    ADD = 1
    IMODE = IC
    RHO_SMOOTH = 0.1

    SERIAL = 1

[genray_lh]
    CLASS = fastran
    SUB_CLASS = lh
    NAME = genray
    MODULE = fastran.heating.genray
    SCRIPT =
    NPROC = 1
    BIN_PATH = ${GENRAY_BIN_DIR}
    BIN = ${GENRAY_BIN_NAME}
    INPUT_DIR = ${INPUT_DIR_SIM}
    INGENRAY = ingenray_LH
    INPUT_FILES = ${INGENRAY}
    OUTPUT_FILES = genray.nc xgenray.log
    RESTART_FILES =
    UNIT = MKS
    ADD = 0
    IMODE = LH

    SERIAL = 1

[nfreya]
    CLASS = fastran
    SUB_CLASS = nb
    NAME = nfreya
    SCRIPT =
    MODULE = fastran.heating.nfreya
    NPROC = 1
    BIN_PATH = ${NFREYA_BIN_PATH}
    BIN = ${NFREYA_BIN_NAME}
    INPUT_DIR = ${INPUT_DIR_SIM}
    INPUT_FILES = innfreya
    OUTPUT_FILES = outone
    RESTART_FILES =
    DIR_DATA = ${NFREYA_DATA_ROOT}

    UPDATE_STATE = 1
#   PS_BACKEND = INSTATE
#   FEEDBACK = 1

[hcd_model]
    CLASS = fastran
    SUB_CLASS = ic
    NAME = hcd_model
    MODULE = fastran.heating.hcd_model
    SCRIPT =
    NPROC = 1
    BIN_PATH =
    BIN =
    INPUT_DIR = ${INPUT_DIR_SIM}
    INPUT_FILES = inhcd
    OUTPUT_FILES =
    RESTART_FILES =
    ADD = 0
    PS_BACKEND = INSTATE


[constraint_current0]
    CLASS = fastran
    SUB_CLASS = pre
    NAME = constraint_current
    SCRIPT =
    MODULE = fastran.constraint.constraint_current
    NPROC = 1
    BIN_PATH =
    BIN =
    INPUT_DIR = ${INPUT_DIR_SIM}
    INPUT_FILES =
    OUTPUT_FILES =
    RESTART_FILES =

    METHOD = broadJ
    RHO_J = 0.65
    JAXIS = 0.6
    RHO_JBDRY = 0.85

[constraint_current]
    CLASS = fastran
    SUB_CLASS = pre
    NAME = constraint_current
    SCRIPT =
    MODULE = fastran.constraint.constraint_current
    NPROC = 1
    BIN_PATH =
    BIN =
    INPUT_DIR = ${INPUT_DIR_SIM}
    INPUT_FILES =
    OUTPUT_FILES =
    RESTART_FILES =

    METHOD = broadJ
    RHO_J = 0.65
    JAXIS = 0.6
    RHO_JBDRY = 0.85

[modeleq_constraint]
    CLASS = fastran
    SUB_CLASS =
    NAME = modeleq_constraint
    MODULE = fastran.driver.modeleq_constraint
    SCRIPT =
    NPROC = 1
    BIN_PATH =
    BIN =
    INPUT_DIR = $INPUT_DIR_SIM
    INFASTRAN =
    INPUT_FILES =
    OUTPUT_FILES =
    RESTART_FILES =
    PS_UPDATE = enabled

[monitor]
    CLASS = monitor
    SUB_CLASS =
    NAME = monitor
    SCRIPT =
    MODULE = fastran.monitor.monitor
    NPROC = 1
    BIN_PATH =
    BIN =
    INPUT_DIR =
    INPUT_FILES =
    OUTPUT_FILES =
    RESTART_FILES =

# =============================================================================
# ITERATION LOOP SECTION
# =============================================================================

[ITERATION_LOOP]
    MODE = REGULAR
    NSTEP = 10 # 20