Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
Restructured class definition to make reading from file optional
Browse files Browse the repository at this point in the history
  • Loading branch information
daminton committed Jun 26, 2021
1 parent 2678819 commit 4ca5098
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 6 deletions.
49 changes: 47 additions & 2 deletions python/swiftest/swiftest/simulation_class.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,55 @@
from swiftest import swiftestio


class Simulation:
"""
This is a class that define the basic Swift/Swifter/Swiftest simulation object
"""
def __init__(self, param_file_name, codename="Swiftest"):
self.read_param(param_file_name, codename)
def __init__(self, codename="Swiftest", source=""):
if source == "":
self.param = {
'! VERSION': f"Swiftest parameter input",
'T0': "0.0",
'TSTOP': "0.0",
'DT': "0.0",
'PL_IN': "",
'TP_IN': "",
'CB_IN': "",
'IN_TYPE': "REAL8",
'ISTEP_OUT': "1",
'ISTEP_DUMP': "1",
'BIN_OUT': "bin.dat",
'OUT_TYPE': 'REAL8',
'OUT_FORM': "XV",
'OUT_STAT': "REPLACE",
'J2': "0.0",
'J4': "0.0",
'CHK_RMIN': "-1.0",
'CHK_RMAX': "-1.0",
'CHK_EJECT': "-1.0",
'CHK_QMIN': "-1.0",
'CHK_QMIN_COORD': "HELIO",
'CHK_QMIN_RANGE': "",
'ENC_OUT': "",
'MTINY': "-1.0",
'MU2KG': "-1.0",
'TU2S': "-1.0",
'DU2M': "-1.0",
'GU': "-1.0",
'EXTRA_FORCE': "NO",
'BIG_DISCARD': "NO",
'CHK_CLOSE': "NO",
'FRAGMENTATION': "NO",
'MTINY_SET': "NO",
'ROTATION': "NO",
'TIDES': "NO",
'ENERGY': "NO",
'GR': "NO",
'YARKOVSKY': "NO",
'YORP': "NO",
}
else:
self.read_param(source, codename)
return

def read_param(self, param_file_name, codename="Swiftest"):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@
inparam = "param.swifter.in"
outparam = "param.swifter2swiftest.new"
print(f"Reading Swift parameter {inparam} and saving it to {outparam}")
sim = swiftest.Simulation(inparam, codename="Swifter")
sim = swiftest.Simulation(source=inparam, codename="Swifter")
oldparam = sim.convert(outparam, newcodename="Swiftest", plname="pl.swifter2swiftest.in", tpname="tp.swifter2swiftest.in", cbname="cb.swifter2swiftest.in")
6 changes: 3 additions & 3 deletions python/swiftest/tests/param_readers/param_readers.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@
inparam = "param.swift.in"
outparam = "param.swift.new"
print(f"Reading Swift parameter {inparam} and saving it to {outparam}")
sim = swiftest.Simulation(inparam, codename="Swift")
sim = swiftest.Simulation(source=inparam, codename="Swift")
sim.write_param(outparam)

inparam = "param.swifter.in"
outparam = "param.swifter.new"
print(f"Reading Swifter parameter {inparam} and saving it to {outparam}")
sim = swiftest.Simulation(inparam, codename="Swifter")
sim = swiftest.Simulation(source=inparam, codename="Swifter")
sim.write_param(outparam)

inparam = "param.swiftest.in"
outparam = "param.swiftest.new"
print(f"Reading Swifter parameter {inparam} and saving it to {outparam}")
sim = swiftest.Simulation(inparam) # The default value of codename is "Swiftest"
sim = swiftest.Simulation(source=inparam) # The default value of codename is "Swiftest"
sim.write_param(outparam)

0 comments on commit 4ca5098

Please sign in to comment.