diff --git a/Readme.md b/Readme.md index af9e8765bd2fc61e629bebcc4658e3f0743645e0..35a4f470363f3463f9600b28f85ce3bf5a6d001c 100644 --- a/Readme.md +++ b/Readme.md @@ -11,6 +11,7 @@ Install To install PySWIFT, you can run the following command: `python3 setup.py install --with-swift SWIFT_PATH --user`. The setup script will read all your parameters in the config file of swift, therefore you need to reinstall PySWIFT with each configuration of SWIFT. +You may need to remove the build directory to recompile PySWIFT. Adding a new structure diff --git a/pyswiftsim/structure.py b/pyswiftsim/structure.py index 45f76f684c45eb1c28fba1e97cd78db4d1c02050..353b8f51210d0ec1d76a5ba40c3f2ae004363f61 100644 --- a/pyswiftsim/structure.py +++ b/pyswiftsim/structure.py @@ -347,14 +347,16 @@ class Part(SwiftStruct): # # ###################################################################### class Parameter(SwiftStruct): - _format = "{line_size}c{line_size}c".format( + _format = "{line_size}c{line_size}cii".format( line_size=PARSER_MAX_LINE_SIZE ) _name = [ - "name", - "value" - ] + "name", + "value", + "used", + "is_default" + ] def __init__(self, data, parent=None): super().__init__(self.struct_format, data, parent) diff --git a/test/test_struct.py b/test/test_struct.py index 6d42775c0ebe8814dc5ee05561ccc6762b40e3c8..2d9df52e88b5a247619ce1df6065bf7c72b6076f 100644 --- a/test/test_struct.py +++ b/test/test_struct.py @@ -18,46 +18,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. """ from pyswiftsim import wrapper -from pyswiftsim import structure -us = wrapper.unitSystemTestStruct() +filename = "parameter_example.yml" +params = wrapper.parserReadFile(filename) -print(us) - -part = wrapper.partTestStruct() - -print(part) - -#us = structure.Units(t) +print(params) -#print(type(us), us.struct_name) -#print(us.struct_size_format) - -#for i in us.struct_name: -# print(i, getattr(us, i)) - -""" -print(us.pos) -us.pos = [12., 16., 11.] -#us.pos[0] = 10. +us = wrapper.unitSystemInit(params) print(us) -print(us.pos) - -print("setitem") -us.pos[2] = 20. - -print(us.pos) -print(us) - -d = {} -d["UnitMass_in_cgs"] = 1. -d["UnitLength_in_cgs"] = 2. -d["UnitTime_in_cgs"] = 3. -d["UnitCurrent_in_cgs"] = 4. -d["UnitTemperature_in_cgs"] = 5. - -us = structure.UnitSystem(d) - -print(us) -"""