/// <summary> /// Generates the forcefield, given the topology. /// </summary> /// <param name="parentTopology">The topology to spawn the forcefield into.</param> /// <param name="properties">Properties of the system.</param> /// <param name="reporter">Reporter to print output to.</param> /// <returns></returns> public IForceField GenerateForceField(InstantiatedTopology parentTopology, SystemProperties properties, IReporter reporter) { //TODO do any extra stuff thats needed. var forcefield = new QMLForceField(modelPath, pythonHome, reporter); reporter.PrintEmphasized("Successfully initialised QML forcefield."); return(forcefield); }
/// <summary> /// Add this forcefield to the instantiated topology. /// </summary> /// <param name="parentTopology">The topology.</param> /// <param name="residue">The atom group this forcefield is associated with.</param> /// <param name="context">The spawn context this forcefield is associated with.</param> public void AddToTopology(InstantiatedTopology parentTopology, IResidue residue, ref SpawnContext context) { //TODO generalize this to multiple templates/atom groups. parentTopology.ForceFieldTerms.Add(this); }