Skip to main content

A simple CASTEP input files parser/writer

This package provide a basic framework for read/write input files of CASTEP. There is already a excellent reader/writer implemented in ase but they are ortentated to work with the Atoms and Calculator classes in ase. It also requires a CASTEP binary to exist to work. This package aim to provide a more generic framework with minimum dependency for simple (but important) tasks of writing and reading inputs files of CASTEP.

Usage

The two classes to be used for reading/writing inputs are ParamInput and CellInput. Keyword-value pairs can be set the same as dictionaries. For example:

from castepinput import CellInput, ParamInput, Block
# ParamInput is in fact just a subclass of OrderedDict
param = ParamInput(cut_off_energy=300, task="singlepoint")
param["opt_strategy"] = "speed"

# Use the Block class to signal that it is a BLOCK
# The following line sets the positions_abs
cell = CellInput(positions_abs=Block(["C 0 0 0", "C 1 0 0"])

The two classes use simple string formatting when writing out the content. See the following code as example.

cell = CellInput(snap_to_symmetry=True)

# Should give 'snap_to_symmetry : True'
cell.get_string()

# Should give 'symmetry_genreate : true'
cell['snap_to_symmetry'] = 'true'
cell.get_string()

# Not all CASTEP keyword requires a value
# Use "" as the value will result just a keyword on a line
cell['symmetry_generate'] = ''
# Should give a string with a line 'symmetry_generate'
cell.get_string()

# Set cell and positions use the set methods
cell.set_cell([10 ,10 , 10])
cell.set_positions(["O", "O"], [[0, 0, 0], [1.4, 0, 0]])
# Save to file
cell.save("O2.cell")

To initialize from a existing param/cell file, use the ParamInput.from_file method.

cell = CellInput.from_file("O2.cell")
# This should give [[10, 0, 0], [0, 10, 0], [0, 0, 10]]
cell.get_cell()

# The value returned should be "" to be consistent with setting
cell["symmetry_generate"]

We also try to be smart and convert string into python types where it is possible. Supported types are integer, floats and 1-d arrays made of integer/floats. These coversions can be avoided by using ParamInput.from_file(filename, plain=True) when loading files.

Release files for castepinput 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for castepinput 0.1.11
File Size Uploaded
castepinput-0.1.11.tar.gz 19.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for castepinput 0.1.11
File Interpreter ABI Platform
castepinput-0.1.11-py3-none-any.whl Python 3 none any Details

Total release size: 29.8 kB

Release files / castepinput-0.1.11.tar.gz

Download URL castepinput-0.1.11.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
df7542255fc837e60d5286e6f1cd5df09ecac53cf786ca4aaa1f25296ba13ed7
BLAKE2b-256 checksum
How to use checksums
e54be13c3dba7fbdc8c8883a7f0efacae43ab5f929257c98c7a0d2e904c53552
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / castepinput-0.1.11-py3-none-any.whl

Download URL castepinput-0.1.11-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6a0f522111e5304e89dbd273b0842e9ff2437981b6aa711d3bb5d0c6cb05a01e
BLAKE2b-256 checksum
How to use checksums
aa1c79a7f42b23446f10c06fc44de07a074b9c4e0ea6356e6722d3d10d4b4ee9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.1.11 This release

2 release files

0.1.10

2 release files

0.1.8

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page