Skip to content

Synthetic MD

Felix Maurer edited this page Jun 29, 2021 · 4 revisions

Introduction

For testing purposes it can be beneficial to not deploy real MD instances, but rather just use artificially generated mass and momentum data.
In previous versions of the Couette scenario, this was hardcoded in CouetteTest.h.
We decided to implement a slight redesign as a Dynamically Linked Filter, allowing us to use arbitrary filtering modules on synthetically generated MD data.

Using a synthethic MD

  1. Go to coupling/tests/build_couette
  2. Copy couette.xml.template or any other template of your liking to couette.xml.
  3. In the subtag <microscopic-solver> change attribute type to "synthetic".
  4. Add an (empty) sequence named <SYNTHETIC-MD/> as a subtag to the <per-instance> tag inside the .xmls filtering configuration part.
  5. Go on as usual, as described in Configuration: Couette.

You can find an example configuration using synthetic MD at TODO.
If you have trouble understanding how MaMiCo's filtering system works in general, have a look at Configuration: Filtering.
Note that currently, synthetic MD can only be used in sequential configurations. You can find more detail on this in the .xml templates.
If you wish to use the sequence name "SYNTHETIC-MD" for other purposes, you can change the name of the sequence looked up by this feature in CouetteTest.h.

Future Plans

We plan to eliminate as many of the restrictions, i.e. regarding concurrency, that synthetic MD in its current form faces as possible in the future.
Adding this feature to other scenarios is while certainly possible not planned currently.