Skip to content
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

Sketch of code architecture #1

Open
EqualAPriori opened this issue Jan 18, 2022 · 0 comments
Open

Sketch of code architecture #1

EqualAPriori opened this issue Jan 18, 2022 · 0 comments

Comments

@EqualAPriori
Copy link
Owner

EqualAPriori commented Jan 18, 2022

Key decisions:

  • forcefield object handles writing to common language
  • forcefield uses (nm), (kT), but also stores temperature of coarse graining
  • forcefield is layerable, but add in support for PFTS defaults, as well as checks to ensure PFTS-simulatability
  • exporters/importers handle reading/writing from sim and PolyFTS formats.
  • topology: include a new class/data structure for specifying molecule architecture, that is in addition to
  • system: very minimal core, will largely need a sim system object and a polyFTS system object
  • ** in the future: maybe the "export/import" to sim should be built into the sim package??? **

--- details
exporting to MD,sim,FTS:

  • export_wrapper(forcefield) (k*coarse-grainingT)
  • import_wrapper( sim-->forcefield )
  • takes a MD system --> create PolyFTS topology

exporting to our own format:

  • forcefield.export ?

forcefield

  • data: all the parameters
  • functions:
  • energy (kT), units (nm), but also store T of coarse-graining
  • layerable (default to supporting full sim capabilities), but then add in checks on how to handle repeated potentials -->
  • --> how to get bead types , check that smearing lengths are consistent
  • --> how to get the bond type (for PolyFTS)
  • --> defaults?

topology

  • data:
    • bead names, bonds (conventional MD)
    • chain statistics determiner/guesser, for a first recommendation
    • have general tree/architecture class (FTS)
  • functions:
    • mapper

system:

  • data: core variables (T, P, maybe box, number of molecules)

  • then "misc" classes

  • separate MD and FTS system objects for storing MD and PolyFTS parameters. kT? units?

  • functions

  • kT? units?

Draft system file:

#system.yaml

core:
- T:
- P:
- contents:
    - DS 3
    - DS1 7
    - ...


MD:

FTS:

Three ways to specify a molecule:

- name: molname1
  def: filename
- name: molname2
  beads: [list]
  bonds: [list of pairs]
- name: molname3
  architecture: 
    all_the_comb_PFTS_specifications: data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant