eOn 3.2.0
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
SolidStateNEB.h
Go to the documentation of this file.
1
/*
2
** This file is part of eOn.
3
**
4
** SPDX-License-Identifier: BSD-3-Clause
5
**
6
** Copyright (c) 2010--present, eOn Development Team
7
** All rights reserved.
8
**
9
** Repo:
10
** https://github.com/TheochemUI/eOn
11
*/
12
#pragma once
13
14
#include "
Eigen.h
"
15
#include "
Matter.h
"
16
17
#include <vector>
18
19
namespace
eonc::neb
{
20
23
double
solidStateJacobian
(
double
meanVolume,
int
nAtoms,
double
weight);
24
29
bool
orientCellLowerTriangular
(
Matrix3d
&cell,
AtomMatrix
&positions);
30
31
void
orientSolidStateMatter
(Matter &image);
32
35
void
interpolateSolidStateLinear
(std::vector<Matter> &images);
36
37
struct
JointBlock
{
38
AtomMatrix
atomic
;
39
Matrix3d
cell
{Matrix3d::Zero()};
40
};
41
46
JointBlock
jointDisplacement
(
const
Matter
&from,
const
Matter
&to,
47
double
jacobian);
48
49
double
jointNorm
(
const
JointBlock &block);
50
55
Matrix3d
cellNebForce
(
const
Matrix3d
&cauchy,
double
volume,
double
jacobian,
56
const
Matrix3d
&externalStress);
57
60
Matrix3d
finiteDifferenceCauchyStress
(
const
Matter
&image,
double
strainStep);
61
64
double
solidStateEnthalpy
(
const
Matter
&image,
const
Matter
&reference,
65
double
pressure);
66
70
struct
CartesianStep
{
71
AtomMatrix
positions
;
72
Matrix3d
cell
{Matrix3d::Zero()};
73
};
74
75
CartesianStep
solidStateCartesianStep
(
const
Matter
&image,
76
const
AtomMatrix
&atomicForce,
77
const
Matrix3d
&cellForce,
78
double
jacobian);
79
80
}
// namespace eonc::neb
Eigen.h
Matrix3d
Eigen::Matrix< double, 3, 3, eOnStorageOrder > Matrix3d
Definition
Eigen.h:35
AtomMatrix
Eigen::Matrix< double, Eigen::Dynamic, 3, eOnStorageOrder > AtomMatrix
Definition
Eigen.h:37
Matter.h
eonc::Matter
Definition
Matter.h:90
eonc::neb
Definition
NEBForceProjection.cpp:18
eonc::neb::orientCellLowerTriangular
bool orientCellLowerTriangular(Matrix3d &cell, AtomMatrix &positions)
Rotate the lab frame so the cell is lower triangular: the first lattice vector lies on x and the seco...
Definition
SolidStateNEB.cpp:49
eonc::neb::interpolateSolidStateLinear
void interpolateSolidStateLinear(std::vector< Matter > &images)
Replace interior images by a fractional linear interpolation of the oriented endpoints.
Definition
SolidStateNEB.cpp:93
eonc::neb::solidStateCartesianStep
CartesianStep solidStateCartesianStep(const Matter &image, const AtomMatrix &atomicForce, const Matrix3d &cellForce, double jacobian)
Definition
SolidStateNEB.cpp:203
eonc::neb::jointNorm
double jointNorm(const JointBlock &block)
Definition
SolidStateNEB.cpp:142
eonc::neb::jointDisplacement
JointBlock jointDisplacement(const Matter &from, const Matter &to, double jacobian)
Displacement of to relative to from in the joint metric.
Definition
SolidStateNEB.cpp:119
eonc::neb::solidStateEnthalpy
double solidStateEnthalpy(const Matter &image, const Matter &reference, double pressure)
Potential energy plus P : (h0^{-1} (h-h0)) * V0.
Definition
SolidStateNEB.cpp:191
eonc::neb::solidStateJacobian
double solidStateJacobian(double meanVolume, int nAtoms, double weight)
J = (V/N)^{1/3} * N^{1/2} * weight, with V the mean endpoint volume.
Definition
SolidStateNEB.cpp:40
eonc::neb::orientSolidStateMatter
void orientSolidStateMatter(Matter &image)
Definition
SolidStateNEB.cpp:80
eonc::neb::finiteDifferenceCauchyStress
Matrix3d finiteDifferenceCauchyStress(const Matter &image, double strainStep)
Central difference of the potential energy on the six lower strain components.
Definition
SolidStateNEB.cpp:157
eonc::neb::cellNebForce
Matrix3d cellNebForce(const Matrix3d &cauchy, double volume, double jacobian, const Matrix3d &externalStress)
NEB force on the Jacobian-scaled strain.
Definition
SolidStateNEB.cpp:146
eonc::neb::CartesianStep
One steepest step in Cartesian coordinates and the cell matrix.
Definition
SolidStateNEB.h:70
eonc::neb::CartesianStep::positions
AtomMatrix positions
Definition
SolidStateNEB.h:71
eonc::neb::CartesianStep::cell
Matrix3d cell
Definition
SolidStateNEB.h:72
eonc::neb::JointBlock
Definition
SolidStateNEB.h:37
eonc::neb::JointBlock::cell
Matrix3d cell
Definition
SolidStateNEB.h:39
eonc::neb::JointBlock::atomic
AtomMatrix atomic
Definition
SolidStateNEB.h:38
include
eon
SolidStateNEB.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf