dmorse / pscfpp

Polymer Self-Consistent Field Theory (C++/CUDA version)
https://pscf-home.cems.umn.edu
GNU General Public License v3.0
27 stars 20 forks source link

Delay initializing unit cell, basis until after reading a field file (Pspc) #96

Closed dmorse closed 1 year ago

dmorse commented 1 year ago

Rationale: The parameter file format now requires the user to input the space group and approximate unit cell dimensions in the parameter file in order to immediately construct a basis. Both the space group name and the unit cell information is also available in the header of any of the w field file formats. The value in the field file currently overwrites the value read in earlier in the parameter file, but the user needs to understand this to use the code. Reading in two different values is confusing and error prone. We should just wait until a field file is read in to create a basis using data provided in the field file, so that there is no possibility of contradictory inputs.

For backwards compatibility, we should allow the user to optionally input the space group and unit cell in the parameter file, and construct a basis immediately if these variables are both present. This would allow a basis to be constructed early for use cases in which we ever actually read in a w field file to initialize the fields stored by the System, as for when we just use the code to ouput stars or waves for a basis.

If the user does construct a basis using data given in the parameter file and then later reads in a field file, we should insist that the group name and crystal type enumeration given in the field file agree with those read in earlier in the parameter file.

The

dmorse commented 1 year ago

Largely ompleted in temporary "basis" branch by Oct. 15. There is a still a problem with the interaction with the film iterator, which I'll wait for Ben to look at before merging into devel.

dmorse commented 1 year ago

Merged into devel Oct. 24