eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
EpiCenters.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
#include "
Matter.h
"
14
#include <vector>
15
16
namespace
eonc
{
17
18
namespace
EpiCenters
{
19
20
const
char
DISP_LOAD
[] =
"load"
;
21
const
char
DISP_NOT_FCC_OR_HCP
[] =
"not_fcc_hcp_coordinated"
;
22
const
char
DISP_MIN_COORDINATED
[] =
"least_coordinated"
;
23
const
char
DISP_LAST_ATOM
[] =
"last_atom"
;
24
const
char
DISP_RANDOM
[] =
"random"
;
25
const
char
DISP_LISTED_ATOMS
[] =
"listed_atoms"
;
26
27
// index of random atom that is free and neither FCC nor HCP coordinated
28
long
cnaEpiCenter
(
const
Matter
*matter,
double
neighborCutoff);
29
30
// index of a random atom that is free and minimally coordinated
31
long
minCoordinatedEpiCenter
(
const
Matter
*matter,
double
neighborCutoff);
32
33
// index of last atom -- assumed to be free
34
long
lastAtom
(
const
Matter
*matter);
35
36
// index of a random atom that is free
37
long
randomFreeAtomEpiCenter
(
const
Matter
*matter);
38
39
// index of a random free atom from a user-provided list
40
long
listedAtomEpiCenter
(
const
Matter
*matter,
41
const
std::vector<long> &atomList);
42
43
// do a common neighbor analysis
44
void
cna
(
long
*
cna
,
const
Matter
*matter,
double
neighborCutoff);
45
46
// determine the coordination for individual atoms
47
void
coordination
(
long
*coordinationVal,
const
Matter
*matter,
48
double
neighborCutoff);
49
50
// determine atoms with coordination <= coordinationMaxVal
51
void
coordinationLessOrEqual
(
bool
*result,
long
coordinationMaxVal,
52
const
Matter
*matter,
double
neighborCutoff);
53
54
// determine first minimally coordinated atom
55
long
minCoordination
(
const
Matter
*matter,
double
neighborCutoff);
56
}
// namespace EpiCenters
57
58
}
// namespace eonc
Matter.h
eonc::Matter
Definition
Matter.h:92
eonc::EpiCenters
Definition
EpiCenters.h:18
eonc::EpiCenters::DISP_RANDOM
const char DISP_RANDOM[]
Definition
EpiCenters.h:24
eonc::EpiCenters::lastAtom
long lastAtom(const Matter *matter)
Definition
EpiCenters.cpp:86
eonc::EpiCenters::DISP_LISTED_ATOMS
const char DISP_LISTED_ATOMS[]
Definition
EpiCenters.h:25
eonc::EpiCenters::minCoordination
long minCoordination(const Matter *matter, double neighborCutoff)
Definition
EpiCenters.cpp:236
eonc::EpiCenters::DISP_NOT_FCC_OR_HCP
const char DISP_NOT_FCC_OR_HCP[]
Definition
EpiCenters.h:21
eonc::EpiCenters::DISP_MIN_COORDINATED
const char DISP_MIN_COORDINATED[]
Definition
EpiCenters.h:22
eonc::EpiCenters::cna
void cna(long *cna, const Matter *matter, double neighborCutoff)
Definition
EpiCenters.cpp:114
eonc::EpiCenters::cnaEpiCenter
long cnaEpiCenter(const Matter *matter, double neighborCutoff)
Definition
EpiCenters.cpp:22
eonc::EpiCenters::DISP_LOAD
const char DISP_LOAD[]
Definition
EpiCenters.h:20
eonc::EpiCenters::DISP_LAST_ATOM
const char DISP_LAST_ATOM[]
Definition
EpiCenters.h:23
eonc::EpiCenters::randomFreeAtomEpiCenter
long randomFreeAtomEpiCenter(const Matter *matter)
Definition
EpiCenters.cpp:93
eonc::EpiCenters::coordinationLessOrEqual
void coordinationLessOrEqual(bool *result, long coordinationMaxVal, const Matter *matter, double neighborCutoff)
Definition
EpiCenters.cpp:205
eonc::EpiCenters::listedAtomEpiCenter
long listedAtomEpiCenter(const Matter *matter, const std::vector< long > &atomList)
Definition
EpiCenters.cpp:220
eonc::EpiCenters::minCoordinatedEpiCenter
long minCoordinatedEpiCenter(const Matter *matter, double neighborCutoff)
Definition
EpiCenters.cpp:52
eonc::EpiCenters::coordination
void coordination(long *coordinationVal, const Matter *matter, double neighborCutoff)
Definition
EpiCenters.cpp:188
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:19
include
eon
EpiCenters.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf