eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
EffectiveMediumTheory.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
// serves as an interface between emt potentials provided by CamposASE and
15
// dynamics provided by eOn
16
17
#include "
eon/potentials/EMT/Asap/Atoms.h
"
18
#include "
eon/potentials/EMT/Asap/EMT.h
"
19
#include "
eon/potentials/EMT/Asap/EMTDefaultParameterProvider.h
"
20
#include "
eon/potentials/EMT/Asap/EMTRasmussenParameterProvider.h
"
21
#include "
eon/potentials/EMT/Asap/SuperCell.h
"
22
#include "
eon/potentials/EMT/Asap/Vec.h
"
23
24
#include "
eon/Parameters.h
"
25
#include "
eon/Potential.h
"
26
29
class
EffectiveMediumTheory
:
public
Potential
{
30
31
private
:
32
bool
emtRasmussen
{
false
};
33
long
numberOfAtoms
{0};
34
bool
periodicity
[3]{
true
,
true
,
true
};
35
Atoms
*
AtomsObj
{
nullptr
};
36
EMTDefaultParameterProvider
*
EMTParameterObj
{
nullptr
};
37
EMT
*
EMTObj
{
nullptr
};
38
SuperCell
*
SuperCellObj
{
nullptr
};
39
40
public
:
41
EffectiveMediumTheory
(
const
Parameters
&p)
42
:
Potential
(p),
43
emtRasmussen
{p.potential_options.EMTRasmussen} {}
44
~EffectiveMediumTheory
() {
cleanMemory
(); }
45
void
cleanMemory
();
46
47
// To satify interface
48
void
force
(
long
N,
const
double
*R,
const
int
*atomicNrs,
double
*F,
49
double
*U,
double
*variance,
const
double
*box);
50
};
Atoms.h
EMTDefaultParameterProvider.h
EMTRasmussenParameterProvider.h
EMT.h
-- Implements the EMT potential for multiple elements.
Parameters.h
Potential.h
SuperCell.h
Vec.h
Atoms
The main list of atoms class.
Definition
Atoms.h:36
EMTDefaultParameterProvider
Definition
EMTDefaultParameterProvider.h:10
EMT
The Effective Medium Theory (EMT) potential.
Definition
EMT.h:24
EffectiveMediumTheory::AtomsObj
Atoms * AtomsObj
Definition
EffectiveMediumTheory.h:35
EffectiveMediumTheory::EffectiveMediumTheory
EffectiveMediumTheory(const Parameters &p)
Definition
EffectiveMediumTheory.h:41
EffectiveMediumTheory::force
void force(long N, const double *R, const int *atomicNrs, double *F, double *U, double *variance, const double *box)
Definition
EffectiveMediumTheory.cpp:32
EffectiveMediumTheory::SuperCellObj
SuperCell * SuperCellObj
Definition
EffectiveMediumTheory.h:38
EffectiveMediumTheory::periodicity
bool periodicity[3]
Definition
EffectiveMediumTheory.h:34
EffectiveMediumTheory::~EffectiveMediumTheory
~EffectiveMediumTheory()
Definition
EffectiveMediumTheory.h:44
EffectiveMediumTheory::numberOfAtoms
long numberOfAtoms
Definition
EffectiveMediumTheory.h:33
EffectiveMediumTheory::emtRasmussen
bool emtRasmussen
Definition
EffectiveMediumTheory.h:32
EffectiveMediumTheory::cleanMemory
void cleanMemory()
Definition
EffectiveMediumTheory.cpp:18
EffectiveMediumTheory::EMTParameterObj
EMTDefaultParameterProvider * EMTParameterObj
Definition
EffectiveMediumTheory.h:36
EffectiveMediumTheory::EMTObj
EMT * EMTObj
Definition
EffectiveMediumTheory.h:37
SuperCell
The SuperCell defines the size, shape and boundary condx of a simulation.
Definition
SuperCell.h:20
eonc::Parameters
Definition
Parameters.h:28
eonc::Potential::Potential
Potential(PotType a_ptype)
Definition
Potential.h:35
include
eon
potentials
EMT
EffectiveMediumTheory.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf