# CalculationLayer

class `openff.evaluator.layers.``CalculationLayer`

  An abstract representation of a calculation layer whose goal is to estimate a set of physical properties using a single approach, such as a layer which employs direct simulations to estimate properties, or one which reweights cached simulation data to the same end.

  `__init__`()

    Initialize self. See help(type(self)) for accurate signature.

  Methods

  `__init__` | Initialize self.
  `required_schema_type`() | Returns the type of CalculationLayerSchema required by this layer.
  `schedule_calculation`(calculation_backend, …) | Submit the proposed calculation to the backend of choice.

  abstract classmethod `required_schema_type`()

    Returns the type of CalculationLayerSchema required by this layer.

    Returns

      The required schema type.

    Return type

      type of CalculationLayerSchema

  classmethod `schedule_calculation`(calculation_backend, storage_backend, layer_directory, batch, callback, synchronous=False)

    Submit the proposed calculation to the backend of choice.

    Parameters

      - calculation_backend (CalculationBackend) – The backend to the submit the calculations to.

      - storage_backend (StorageBackend) – The backend used to store / retrieve data from previous calculations.

      - layer_directory (str) – The directory in which to store all temporary calculation data from this layer.

      - batch (Batch) – The batch of properties to estimate with the layer.

      - callback (function) – The function to call when the backend returns the results (or an error).

      - synchronous (bool) – If true, this function will block until the calculation has completed. This is mainly intended for debugging purposes.