# TremoloXCalculator¶

class TremoloXCalculator(parameters, dynamical_matrix_parameters=None)

The constructor for the calculator.

Parameters: parameters (TremoloXPotentialSet) – A TremoloXPotentialSet object/list/tuple that contains potential and particle information. dynamical_matrix_parameters – Deprecated. This parameter is not used anymore.
clearPartialCharges()

Clear all stored partial charges.

dynamicalMatrixParameters()

This method is deprecated.

Returns: None always. None
metatext()
Returns: The metatext of the object or None if no metatext is present. str | unicode | None
setInternalOrdering(ordering)

Method that sets the internal ordering of the particles

Parameters: ordering (TremoloXCalculator.DefaultOrdering | TremoloXCalculator.HilbertCurveOrdering) – The ordering that will be used for all future calculations. Valid choices are “default” and “hilbertcurve”
setMetatext(metatext)

Set a given metatext string on the object.

Parameters: metatext (str | unicode | None) – The metatext string that should be set. A value of “None” can be given to remove the current metatext.
setOMPThreadNum(ompthreadnum)

Method that sets the number of threads used by the TremoloXCalculator.

Parameters: ompthreadnum (int) – The number of threads to be used. The default value 0 results in using the max thread number.
setPartialCharges(charges)

Stores a number of <particle ID / charge> pairs that will override the charges in the potential set for these particles.

Please note that these stored charges will be applied to all configurations that are passed to this calculator. To clear the fixed charges, please call the _clearPartialCharges function.

Parameters: charges – A dictionary that holds the pairs. The index is represented by an integer and is 0-based. The charge is expected to be a PhysicalQuantity of type charge.
setTabulationDelta(delta)

Method that sets the delta used to tabulate all tabulatable potentials (ATTENTION: it’s on experimental status!)

Parameters: delta (PhysicalQuantity of type length) – The delta used during tabulation. If delta <= 0, no tabulation is done.
setVerletListsDelta(delta)

Method that sets the delta used to create Verlet-Lists

Parameters: delta (PhysicalQuantity of type length) – The delta used for the creation. It has to be >= 0.
upgrade(configuration)

Method to upgrade the current calculator based on the given configuration.

Parameters: configuration (AtomicConfiguration sub-class) – The configuration the calculator will be used for.

## Usage Examples¶

Set up a TremoloXCalculator and add a Tersoff potential for a silicon crystal.

# Set up lattice
lattice = FaceCenteredCubic(5.4306*Angstrom)

# Define elements
elements = [Silicon, Silicon]

# Define coordinates
fractional_coordinates = [[0.0,  0.0,  0.0 ],
[0.25, 0.25, 0.25]]

# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=lattice,
elements=elements,
fractional_coordinates=fractional_coordinates
)

# -------------------------------------------------------------
# Calculator
# -------------------------------------------------------------

potentialSet = Tersoff_Si_1988()
calculator = TremoloXCalculator(parameters=potentialSet)
calculator.setVerletListsDelta(0.25*Angstrom)

bulk_configuration.setCalculator(calculator)
bulk_configuration.update()


## Notes¶

The TremoloXCalculator is the main calculation engine in the ATK-ForceField module. It is being developed by the Fraunhofer Institute for Algorithms and Scientific Computing (SCAI). For more details see the TremoloX homepage.

The TremoloXCalculator provides a broad range of different classical potentials. It requires a TremoloXPotentialSet object, which defines the parameters and settings of the potential. This object can either be a pre- defined potential from the list of available potentials, or a user-defined combination of different potential functions, collected in a TremoloXPotentialSet.