Source code for atesa.factory

"""
Factory script for obtaining the desired interfaces from the various interface scripts.
"""

from atesa import mdengine
from atesa import batchsystem
from atesa import jobtype
from atesa import taskmanager

[docs]def mdengine_factory(mdengine_toolkit): """ Factory function for MDEngines. Parameters ---------- mdengine_toolkit : str Name of the MDEngine to invoke Returns ------- mdengine : MDEngine Instance of an MDEngine adapter """ mdengine_toolkits = {'amber': mdengine.AdaptAmber()} if mdengine_toolkit not in mdengine_toolkits.keys(): raise ValueError('unsupported MDEngine name: ' + mdengine_toolkit) return mdengine_toolkits[mdengine_toolkit]
[docs]def batchsystem_factory(batchsystem_toolkit): """ Factory function for BatchSystems. Parameters ---------- batchsystem_toolkit : str Name of the BatchSystem to invoke Returns ------- batchsystem : BatchSystem Instance of a BatchSystem adapter """ batchsystem_toolkits = {'slurm': batchsystem.AdaptSlurm(), 'pbs': batchsystem.AdaptPBS(), 'torque': batchsystem.AdaptPBS()} # torque and pbs are synonyms if batchsystem_toolkit not in batchsystem_toolkits.keys(): raise ValueError('unsupported BatchSystem name: ' + batchsystem_toolkit) return batchsystem_toolkits[batchsystem_toolkit]
[docs]def jobtype_factory(jobtype_toolkit): """ Factory function for JobTypes. Parameters ---------- jobtype_toolkit : str Name of the JobType to invoke Returns ------- jobtype : JobType Instance of a JobType adapter """ jobtype_toolkits = {'aimless_shooting': jobtype.AimlessShooting(), 'committor_analysis': jobtype.CommittorAnalysis(), 'equilibrium_path_sampling': jobtype.EquilibriumPathSampling(), 'find_ts': jobtype.FindTS(), 'umbrella_sampling': jobtype.UmbrellaSampling()} if jobtype_toolkit not in jobtype_toolkits.keys(): raise ValueError('unsupported JobType name: ' + jobtype_toolkit) return jobtype_toolkits[jobtype_toolkit]
[docs]def taskmanager_factory(taskmanager_toolkit): """ Factory function for TaskManagers. Parameters ---------- taskmanager_toolkit : str Name of the TaskManager to invoke Returns ------- taskmanager : TaskManager Instance of a TaskManager adapter """ taskmanager_toolkits = {'simple': taskmanager.AdaptSimple()} if taskmanager_toolkit not in taskmanager_toolkits.keys(): raise ValueError('unsupported TaskManager name: ' + taskmanager_toolkit) return taskmanager_toolkits[taskmanager_toolkit]