IMLCV.scheme
============

.. py:module:: IMLCV.scheme


Classes
-------

.. autoapisummary::

   IMLCV.scheme.Scheme


Module Contents
---------------

.. py:class:: Scheme

   base class that implements iterative scheme.

   :param format: intermediate file type between rounds
   :type format: String
   :param CVs: list of CV instances.


   .. py:attribute:: rounds
      :type:  IMLCV.base.rounds.Rounds


   .. py:method:: from_refs(mde: IMLCV.base.MdEngine.MDEngine, folder: pathlib.Path, refs: IMLCV.base.CV.SystemParams, steps=2000.0) -> Scheme
      :staticmethod:



   .. py:method:: FESBias(rnd: int | None = None, cv_round: int | None = None, chunk_size=None, **plotkwargs) -> IMLCV.base.bias.Bias

      replace the current md bias with the computed FES from current
      round.



   .. py:property:: md


   .. py:property:: bias


   .. py:property:: sti


   .. py:method:: grid_umbrella(steps=10000.0, k=None, n=8, max_grad=None, plot=True, scale_n: int | None = None, cv_round: int | None = None, ignore_invalid=False, eps=0.1, min_traj_length=None, recalc_cv=False, only_finished=True, chunk_size=None, use_common_bias=True)


   .. py:method:: inner_loop(rnds=10, convergence_kl=0.1, steps=50000.0, K=None, update_metric=False, n=4, samples_per_bin=5, min_samples_per_bin=1, init_max_grad=None, plot=True, choice='rbf', fes_bias_rnds=4, scale_n: int | None = None, cv_round: int | None = None, chunk_size=None, eps_umbrella=0.1, plot_margin=0.1, enforce_min_traj_length=False, recalc_cv=False, only_finished=True, plot_umbrella=False, max_bias=100 * kjmol, n_max_fes=100000.0, thermolib=False, macro_chunk=10000, koopman=True, lag_n=30, koopman_wham=None, out=-1, direct_bias=False, init=False, first_round_without_bias=False, executors=Executors.training, use_common_bias=True, first_round_without_ground_bias=False, first_round_no_fes_bias=False)


   .. py:method:: update_CV(transformer: IMLCV.base.CVDiscovery.Transformer, dlo_kwargs={}, dlo: IMLCV.base.rounds.DataLoaderOutput | None = None, chunk_size=None, plot=True, new_r_cut=None, save_samples=True, save_multiple_cvs=False, jac=jax.jacrev, cv_round_from=None, test=False, max_bias=None, transform_bias=True, samples_per_bin=5, min_samples_per_bin=1, percentile=0.1, use_executor=True, n_max=100000.0, vmax=100 * kjmol, macro_chunk=2000, macro_chunk_nl=5000, verbose=False)


   .. py:method:: transform_CV(cv_trans: IMLCV.base.CV.CvTrans, dlo_kwargs=None, dlo: IMLCV.base.rounds.DataLoaderOutput | None = None, chunk_size=None, new_r_cut=None, plot=True)


