cemd.build.CSHBuilder#

class CSHBuilder(cs_ratio=None, ws_ratio=None)[source]#

Bases: BaseBuilder

Builder for creating C-S-H (Calcium-Silicate-Hydrate) structures.

C-S-H is built from a tobermorite model: bridging silicates are removed to reach the requested Ca/Si ratio, then the interlayers are filled with water and charge-balancing calcium.

Parameters:
cs_ratiofloat

Calcium/Silicate ratio.

ws_ratiofloat

Water/Silicate ratio, counted before the interlayer calcium: the builder adds round(n_Si * ws_ratio) water molecules plus one more per Ca²⁺ inserted to reach a high cs_ratio. Up to Ca/Si ~ 1.33 the target is met by removing bridging silicates alone, no calcium is inserted, and the H2O/Si reported by analyze() comes back exactly equal to ws_ratio. Past that threshold min_mcl (see build()) forbids further vacancies, so calcium is inserted instead, one extra water molecule per Ca²⁺. neutralize_csh_charge (_silicate_helpers.py) then strips two hydrogens per inserted Ca²⁺ – one each from up to two water molecules, picked at random – to neutralize the +2 charge, which removes exactly as many hydrogens as that extra water added. So the measured H2O/Si still comes back to ws_ratio (checked at Ca/Si 1.4: 1.150).

progress_callbackCallable, optional

Progress callback function.

Examples

>>> builder = CSHBuilder(cs_ratio=1.5, ws_ratio=1.0)
>>> system = builder.build(
...     supercell=[4,1,1],
...     model='tob11a_merlino.cif'
... )
__init__(cs_ratio=None, ws_ratio=None)#

Methods

analyze

Analyze the silicate network of the current system.

build

Build C-S-H using the classic tobermorite-based approach.

from_system

Create a builder from an existing AtomicSystem.

to_cash

Convert C-S-H to C-A-S-H by substituting bridging Si with Al.

Attributes

cs_ratio

ws_ratio