eOn client
Long-timescale dynamics: aKMC, NEB, parallel replica
☾
Toggle main menu visibility
Loading...
Searching...
No Matches
ObjectiveFunction.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 "
Matter.h
"
15
16
namespace
eonc
{
17
18
class
ObjectiveFunction
{
19
protected
:
20
const
Parameters
&
params
;
21
22
public
:
23
ObjectiveFunction
(
const
Parameters
¶msPassed)
24
:
params
{paramsPassed} {}
25
virtual
~ObjectiveFunction
() {}
26
virtual
double
getEnergy
() = 0;
27
virtual
VectorXd
getGradient
(
bool
fdstep =
false
) = 0;
28
virtual
void
setPositions
(
const
VectorXd &x) = 0;
29
virtual
VectorXd
getPositions
() = 0;
30
virtual
int
degreesOfFreedom
() = 0;
31
virtual
bool
isConverged
() = 0;
32
virtual
double
getConvergence
() = 0;
33
virtual
VectorXd
difference
(
const
VectorXd &a,
const
VectorXd &b) = 0;
34
};
35
36
}
// namespace eonc
37
38
using
eonc::ObjectiveFunction
;
Matter.h
eonc::ObjectiveFunction
Definition
ObjectiveFunction.h:18
eonc::ObjectiveFunction::~ObjectiveFunction
virtual ~ObjectiveFunction()
Definition
ObjectiveFunction.h:25
eonc::ObjectiveFunction::getGradient
virtual VectorXd getGradient(bool fdstep=false)=0
eonc::ObjectiveFunction::difference
virtual VectorXd difference(const VectorXd &a, const VectorXd &b)=0
eonc::ObjectiveFunction::ObjectiveFunction
ObjectiveFunction(const Parameters ¶msPassed)
Definition
ObjectiveFunction.h:23
eonc::ObjectiveFunction::isConverged
virtual bool isConverged()=0
eonc::ObjectiveFunction::params
const Parameters & params
Definition
ObjectiveFunction.h:20
eonc::ObjectiveFunction::getPositions
virtual VectorXd getPositions()=0
eonc::ObjectiveFunction::setPositions
virtual void setPositions(const VectorXd &x)=0
eonc::ObjectiveFunction::getEnergy
virtual double getEnergy()=0
eonc::ObjectiveFunction::getConvergence
virtual double getConvergence()=0
eonc::ObjectiveFunction::degreesOfFreedom
virtual int degreesOfFreedom()=0
eonc::Parameters
Definition
Parameters.h:28
eonc
RAII resource manager for the ARTn C library with global synchronization.
Definition
ARTnSaddleSearch.cpp:19
include
eon
ObjectiveFunction.h
Generated by
1.17.0
Generated by
Doxygen 1.17.0
Analytics by
Antics
provided by
TurtleTech ehf