matscipy.fracture_mechanics.clusters

Functions

bcc(*args, **kwargs)

centred_shift(symbol, a0, n, crack_surface, ...)

Fractional unit-cell shift that centres a cleavage bond in the cluster block.

clamped_cluster(crk, K, n, skin, *, a0, ...)

Clamped K-field crack cluster (the crack-tip-clusters protocol) at stress intensity K.

cluster(el, a0, n[, crack_surface, ...])

cluster_like(reference_atoms, crk, K, a0)

A cluster with the topology of reference_atoms (a clamped_cluster): the same atoms, order, groups, H caps and tip bond, the lattice scaled by a0 / reference a0, loaded with crk's K-field at K about the scaled tip.

diamond(*args, **kwargs)

fcc(*args, **kwargs)

generate_3D_cubic_111(cryst_2D, nzlayer, el, ...)

Generate a kink-periodic cell, using the high symmetry of the 111 cubic surface to reduce the number of kinks in the cell

generate_3D_structure(cryst_2D, nzlayer, el, ...)

get_alpha_period(cryst)

sc(*args, **kwargs)

set_groups(a, n, skin_x, skin_y[, ...])

set_regions(cryst, r_I, cutoff, r_III[, ...])

matscipy.fracture_mechanics.clusters.get_alpha_period(cryst)
matscipy.fracture_mechanics.clusters.generate_3D_structure(cryst_2D, nzlayer, el, a0, lattice, crack_surface, crack_front, shift=array([0., 0., 0.]), cb=None, switch_sublattices=False)
matscipy.fracture_mechanics.clusters.generate_3D_cubic_111(cryst_2D, nzlayer, el, a0, lattice, crack_surface, crack_front, shift=array([0., 0., 0.]), cb=None, switch_sublattices=False)

Generate a kink-periodic cell, using the high symmetry of the 111 cubic surface to reduce the number of kinks in the cell

matscipy.fracture_mechanics.clusters.set_groups(a, n, skin_x, skin_y, central_x=-0.5, central_y=-0.5, invert_central=False)
matscipy.fracture_mechanics.clusters.set_regions(cryst, r_I, cutoff, r_III, extended_far_field=False, extended_region_I=False, exclude_surface=False, sort_type='r_theta_z')
matscipy.fracture_mechanics.clusters.cluster(el, a0, n, crack_surface=[1, 1, 0], crack_front=[0, 0, 1], cb=None, lattice=None, shift=None, switch_sublattices=False)
matscipy.fracture_mechanics.clusters.diamond(*args, **kwargs)
matscipy.fracture_mechanics.clusters.fcc(*args, **kwargs)
matscipy.fracture_mechanics.clusters.bcc(*args, **kwargs)
matscipy.fracture_mechanics.clusters.sc(*args, **kwargs)
matscipy.fracture_mechanics.clusters.centred_shift(symbol, a0, n, crack_surface, crack_front, lattice=None, bond_cutoff=2.7, grid=96)

Fractional unit-cell shift that centres a cleavage bond in the cluster block.

The y-shift puts the widest interlayer gap (the cleavage plane; the shuffle plane for (111)) at the block’s y-centre with equal numbers of layers above and below. The x-shift then brings the midpoint of a bond crossing that gap as close as possible to the block’s x-centre. Searched on a 1/grid grid.

matscipy.fracture_mechanics.clusters.clamped_cluster(crk, K, n, skin, *, a0, crack_surface, crack_front, symbol='Si', lattice=None, shift='auto', tip_offset=0.0, passivate=True, cap_lengths=None, stagger_caps=True, bond_cutoff=2.7, vacuum=6.0, tip_bond=None)

Clamped K-field crack cluster (the crack-tip-clusters protocol) at stress intensity K.

An oriented block (cluster with lattice, default ASE Diamond) with a clamped skin of skin unit cells (set_groups: group 0 clamped, 1 free), loaded with the anisotropic K-field of crk about the midpoint of the tip bond (found by coordination with the trial tip tip_offset A from the block centre along x, or given as tip_bond). With passivate, every perfect-crystal bond missing from the loaded cluster is capped with H (hydrogenate), except on free under-coordinated atoms (the crack faces and tip stay bare); caps are free (group -1), their host is recorded in h_host, their length is cap_lengths[host element], and with stagger_caps XH3 groups are turned clear of their periodic images. Vacuum padding vacuum in x and y; the cluster is periodic along the front (z).

Returns Atoms with arrays groups, h_host, reference (unloaded positions, H at their host’s) and info K, bond1, bond2, tip_x, tip_y, a0.

matscipy.fracture_mechanics.clusters.cluster_like(reference_atoms, crk, K, a0)

A cluster with the topology of reference_atoms (a clamped_cluster): the same atoms, order, groups, H caps and tip bond, the lattice scaled by a0 / reference a0, loaded with crk’s K-field at K about the scaled tip. Another material’s own clamped_cluster can pick a different tip bond or cap set when its elastic constants move a borderline bond; this keeps it one to one with the reference.