cmelab / polybinder

Initialization of thermoplastic polymer systems to simulate thermal welding
GNU General Public License v3.0
2 stars 5 forks source link

Handling of non-cubic systems #51

Closed chrisjonesBSU closed 2 years ago

chrisjonesBSU commented 3 years ago

I think we need to consider how to handle non-cubic systems. This has been talked about briefly before at the beginning of the project, as we might want to emphasize contact area over depth when performing the fusion bonding simulations. Also, more recently, I think it will make it much easier for initializing certain systems, like crystalline peek/pekk.

Right now, the 2 places this applies most in the current code is calculating the box edge lengths given a density, and setting up the box resizer in hoomd. Right now, both assume a cubic volume. So, all edges are the same, and the box shrinks on each of the x,y,z axis equally.

One thing that came to mind for me and these crystalline systems is to be able to designate a fixed edge length in a certain direction(s). For example, if I say I want Lz of the box to be 10, then calculate what Lx and Ly should be to match the given density.

chrisjonesBSU commented 3 years ago

Thinking about this some more, I don't think the box_resizer would have to be altered at all. It just goes based off the target box defined in the system initialization step. So, as long as the target box is set up correctly given some constraint. (fixed edge length) then the box resizer will still work as expected.