-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cg particle support #148
base: develop
Are you sure you want to change the base?
Cg particle support #148
Conversation
# Set the name of the section | ||
self.name = self.m_def.name #! self.name here is 'ParticleCell' | ||
|
||
def is_equal_cell(self, other) -> bool: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What exactly is this used for in atomic_cell? Is it for defining different reference frames?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it is even used in nomad
AtomicCell
. I don't see an issue with removing it.
particles = Particles(symbols=particle_labels) | ||
|
||
# PBC | ||
if self.periodic_boundary_conditions is None: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am assuming a lot of these functionalities are shared with atomic_cell. I am wondering if they can be taken up to cell, or defined consistently between the classes in some other way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would make sense as far as possible. To prevent errors with CG systems, we have to check carefully for all situations where functions from ase
are called and keep those duplicates.
Pull Request Test Coverage Report for Build 12144007686Details
💛 - Coveralls |
--------- Co-authored-by: ndaelman <[email protected]>
Co-authored-by: ndaelman <[email protected]>
@@ -1137,11 +1305,16 @@ def normalize(self, archive: 'EntryArchive', logger: 'BoundLogger') -> None: | |||
sec_symmetry = self.m_create(Symmetry) | |||
sec_symmetry.normalize(archive, logger) | |||
|
|||
print(self.model_system) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do these mean that you have tested this with your parser? If not how are you testing? And with normalization?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Upon initial glance, I think the direction is looking good. Could you maybe just list out here any major changes that you have made compared with AtomicCell? It would be easy for me to look into those directly once I know.
Another thing that comes to mind is units. For gromacs or other sims using physical units we can get away with this for now, but we need to figure out a bigger solution for reduced units and such. This is not really on you, we need to have a discussion with Area D eventually. For now, just think about the different situations with CG units that you know.
Perhaps as a minimum effort to indicate that units may not be meaningful, using ParticleCell could trigger some sort of warning, or populate some metadata upstream, i.e., in Simulation(), about this 🤔
Addition of a class
ParticleCell
tomodel_system
for the parsing of coarse-grained representations.The normalizer still calls
atomic_cell.to_ase_atoms
; somewhere,particle_cell
must be automatically changed toatomic_cell.