OpenFOAM: API Guide
v2112
The open source CFD toolbox
bisection.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2007-2019 PCOpt/NTUA
9
Copyright (C) 2013-2019 FOSS GP
10
Copyright (C) 2019 OpenCFD Ltd.
11
-------------------------------------------------------------------------------
12
License
13
This file is part of OpenFOAM.
14
15
OpenFOAM is free software: you can redistribute it and/or modify it
16
under the terms of the GNU General Public License as published by
17
the Free Software Foundation, either version 3 of the License, or
18
(at your option) any later version.
19
20
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
21
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
23
for more details.
24
25
You should have received a copy of the GNU General Public License
26
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
27
28
29
Class
30
Foam::bisection
31
32
Description
33
Reduces step by a given ratio
34
35
SourceFiles
36
bisection.C
37
38
\*---------------------------------------------------------------------------*/
39
40
#ifndef bisection_H
41
#define bisection_H
42
43
#include "
stepUpdate.H
"
44
45
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
46
47
namespace
Foam
48
{
49
50
/*---------------------------------------------------------------------------*\
51
Class bisection Declaration
52
\*---------------------------------------------------------------------------*/
53
54
class
bisection
55
:
56
public
stepUpdate
57
{
58
protected
:
59
60
// Protected data
61
62
scalar
ratio_
;
63
64
65
private
:
66
67
// Private Member Functions
68
69
//- No copy construct
70
bisection
(
const
bisection
&) =
delete
;
71
72
//- No copy assignment
73
void
operator=(
const
bisection
&) =
delete
;
74
75
76
public
:
77
78
//- Runtime type information
79
TypeName
(
"bisection"
);
80
81
82
// Constructors
83
84
//- Construct from components
85
bisection
(
const
dictionary
&
dict
);
86
87
88
//- Destructor
89
virtual
~bisection
() =
default
;
90
91
92
// Member Functions
93
94
// Update step in given direction
95
virtual
void
updateStep
(scalar& step);
96
};
97
98
99
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
100
101
}
// End namespace Foam
102
103
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
104
105
#endif
106
107
// ************************************************************************* //
Foam::bisection::~bisection
virtual ~bisection()=default
Destructor.
Foam::bisection::updateStep
virtual void updateStep(scalar &step)
Update the line search step.
Definition:
bisection.C:58
stepUpdate.H
Foam::bisection::ratio_
scalar ratio_
Definition:
bisection.H:61
Foam::bisection::TypeName
TypeName("bisection")
Runtime type information.
dict
dictionary dict
Definition:
searchingEngine.H:14
Foam::dictionary
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition:
dictionary.H:123
Foam::bisection
Reduces step by a given ratio.
Definition:
bisection.H:53
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:33
Foam::stepUpdate
Abstract base class for step update methods used in line search.
Definition:
stepUpdate.H:54
src
optimisation
adjointOptimisation
adjoint
optimisation
lineSearch
stepUpdate
bisection
bisection.H
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.