eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
VASP.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 "
eon/Potential.h
"
15
16
class
VASP
:
public
Potential
{
17
18
public
:
19
VASP
(
const
Parameters
&p)
20
:
Potential
(p) {
21
vaspRunCount
++;
22
}
23
~VASP
() {
cleanMemory
(); }
24
void
initialize
() {};
25
void
cleanMemory
(
void
);
26
void
force
(
long
N,
const
double
*R,
const
int
*atomicNrs,
double
*F,
27
double
*U,
double
*variance,
const
double
*box);
30
[[nodiscard]]
bool
isThreadSafe
() const noexcept
override
{
return
false
; }
33
[[nodiscard]]
bool
needsPerImageInstance
() const noexcept
override
{
34
return
false
;
35
}
45
static
void
removeStaleFiles
();
46
47
private
:
48
void
writePOSCAR
(
long
N,
const
double
*R,
const
int
*atomicNrs,
49
const
double
*box);
50
void
readFU
(
long
N,
double
*F,
double
*U);
51
void
spawnVASP
();
52
bool
vaspRunning
();
55
static
void
clearHandshakeFiles
();
56
static
bool
firstRun
;
57
static
long
vaspRunCount
;
58
static
pid_t
vaspPID
;
59
};
Potential.h
VASP::spawnVASP
void spawnVASP()
Definition
VASP.cpp:146
VASP::vaspRunCount
static long vaspRunCount
Definition
VASP.h:57
VASP::clearHandshakeFiles
static void clearHandshakeFiles()
Definition
VASP.cpp:104
VASP::initialize
void initialize()
Definition
VASP.h:24
VASP::writePOSCAR
void writePOSCAR(long N, const double *R, const int *atomicNrs, const double *box)
Definition
VASP.cpp:246
VASP::~VASP
~VASP()
Definition
VASP.h:23
VASP::firstRun
static bool firstRun
Definition
VASP.h:56
VASP::force
void force(long N, const double *R, const int *atomicNrs, double *F, double *U, double *variance, const double *box)
Definition
VASP.cpp:215
VASP::cleanMemory
void cleanMemory(void)
Definition
VASP.cpp:128
VASP::removeStaleFiles
static void removeStaleFiles()
Definition
VASP.cpp:116
VASP::needsPerImageInstance
bool needsPerImageInstance() const noexcept override
Every instance drives the one VASP process named by the static vaspPID through the one set of files,...
Definition
VASP.h:33
VASP::readFU
void readFU(long N, double *F, double *U)
Definition
VASP.cpp:306
VASP::VASP
VASP(const Parameters &p)
Definition
VASP.h:19
VASP::vaspRunning
bool vaspRunning()
Definition
VASP.cpp:197
VASP::isThreadSafe
bool isThreadSafe() const noexcept override
force() writes POSCAR, signals through NEWCAR and waits on FU, all at fixed names in the working dire...
Definition
VASP.h:30
VASP::vaspPID
static pid_t vaspPID
Definition
VASP.h:58
eonc::Parameters
Definition
Parameters.h:28
eonc::Potential::Potential
Potential(PotType a_ptype)
Definition
Potential.h:35
include
eon
potentials
VASP
VASP.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf