Open HuntFeng opened 7 months ago
Dear Hunt Feng,
Thank you for the suggestion. I have been working on a new version of the input interface using Fortran namelists. There will be a single input file containing different sections (namelists). This is part of the Fortran standard and is very flexible, avoiding a lot of the issues that you brought up (parameters don't have to be in order, there is no strict format for the numbers, no need to specify a parameter if using the default value set in the code, etc.).
I have started implementing it, and just need to find the time to complete it.
Regards, Stephane
Dear Hunt Feng,
Thank you for the suggestion. I have been working on a new version of the input interface using Fortran namelists. There will be a single input file containing different sections (namelists). This is part of the Fortran standard and is very flexible, avoiding a lot of the issues that you brought up (parameters don't have to be in order, there is no strict format for the numbers, no need to specify a parameter if using the default value set in the code, etc.).
I have started implementing it, and just need to find the time to complete it.
Regards,
Stephane
Thanks for the hard work! This is a good approach! I look forward to using it in the future.
High-level programming language as interface for inputting parameters
Currently, the input parameters are being read from text files
init_<some_params>.dat
. I think we should use a high-level programming language such as Python or Julia as a better parameter input interface, theinit_<some_params>.dat
files can be generated by this new interface.Illustration
Here are few liens of Python code to illustrate my idea.
Users could define a simulation instantiating a
Simulation
classUsers could instantiate classes in Python to define boundary objects
By default, each boundary is associated with some default metal material. It is up to user to further define the parameters of the metal.
Benefits
There are several benefits using this new interface for inputting parameters.
init_configuration.dat
andinit_bo.dat
(sometimes even 4 files if user needs to customize boundary material). It is a bit overwhelming compare to the illustration shown above.