Lattices
In the next section, a brief description of the available methods to generate new atomic lattices is provided. These lattices can be useful, among other things, to benchmark and test new EnergyFunction
and EnergyFunctionComponent
instances, for example.
ProtoSyn.Materials.primitive
— Functionprimitive([unit_cell_dims::Vector{T} = [1.0, 1.0, 1.0]]) where {T <: AbstractFloat}
Creates a primitive lattice Pose
. If given, the unit_cell_dims
vector determines the size of the unit cell. This must be a 1x3 Vector{T}
of X
, Y
and Z
lengths of the cubic unit cell (in Angstrom, [1.0, 1.0, 1.0] by default, using the ProtoSyn.Units.defaultFloat
as type T
).
See also:
Examples
julia> pose = ProtoSyn.Materials.primitive()
Pose{Topology}(Topology{/primitive:12909}, State{Float64}:
Size: 1
i2c: false | c2i: false
Energy: Dict(:Total => Inf)
)
Figure 1 | An example of the primitive
lattice.
ProtoSyn.Materials.body_centered
— Functionbody_centered([unit_cell_dims::Vector{T} = [1.0, 1.0, 1.0]]) where {T <: AbstractFloat}
Creates a body-centered lattice Pose
. If given, the unit_cell_dims
determine the position of the body-centered Atom
(half of it in all dimensions). This must be a 1x3 Vector{T}
of X
, Y
and Z
lengths of the cubic unit cell (in Angstrom, [1.0, 1.0, 1.0] by default, using the ProtoSyn.Units.defaultFloat
as type T
).
See also:
Examples
julia> ProtoSyn.Materials.body_centered()
Pose{Topology}(Topology{/primitive:51728}, State{Float64}:
Size: 2
i2c: false | c2i: false
Energy: Dict(:Total => Inf)
)
Figure 2 | An example of the body_centered
lattice.