cemd.build.SolutionBuilder#

class SolutionBuilder(density=1.0, molarities=<factory>, counts=<factory>, structures=<factory>)[source]#

Bases: object

Blueprint for creating a solution.

This blueprint defines WHAT the solution contains (composition), not HOW it is built (geometry). The geometry is determined by the builder or method that uses this blueprint.

Parameters:
densityfloat, default=1.0

Target density in g/cm³

molaritiesdict, optional

Species molarities in mol/L

countsdict, optional

Species explicit counts (number of molecules/ions)

structuresdict, optional

Custom AtomicSystem structures for complex molecules

Examples

>>> # Define a salt solution
>>> blueprint = SolutionBuilder(
...     density=1.0,
...     molarities={'NaCl': 0.1, 'KCl': 0.05}
... )
>>> # Use in different contexts
>>> solution = blueprint.build(box=[30, 30, 30])  # Standalone
>>> system = surface.add_liquid_layer(blueprint, thickness=30.0)  # Layer
>>> system = surface.add_droplet(blueprint, radius=15.0)  # Droplet
>>> # Pure water
>>> water = SolutionBuilder.from_water()
>>> # With explicit counts
>>> blueprint = SolutionBuilder(
...     density=1.0,
...     counts={'Na': 50, 'Cl': 50}
... )
__init__(density=1.0, molarities=<factory>, counts=<factory>, structures=<factory>)#

Methods

build

Build a standalone solution system from this blueprint.

build_hemisphere

Build a hemispherical solution system from this blueprint.

from_water

Create a blueprint for pure water.

get_solute_mass

Calculate total mass of solutes in atomic mass units for a given volume.

get_water_count

Calculate number of water molecules for a given volume.

to_counts

Convert molarities to explicit counts for a given volume and combine them with explicitly specified counts.

Attributes

density

molarities

counts

structures