summaryrefslogtreecommitdiff
path: root/doc/IGE344/SectGRAD.tex
blob: 2d9d99c8d9e4b4cbd0c925adc6e16779215ec90b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
\subsection{The \texttt{GRAD:} module}

The {\tt GRAD:} module is designed to perform the following tasks:
\begin{itemize}
\item compute the gradients of the {\sl system characteristics} (i.e., objective function and constraints) using
solutions of direct or adjoint fixed source eigenvalue problems. Here, we assume an optimization problem with \dusa{nvar}
control variables and with \dusa{ncst} constraints. The total number of system characteristics is therefore equal to
\dusa{ncst}$+1$.

\item define options and parameters related to the optimization problem.
\end{itemize}

\vskip 0.08cm

The {\tt GRAD:} module can be used to perform a {\sl Newtonian} search of SPH factors, as depicted in Fig.~\ref{fig:fig_fnewton}.

\vskip 0.2cm

\begin{figure}[h!]
\begin{center}
\includegraphics[scale=0.85]{Figures/flow_newton.eps} 
\caption{Newton SPH iterations.}\label{fig:fig_fnewton}
\end{center}
\end{figure}

\vskip 0.08cm

The calling specifications are:

\begin{DataStructure}{Structure \moc{GRAD:}}
\dusa{OPTIM} \moc{:=} \moc{GRAD:} $[$ \dusa{OPTIM} $]$ \dusa{DFLUX} \dusa{GPT} \moc{::} \dstr{grad\_data}
\end{DataStructure}

\noindent where

\begin{ListeDeDescription}{mmmmmmmm}

\item[\dusa{OPTIM}] \texttt{character*12} name of the \dds{optimize} object ({\tt L\_OPTIMIZE} signature) containing the
optimization informations. Object \dusa{OPTIM} must appear on the RHS to be able to updated the previous values.

\item[\dusa{DFLUX}] \texttt{character*12} name of the \dds{flux} object ({\tt L\_FLUX} signature) containing a set of
solutions of fixed-source eigenvalue problems.

\item[\dusa{GPT}] \texttt{character*12} name of the \dds{source} object ({\tt L\_SOURCE} signature) containing a set of
direct or adjoint sources.

\item[\dstr{grad\_data}] structure containing the data to the module \texttt{GRAD:} (see Sect.~\ref{sect:grad_data}).

\end{ListeDeDescription}
\vskip 0.2cm

\subsubsection{Data input for module \texttt{GRAD:}}\label{sect:grad_data}

\begin{DataStructure}{Structure \moc{grad\_data}}
$[$ \moc{EDIT} \dusa{iprint} $]$ \\
$[~\{$ \moc{MAXIMIZE} $|$ \moc{MINIMIZE} $\}~]$ \\
$[$ \moc{OUT-STEP-LIM} \dusa{sr} $]$ \\
$[$ \moc{VAR-VALUE} ( \dusa{control}(i), i=1,\dusa{nvar} ) $]~[$ \moc{VAR-WEIGHT} ( \dusa{weight}(i), i=1,\dusa{nvar} ) $]$ \\
$[$ \moc{VAR-VAL-MIN} $\{$ ( \dusa{vecmin}(i), i=1,\dusa{nvar} ) $|$ \moc{ALL} \dusa{varmin} $]$ \\
$[$ \moc{VAR-VAL-MAX} $\{$ ( \dusa{vecmax}(i), i=1,\dusa{nvar} ) $|$ \moc{ALL} \dusa{varmax} $]$ \\
$[$ \moc{FOBJ-CST-VAL} ( \dusa{funct}(i), i=1,\dusa{ncst}$+1$ ) $]$ \\
$[$ \moc{CST-TYPE} ( \dusa{type}(i), i=1,\dusa{ncst} ) $]~[$ \moc{CST-OBJ} $\{$ ( \dusa{cstval}(i), i=1,\dusa{ncst} ) $|$ \moc{KEEP} $\}~]$ \\
$[$ \moc{CST-WEIGHT} ( \dusa{cstw}(i), i=1,\dusa{ncst} ) $]$ \\
;
\end{DataStructure}

\noindent where
\begin{ListeDeDescription}{mmmmmmmm}

\item[\moc{EDIT}] keyword used to set \dusa{iprint}.

\item[\dusa{iprint}] index used to control the printing in module.

\item[\moc{MAXIMIZE}] keyword used to specify that the optimization problem will be a maximization.

\item[\moc{MINIMIZE}] keyword used to specify that the optimization problem will be a minimization (default).

\item[\moc{OUT-STEP-LIM}] keyword used to set or reset the maximum steplength along the gradient (default value is \dusa{sr} $=1.0$ or the value
recovered from \dusa{OPTIM}).

\item[\dusa{sr}] maximum steplength value (real).

\item[\moc{VAR-VALUE}] keyword to specify the values of the control variables. These values can also be set in a previous call
to module {\tt GRAD:} or set in another module.

\item[\dusa{control}] array containing \dusa{nvar} real values.

\item[\moc{VAR-WEIGHT}] keyword to specify the values of the control variable weights in the quadratic constraint. All weights
are set to 1.0 by default.

\item[\dusa{weight}] array containing \dusa{nvar} real values.

\item[\moc{VAR-VAL-MIN}] keyword to specify the minimum values of the control variables. These values can also be set in a previous call
to module {\tt GRAD:}.

\item[\dusa{vecmin}] array containing \dusa{nvar} real values.

\item[\dusa{varmin}] single real value used for all control variables.

\item[\moc{VAR-VAL-MAX}] keyword to specify the maximum values of the control variables. These values can also be set in a previous call
to module {\tt GRAD:}.

\item[\dusa{vecmax}] array containing \dusa{nvar} real values.

\item[\dusa{varmax}] single real value used for all control variables.

\item[\moc{FOBJ-CST-VAL}] keyword to specify the value of the objective function followed by the actual values of the constraints. These values can also be set in a previous call
to module {\tt GRAD:} or set in another module.

\item[\dusa{funct}] array containing \dusa{ncst}$+1$ real values.

\item[\moc{CST-TYPE}] keyword to specify the relation types of the constraints. These values can also be set in a previous call
to module {\tt GRAD:}.

\item[\dusa{type}] array containing \dusa{ncst} integer values. These values are: $=-1$ for $\ge$, $=0$ for equalily and $=1$
for $\le$.

\item[\moc{CST-OBJ}] keyword to specify the RHS values of the constraints. These values can also be set in a previous call
to module {\tt GRAD:}.

\item[\dusa{cstval}] array containing \dusa{ncst} real values.

\item[\moc{KEEP}] keyword to specify that the RHS values of the constraints are identical to the values of the previous iteration.

\item[\moc{CST-WEIGHT}] keyword to specify the weights (or penalties) of the constraints. These weights are not used with
Lemke or MAP methods. These values can also be set in a previous call to module {\tt GRAD:}.

\item[\dusa{cstw}] array containing \dusa{ncst} real values.

\end{ListeDeDescription}
\clearpage