From 2c84e1e1332c6871aa12b0df1835f073830dc36e Mon Sep 17 00:00:00 2001
From: Thomas Toulorge <thomas.toulorge@mines-paristech.fr>
Date: Tue, 18 Nov 2014 10:49:47 +0000
Subject: [PATCH] Added doc on mesh optimizer

---
 .../doc/figures/log_barrier/Makefile          |   4 +
 .../doc/figures/log_barrier/log_barrier.pdf   | Bin 0 -> 28796 bytes
 .../doc/figures/log_barrier/log_barrier.tex   |  16 +
 .../figures/log_barrier/log_barrier_max.pdf   | Bin 0 -> 28746 bytes
 .../figures/log_barrier/log_barrier_max.tex   |  17 +
 .../doc/figures/opti_process/Makefile         |   4 +
 .../doc/figures/opti_process/opti2.dat        |  71 ++
 .../doc/figures/opti_process/opti_process.pdf | Bin 0 -> 60448 bytes
 .../doc/figures/opti_process/opti_process.tex |  40 +
 .../doc/figures/patches/patch_def.png         | Bin 0 -> 15744 bytes
 .../doc/figures/patches/patch_tangled.png     | Bin 0 -> 16690 bytes
 .../doc/figures/patches/patch_untangled.png   | Bin 0 -> 15945 bytes
 .../doc/figures/patches/patchdef.xcf          | Bin 0 -> 86327 bytes
 .../doc/figures/untangling/linear.pdf         | Bin 0 -> 18894 bytes
 .../doc/figures/untangling/p2.pdf             | Bin 0 -> 19114 bytes
 .../doc/figures/untangling/p2_bad.pdf         | Bin 0 -> 18933 bytes
 .../MeshOptimizer/doc/mesh_optimization.tex   | 833 ++++++++++++++++++
 17 files changed, 985 insertions(+)
 create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/Makefile
 create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.pdf
 create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.tex
 create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.pdf
 create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.tex
 create mode 100644 contrib/MeshOptimizer/doc/figures/opti_process/Makefile
 create mode 100644 contrib/MeshOptimizer/doc/figures/opti_process/opti2.dat
 create mode 100644 contrib/MeshOptimizer/doc/figures/opti_process/opti_process.pdf
 create mode 100644 contrib/MeshOptimizer/doc/figures/opti_process/opti_process.tex
 create mode 100644 contrib/MeshOptimizer/doc/figures/patches/patch_def.png
 create mode 100644 contrib/MeshOptimizer/doc/figures/patches/patch_tangled.png
 create mode 100644 contrib/MeshOptimizer/doc/figures/patches/patch_untangled.png
 create mode 100644 contrib/MeshOptimizer/doc/figures/patches/patchdef.xcf
 create mode 100644 contrib/MeshOptimizer/doc/figures/untangling/linear.pdf
 create mode 100644 contrib/MeshOptimizer/doc/figures/untangling/p2.pdf
 create mode 100644 contrib/MeshOptimizer/doc/figures/untangling/p2_bad.pdf
 create mode 100644 contrib/MeshOptimizer/doc/mesh_optimization.tex

diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/Makefile b/contrib/MeshOptimizer/doc/figures/log_barrier/Makefile
new file mode 100644
index 0000000000..515b395b75
--- /dev/null
+++ b/contrib/MeshOptimizer/doc/figures/log_barrier/Makefile
@@ -0,0 +1,4 @@
+%.pdf : %.tex
+	pdflatex --shell-escape $<
+clean :
+	${RM} *.gnuplot *.table *.aux *.log
diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.pdf b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..c288af6d3912406372e1b4b08b7b3a1242a97956
GIT binary patch
literal 28796
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

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.tex b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.tex
new file mode 100644
index 0000000000..5cfc664844
--- /dev/null
+++ b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.tex
@@ -0,0 +1,16 @@
+\documentclass{standalone}
+\usepackage{tikz}
+\begin{document}
+\begin{tikzpicture}[yscale = 0.25, xscale = 2]
+  \draw[thick, ->] (0,0) -- (3.2,0) node[right] {$m$};
+  \draw[thick, ->] (0,0) -- (0,17) node[left] {$F_{\epsilon,\omega}$};
+%  \node at (2, 12) {$F_{\epsilon,\omega}(m) = (m - \omega)^2 + \log\Big(\frac{m - \epsilon} {\omega - \epsilon}\Big)^2$};
+  \foreach \y in {0, 5, 10, 15}
+    \draw[thick, shift={(0, \y)}] node[left] {$\y$}(-1pt, 0pt) -- (0pt,0pt) ;
+  \foreach \x in {0, 1, 2, 3}
+    \draw[thick, shift={(\x, 0)}] node[below] {$\x$}(0pt, -8pt) -- (0pt,0pt) ;
+  \clip(-1,-2) rectangle(3.5, 17);
+  \draw[very thick, dashed](0.2, 0) node[below]{$\epsilon$}-- (0.2, 20);
+  \draw[thick, domain = 0.2:3, samples=300] plot[id=opti] function{(log((x - 0.2)/ 0.8))**2 + (x - 1)**2}; 
+\end{tikzpicture}
+\end{document}
diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.pdf b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..7140741c42bbaaef76123ad848e7c5e37ff683c4
GIT binary patch
literal 28746
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

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.tex b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.tex
new file mode 100644
index 0000000000..5aa30df926
--- /dev/null
+++ b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.tex
@@ -0,0 +1,17 @@
+\documentclass{standalone}
+% Paper size: 3.58in,2.03in
+\usepackage{tikz}
+\begin{document}
+\begin{tikzpicture}[yscale = 0.25, xscale = 2]
+  \draw[thick, ->] (0,0) -- (3.2,0) node[right] {$m$};
+  \draw[thick, ->] (0,0) -- (0,17) node[left] {$F_{\epsilon,\omega}$};
+%  \node at (1.4, 12) {$F_{\epsilon,\omega}(m) = (m - \omega)^2 + \log\Big(\frac{m - \epsilon} {\omega - \epsilon}\Big)^2$};
+  \foreach \y in {0, 5, 10, 15}
+    \draw[thick, shift={(0, \y)}] node[left] {$\y$}(-1pt, 0pt) -- (0pt,0pt) ;
+  \foreach \x in {0, 1, 2, 3}
+    \draw[thick, shift={(\x, 0)}] node[below] {$\x$}(0pt, -8pt) -- (0pt,0pt) ;
+  \clip(-1,-2) rectangle(3.5, 17);
+  \draw[very thick, dashed](2.75, 0) node[below]{$\epsilon$}-- (2.75, 20);
+  \draw[thick, domain = 0:2.75, samples=300] plot[id=opti] function{(log((x - 2.75)/ -1.75))**2 + (x - 1)**2}; 
+\end{tikzpicture}
+\end{document}
diff --git a/contrib/MeshOptimizer/doc/figures/opti_process/Makefile b/contrib/MeshOptimizer/doc/figures/opti_process/Makefile
new file mode 100644
index 0000000000..c57c1e8936
--- /dev/null
+++ b/contrib/MeshOptimizer/doc/figures/opti_process/Makefile
@@ -0,0 +1,4 @@
+opti_process.pdf : opti_process.tex
+	pdflatex --shell-escape $<
+clean :
+	${RM} *.gnuplot *.table *.aux *.log
diff --git a/contrib/MeshOptimizer/doc/figures/opti_process/opti2.dat b/contrib/MeshOptimizer/doc/figures/opti_process/opti2.dat
new file mode 100644
index 0000000000..c0093752ee
--- /dev/null
+++ b/contrib/MeshOptimizer/doc/figures/opti_process/opti2.dat
@@ -0,0 +1,71 @@
+-2.64148E+00 0  
+-2.43013E+00 1  
+-1.70784E+00 2  
+-1.48840E+00 3  
+-1.24431E+00 4  
+-1.22296E+00 5  
+-1.46493E+00 6  
+-1.37456E+00 7  
+-1.06042E+00 8  
+-1.08719E+00 9  
+-7.98080E-01 10 
+-6.91630E-01 11 
+-5.29097E-01 12 
+-7.59110E-01 13 
+-7.96486E-01 14 
+-5.83650E-01 15 
+-5.67035E-01 16 
+-5.54370E-01 17 
+-5.58354E-01 18 
+-4.42153E-01 19 
+-5.31631E-01 20 
+-3.67621E-01 21 
+-2.35836E-01 22 
+-3.03352E-01 23 
+-1.23011E-01 24 
+-3.10858E-01 25 
+-2.79462E-01 26 
+-3.07822E-01 27 
+-3.90367E-01 28 
+-2.83299E-01 29 
+-3.25716E-01 30 
+-2.32968E-01 31 
+-6.45337E-02 32 
+-7.54033E-02 33 
+ 1.03627E-01 34 
+ 1.10993E-01 35 
+ 1.57424E-01 36 
+ 1.12755E-01 37 
+ 1.15172E-01 38 
+ 1.96417E-01 39 
+ 1.59601E-01 40 
+ 2.11292E-01 41 
+ 1.83952E-01 42 
+ 2.25986E-01 43 
+ 2.67051E-01 44 
+ 1.72728E-01 45 
+ 2.87346E-01 46 
+ 2.34241E-01 47 
+ 2.50449E-01 48 
+ 1.53213E-01 49 
+ 2.73509E-01 50 
+ 2.20303E-01 51 
+ 1.71445E-01 52 
+ 2.94302E-01 53 
+ 2.40149E-01 54 
+ 1.62477E-01 55 
+ 2.70177E-01 56 
+ 1.97067E-01 57 
+ 1.49844E-01 58 
+ 3.15566E-01 59 
+ 2.14724E-01 60 
+ 2.78222E-01 61 
+ 3.41295E-01 62 
+ 3.99265E-01 63 
+ 4.07313E-01 64 
+ 4.55684E-01 65 
+ 4.37392E-01 66 
+ 4.56385E-01 67 
+ 4.88812E-01 68 
+ 4.47293E-01 69 
+ 5.02562E-01 70 
diff --git a/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.pdf b/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..6d99b6df1571b44bb9886a1c66a20baca3ef48c4
GIT binary patch
literal 60448
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
Z73A#d>HI!=+^np8oJiEvQYz9&{|5~7+JOK7

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.tex b/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.tex
new file mode 100644
index 0000000000..b6a59c1672
--- /dev/null
+++ b/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.tex
@@ -0,0 +1,40 @@
+\documentclass{standalone}
+\usepackage{tikz}
+\begin{document}
+\begin{tikzpicture}[yscale = 0.06, xscale = 1.8, thick]
+  %\node at (-1.4, 40) {\Large $\displaystyle J^{\min} = \min_{e,j} \frac{J_{ej}}{J_e^0}$};
+  \draw[dashed, green!70!black](0.5, 0) node[below]{$\bar{\epsilon}$}-- (0.5, 75);
+  \begin{scope}[black]
+    \draw(-3,0) -- (2,0) node[right] {};
+    \foreach \x in {-2, -1, 0, 1, 2}
+      \draw[shift={(\x, 0)}] node[below] {$\x$}(0pt, -20pt) -- (0pt,0pt) ;
+  \end{scope}
+  \begin{scope}[red, yscale = 3]
+    \draw[dashed](-2.9, 0) node[below]{$\epsilon_0$}-- (-2.9, 25) ;
+    \draw[dashed](-0.358, 0) node[below]{$\epsilon_1$}-- (-0.358, 25);
+    \draw[dashed](0.193, 0) node[below]{$\epsilon_2$}-- (0.193, 25);
+    \begin{scope}
+      \clip(-3.5, 0) rectangle(2.4, 25);
+      \draw[domain = -3:2, samples=500] plot[id=opti1] function{(log((x + 2.9)/ 3.9))**2 + (x - 1)**2}; 
+      \draw[domain = -3:2, samples=500] plot[id=opti2] function{(log((x + 0.358)/ 1.358))**2 + (x - 1)**2}; 
+      \draw[domain = -3:2, samples=500] plot[id=opti3] function{(log((x - 0.193)/ 0.807))**2 + (x - 1)**2}; 
+    \end{scope}
+    \node at (-2.50, 25) {$f_{\epsilon_0,\omega}$};
+    \node at (-0.10, 25) {$f_{\epsilon_1,\omega}$};
+    \node at (0.45, 25) {$f_{\epsilon_2,\omega}$};
+    \foreach \y in {0, 5, 10, 15, 20}
+      \draw[shift={(2, \y)}] node[right] {$\y$}(0pt, 0pt) -- (1pt,0pt) ;
+    \draw[->] (2,0) -- (2,25) node[right] {$f_{\epsilon,\omega}$};
+  \end{scope}
+  \begin{scope}[blue]
+    \draw plot file {opti2.dat} node[right]{$m$};
+    \node at (-2.641, 0) {$\bullet$};
+    \node at (-0.3257, 30) {$\bullet$};
+    \node at (0.214, 60) {$\bullet$};
+    \node at (0.5025, 70) {$\bullet$};
+    \draw[->] (-3,0) -- (-3,75) node[left] {Iterations};
+    \foreach \y in {0, 30, 60}
+      \draw[shift={(-3, \y)}] node[left] {$\y$}(-1pt, 0pt) -- (0pt,0pt) ;
+  \end{scope}
+\end{tikzpicture}
+\end{document}
diff --git a/contrib/MeshOptimizer/doc/figures/patches/patch_def.png b/contrib/MeshOptimizer/doc/figures/patches/patch_def.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab24babdab6855bb239548774d52fed6524230b4
GIT binary patch
literal 15744
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
OJ9*6fDD{Zr&Hn@M;r_M&

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/figures/patches/patch_tangled.png b/contrib/MeshOptimizer/doc/figures/patches/patch_tangled.png
new file mode 100644
index 0000000000000000000000000000000000000000..343bb769d027944518dd4ef6bd39a948731629e1
GIT binary patch
literal 16690
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

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/figures/patches/patch_untangled.png b/contrib/MeshOptimizer/doc/figures/patches/patch_untangled.png
new file mode 100644
index 0000000000000000000000000000000000000000..f9cc54230a49433bbe07167003a590aed3cea56d
GIT binary patch
literal 15945
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
B0E_?t

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/figures/patches/patchdef.xcf b/contrib/MeshOptimizer/doc/figures/patches/patchdef.xcf
new file mode 100644
index 0000000000000000000000000000000000000000..6a507128e9285fe7f381827c1f92f7b2b69b90ea
GIT binary patch
literal 86327
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
Ve_zA<a~b}A{7+=~I{r1`{~uoy&g%dG

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/figures/untangling/linear.pdf b/contrib/MeshOptimizer/doc/figures/untangling/linear.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..54300e6d637db86121d4c3c32773fe20b14f63b6
GIT binary patch
literal 18894
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

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/figures/untangling/p2.pdf b/contrib/MeshOptimizer/doc/figures/untangling/p2.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..bc47412ff8e1d3e10d5b8a476efe571c887eb2b7
GIT binary patch
literal 19114
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

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/figures/untangling/p2_bad.pdf b/contrib/MeshOptimizer/doc/figures/untangling/p2_bad.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..895b9f35e94be9591fd88528082a7508dd102f8e
GIT binary patch
literal 18933
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
G8y5ghd2v(#

literal 0
HcmV?d00001

diff --git a/contrib/MeshOptimizer/doc/mesh_optimization.tex b/contrib/MeshOptimizer/doc/mesh_optimization.tex
new file mode 100644
index 0000000000..729a804861
--- /dev/null
+++ b/contrib/MeshOptimizer/doc/mesh_optimization.tex
@@ -0,0 +1,833 @@
+%
+% Template for IDIHOM technical reports
+%
+%  to be processed with pdflatex
+%
+% based on initial design by K. Hillewaert
+
+\documentclass[12pt,a4paper,a4wide]{article}
+
+% ------------------------------------------------------------------------------
+% packages
+% ------------------------------------------------------------------------------
+
+% inclusion of non ps-graphics
+\usepackage{graphicx,psfrag}
+\usepackage{subfig}
+\usepackage{epstopdf}
+\usepackage{amsfonts,amsmath,amssymb,amscd}
+% typesetting headers and footers 
+\usepackage{fancyhdr}
+%\usepackage{lastpage}
+
+% fancy links
+\usepackage{color}
+\usepackage[citecolor=blue,linkcolor=blue,colorlinks=true]{hyperref}
+
+\usepackage{parskip}
+%\usepackage{alltt}
+\usepackage{verbatim}
+\usepackage[latin1]{inputenc}
+\usepackage{float}
+\usepackage{url}
+%\usepackage[francais]{babel}
+%\def\baselinestretch{2}
+
+%\floatstyle{ruled}
+%\newfloat{algorithm}{tbp}{loa}
+%\floatname{algorithm}{Algorithm}
+
+\graphicspath{{figures/}}
+
+\renewcommand{\vec}[1]{\ensuremath{\text{\boldmath $#1$\unboldmath}}}
+\newcommand{\mvx}{\vec{x}}
+
+% ------------------------------------------------------------------------------
+% modify here the properties of the document
+% ------------------------------------------------------------------------------
+
+%\newcommand{\reference}{D4.1-30b}
+%\newcommand{\shorttitle}{Curvilinear Mesh Generation Capability in Gmsh}
+%\newcommand{\theauthor}{T. Toulorge, J.F. Remacle}
+ 
+\title{Mesh Optimization in Gmsh}
+\author{Thomas Toulorge}
+\date{November 2014}
+
+% ------------------------------------------------------------------------------
+% page title and table of contents
+% ------------------------------------------------------------------------------
+
+\begin{document}
+
+% ------------------------------------------------------------------------------
+% define headers and footers
+% ------------------------------------------------------------------------------
+
+%\pagestyle{fancy}
+
+% header from left to right
+%\lhead{\includegraphics[width=0.1\textwidth]{figures/idihom_105px}}
+%\chead{}
+%\rhead{\small{\textit{\reference~-~\shorttitle}}}
+%\renewcommand{\headrulewidth}{0.4pt}
+
+% footer from left to right
+%\renewcommand{\footrulewidth}{0.4pt}
+%\lfoot{\nouppercase{\leftmark}}
+%\cfoot{}
+%\rfoot{\thepage/\pageref{LastPage}}
+%\newcommand{\chaptermark}[1]{\markboth{#1}{}}
+
+% ------------------------------------------------------------------------------
+% main text 
+% ------------------------------------------------------------------------------
+
+%\newpage
+\maketitle
+
+
+\section{Introduction}
+
+The quality of the meshes generated by Gmsh in a first step is
+sometimes not satisfying. The mesh optimization tool aims to
+improve the meshes with respect to a given set of quality measures
+without performing any topological operation. The tool is designed
+to improve locally bad (or even invalid) meshes by using an
+optimization algorithm that moves the mesh vertices.
+
+
+\section{Method}
+
+
+\subsection{Problem Definition}\label{sec:problem-def}
+
+In order to improve the mesh, an optimization problem is defined:
+\[
+\min_{\mvx_i} F(\mvx_i)
+\]
+where the variables $\mvx_i$ are the vertex positions, and the objective
+function $F$ takes into account the quality measures of interest. The
+position of a vertex in the interior of the computational domain
+is normally expressed in terms of its spatial coordinates ($x$, $y$ and
+$z$). Vertices classified on a boundary are allowed to move along the
+corresponding geometric entity, in case a CAD model is available:
+the variables associated to such a vertex are then its parametric
+coordinates, as provided by the CAD modeler. Thus, vertices
+classified on model edges will have as only degree of freedom the
+parametric coordinate $u$, while vertices classified on model faces
+will have two degrees of freedom $u$ and $v$. Vertices classified on
+a model vertex will not be allowed to move.
+
+The objective function $F$ is the function of all variables $\mvx_i$
+to be minimized by moving the nodes. It is the sum of several
+\emph{contributions}:
+\[
+F(\mvx_i) = \sum_{j} F_j(\mvx_i),
+\]
+where each contribution $F_j(\mvx_i)$ is actually a function of
+a \emph{measure} $m_j(\mvx_i)$:
+\[
+F_j(\mvx_i) = f_j[m_j(\mvx_i)].
+\]
+A measure is usually a quantity of interest
+characterizing the quality or the validity of the mesh (for
+instance the scaled Jacobian in high-order meshes). Nevertheless,
+a contribution proportional to the square of the node displacement
+is often included in the objective function, so that the mesh
+remains as similar as possible to the original one, while complying
+with other quality constraints.
+
+
+\subsection{Moving Barriers}
+
+Most often, the mesh optimizer is used to change the mesh so that a
+quality or a validity measure lies within a given range of values.
+For this purpose, a \emph{log barrier} is used:
+\[
+f_{\epsilon,\omega}(m) = (m - \omega)^2 +
+\log\left(\frac{m-\epsilon}{\omega-\epsilon}\right)^2,
+\]
+where $\omega$ is the optimal value of the measure $m$, and $\epsilon$
+is a value for which the function blows up (cf.
+figure~\ref{fig:barrier}). Thus, setting $\epsilon<\omega$ ensures that
+the measure $m$ will never drop below the value of $\epsilon$ during the
+optimization procedure. Likewise, setting $\epsilon>\omega$ ensures that
+$m$ will never exceed $\epsilon$.
+
+\begin{figure}
+%\begin{center}
+\centering
+\includegraphics[width=0.45\textwidth]{log_barrier/log_barrier}
+\includegraphics[width=0.45\textwidth]{log_barrier/log_barrier_max}
+%\end{center}
+\caption{Barrier function for $\omega=1$ and
+$\epsilon<\omega$ (left) or $\epsilon>\omega$
+(right)\label{fig:barrier}} 
+\end{figure}
+
+In order for the measure $m$ to remain in the domain of definition of
+the barrier function $f_{\epsilon,\omega}$, the value of $\epsilon$ must
+be lower than the minimum of $m$ in the domain or subdomain of interest.
+Thus, a constraint forcing the measure $m$ to increase to reach a target
+minimum value $\bar{\epsilon}$ is introduced through a \emph{moving
+barrier}: a sequence of optimization problems is solved. A conjugate
+gradient optimization algorithm is applied to each problem, so that $m$
+progressively increases. Each run is stopped after a fixed number of
+iterations, when stagnation in $m$ is detected, or when the target
+criterion $m\geq\bar{\epsilon}$ is reached. Between two runs, $\epsilon$
+is reset to a value just below the current minimum value of $m$, so that
+the variables remain in the domain of realizability.
+Fig.~\ref{fig:opti_process} illustrates this process. The same method
+is applied for a maximum constrain.
+
+
+\subsection{Passes}
+
+It is difficult to handle several moving barriers at the same
+time. This is why the optimization procedure can be
+used in successive \emph{passes}, between which the objective function
+changes. For instance, a moving barrier can be used in a first pass to
+bring $m$ to a threshold $m_{\min}$. In a second pass, the objective
+function is composed of a fixed barrier set to $m_{\min}$, plus a moving
+barrier that forces $m$ to drop below a value $m_{\max}$. This technique
+can also prove useful when one wants to impose a constraint on a crucial
+measure $m_1$ in a first pass, and then improve another less important
+one $m_2$ in a second pass. 
+
+\begin{figure}
+%\begin{center}
+\centering
+\includegraphics[width=0.95\textwidth]{opti_process/opti_process}
+%\end{center}
+\caption{Optimization process: three successive series of
+(maximum) 30 conjugate gradient iterations\label{fig:opti_process}} 
+\end{figure}
+
+
+\subsection{Strategy and Mesh Patches}\label{sec:strategy}
+
+A common use case for the mesh optimization tool is when only a few
+small portions of the mesh do not comply with the required quality
+criteria. Involving the whole mesh in the optimization process is then
+unnecessary, or even prohibitively costly. Therefore, the tool makes it
+possible to select \emph{patches} of the mesh (or ``blobs'') in which
+the optimization is performed, while the rest of the domain is left
+untouched.
+
+The first step in the definition of patches consists in identifying
+the mesh elements that do not satisfy the user-defined criteria. A
+primary patch containing a user-defined number $N$ of layers of elements
+surrounding each ``bad'' element is then built. A geometrical criterion
+can also be added: among the elements forming the $N$ layers around the
+bad element, only those located within a user-defined distance are
+retained. This additional criterion is particularly useful when dealing
+with anisotropic meshes, as the boundary layer mesh illustrated in
+Fig.~\ref{fig:patches}.
+%The optimal values for the number of layers $N$
+%and the distance factor are case-dependant: they should involve the lowest
+%number of elements while still leaving the optimization procedure enough
+%freedom to reach a node configuration that complies with the target mesh
+%quality. In complex cases, a unique value of these parameters for the whole
+%mesh may lead to patches that are too large at some locations, but too small
+%at others. It is then beneficial to use the untangling procedure in an
+%adaptive loop where the patch size is progressively increased in case
+%the optimization procedure fails to reach the quality criteria.
+
+A potential problem with the patches created as described above is
+that they may overlap. Let us consider the case of a subdomain built
+around an bad element, that contains another bad element close to its
+boundary: this patch may not provide the necessary degrees of freedom
+to fix the second bad element, thus the optimization procedure can
+fail to reach the mesh quality target in this patch.
+In order to avoid such problems, the user can choose between two
+strategies:
+\begin{description}
+\item[Disjoint patches] Overlapping patches are detected and
+merged. This strategy ensures that each invalid element in a patch
+has enough surrounding elements for the untangling procedure to
+be successful, provided the primary patches are large enough, but
+it may lead to large patches, which can be computationally expensive.
+\item[``One-by-one'' strategy] The untangling procedure is applied
+sequentially to each patch, with the objective of fixing only
+the invalid element around which it is built, while allowing other
+invalid elements in the same patch to remain broken. This strategy
+lets the untangling procedure work on small-size patches.
+\end{description}
+
+\begin{figure}
+\begin{center}
+\begin{tabular}{ccc}
+\includegraphics[width=0.33\textwidth]{patches/patch_tangled}&
+\includegraphics[width=0.33\textwidth]{patches/patch_def}&
+\includegraphics[width=0.33\textwidth]{patches/patch_untangled}
+\end{tabular}
+\end{center}
+\caption{Detail of a boundary-layer mesh on a curved geometry:
+tangled quadratic mesh (left), patch definition with $N=5$ layers
+in red and geometrical criterion represented by a green circle
+(center), untangled mesh (right).
+\label{fig:patches}}
+\end{figure}
+
+
+\section{Implementation}
+
+
+\subsection{General organization}\label{sec:gen-org}
+
+The code of the optimization tool itself is divided into three main
+parts:
+
+\begin{itemize}
+\item The class \texttt{Patch} handles the information needed from
+and provided to the mesh patch, such as the node coordinates and the
+value of the quality measures and their gradients. It allows to work
+indifferently with physical and parametric node coordinates, and to
+avoid modifying the actual mesh data in Gmsh until the optimization
+has completed successfully.
+\item The class \texttt{MeshOpt} is in charge of setting up and
+running the optimization procedure in a given patch. The computation
+of the objective function, as well as the assessment of the success
+or the failure of the optimization procedure, are handled by classes
+that represent each contribution. These classes derived from
+\texttt{ObjContrib} are called from \texttt{MeshOpt} through the
+class \texttt{ObjectiveFunction}.
+\item The function \texttt{meshOptimizer} and the related functions
+perform the patch selection and execute the overall optimization
+process.
+\end{itemize}
+
+In order to tailor the mesh optimization tool to a new application, it
+is necessary to carry out the following developments:
+\begin{itemize}
+\item Implement the main function setting the input parameters (see
+Section~\ref{sec:input-param}) and calling the function
+\texttt{meshOptimizer}.
+\item Implement the class derived from \texttt{MeshOptPatchDef}
+that drives the patch selection process (see
+Section~\ref{sec:patch-selec}).
+\item Implement the classes derived from \texttt{ObjContrib} that
+compute the different contributions to the objective function and
+check the corresponding criteria (see Section~\ref{sec:obj-func}).
+\item Implement the appropriate measure(s) in the class
+\texttt{Patch}.
+\end{itemize}
+
+These steps are detailed in the following sections.
+
+\subsection{Input Parameters}\label{sec:input-param}
+
+The input parameters that control the optimization process are
+provided to \texttt{meshOptimizer} through the structure
+\texttt{MeshOptParameters}:
+
+\begin{verbatim}
+struct MeshOptParameters {
+  int dim ;
+  bool onlyVisible ;
+  bool fixBndNodes;
+  bool useGeomForPatches, useGeomForOpt;
+  MeshOptPatchDef *patchDef;
+  std::vector<MeshOptPass> pass;
+  int optDisplay;
+  int verbose;
+  int success;
+  double CPU;
+};
+\end{verbatim}
+
+This structure carries the following information:
+\begin{itemize}
+\item The fields \texttt{dim} and \texttt{onlyVisible} specify the
+geometric entities (2D or 3D, all of them or only the visible ones)
+in which the mesh will be optimized.
+\item The field \texttt{fixBndNodes} determines whether the nodes
+located on the boundaries (i.e. the nodes classified on model
+entities of dimension \texttt{dim-1}) should be fixed or allowed to
+move along their respective model entity.
+\item The fields \texttt{useGeomForPatches} and \texttt{useGeomForOpt}
+determine whether the geometrical information (i.e. on which model
+entity each element is classified) should be passed respectively:
+\begin{itemize}
+\item to \texttt{patchDef} (see Section~\ref{sec:patch-selec}), in
+order to take it into account in the selection of mesh patches,
+\item to the classes \texttt{MeshOpt} and \texttt{Patch}, in order
+to take it into account in the evaluation of quality measures.   
+\end{itemize}
+If both fields are set to \texttt{false}, the geometrical information
+is not computed, which may result in an improved performance.
+\item The field \texttt{patchDef} is a pointer on an instance of a
+class derived from \texttt{MeshOptPatchDef}, that implements the
+methods needed to select the mesh patches (see
+Section~\ref{sec:patch-selec}).
+\item The vector \texttt{pass} contains instances of the structure
+\texttt{MeshOptPass}, which determines the optimization procedure
+for each pass, as described hereafter.
+\item The fields \texttt{optDisplay} and \texttt{verbose} control
+the output (respectively the iteration interval at which the progress
+of the Conjugate Gradient procedure is printed to screen and the
+overall level of verbosity).
+\item The fields \texttt{success} and \texttt{CPU} indicate whether
+the overall procedure has been successful (i.e. whether the target
+values for the quality measures have been reached) and how much CPU
+time it used.
+\end{itemize}
+
+The structure \texttt{MeshOptPass}, that specifies the optimization
+procedure for each pass, is as follows:
+
+\begin{verbatim}
+struct MeshOptPass {
+  std::vector<ObjContrib*> contrib;
+  int optIterMax;
+  int barrierIterMax;
+};
+\end{verbatim}
+
+where:
+
+\begin{itemize}
+\item The vector \texttt{contrib} contains pointers on instances
+of classes derived from \texttt{ObjContrib}, each instance
+describing a contribution to the objective function (see
+Section~\ref{sec:obj-func}).
+\item The field \texttt{optIterMax} gives the maximum number of
+Conjugate Gradient iterations to be performed for a given objective
+function (i.e. before a potential log barrier is moved).
+\item The field \texttt{barrierIterMax} determines the maximum
+number of times the objective function is changed, i.e. the number
+of times a potential log barrier is moved.
+\end{itemize}
+
+
+\subsection{Patch Selection}\label{sec:patch-selec}
+
+The patch selection process is controlled by an application-specific
+class that is derived from \texttt{MeshOptPatchDef}:
+
+\begin{verbatim}
+class MeshOptPatchDef {
+public:
+  enum { STRAT_CONNECTED, STRAT_ONEBYONE };
+  int strategy;
+  int minLayers, maxLayers;
+  union {
+    struct {
+      int maxAdaptPatch;
+      int maxLayersAdaptFact;
+      double distanceAdaptFact;
+    };
+    bool weakMerge;
+  };
+  virtual ~MeshOptPatchDef() {}
+  virtual double elBadness(MElement *el,
+                           GEntity* gEnt) const = 0;
+  virtual double maxDistance(MElement *el) const = 0;
+  virtual int inPatch(const SPoint3 &badBary,
+                      double limDist,
+                      MElement *el,
+                      GEntity* gEnt) const = 0;
+protected:
+  bool testElInDist(const SPoint3 &P, double limDist,
+                    MElement *el) const;
+};
+\end{verbatim}
+
+The fields of this class contain information about the strategy
+and the number of layers in the patch:
+
+\begin{itemize}
+\item The field \texttt{strategy} specifies the overall strategy
+with (\texttt{STRAT\_CONNECTED} for merging overlapping patches
+or \texttt{STRAT\_ONEBYONE} for a sequential treatment, see
+Section~\ref{sec:strategy}).
+\item The fields \texttt{minLayers} and \texttt{maxLayers} give
+respectively the minimum and maximum amount of layers of elements
+surrounding the bad element to be included in the patch.
+\item Depending on the strategy chosen, additional information
+must be provided:
+\begin{itemize}
+\item If the strategy is \texttt{STRAT\_CONNECTED}, the field
+\texttt{weakMerge} specifies whether two patches are merged if
+they overlap (value \texttt{false}), or only if a bad element
+of one patch is included in the other one (value \texttt{true}).
+\item If the strategy is \texttt{STRAT\_ONEBYONE}, an adaptive
+process loop is used: the patch size is progressively increased
+in case the optimization procedure fails. The maximum number of
+adaptations is then controlled by the field \texttt{maxAdaptPatch}.
+The growth factor in maximum number of layers and in the maximum
+distance criterion at each adaptation is specified by the fields
+\texttt{maxLayersAdaptFact} and \texttt{distanceAdaptFact}
+respectively.
+\end{itemize}
+\end{itemize}
+
+Application-specific control of the patch selection is achieved
+through the pure virtual methods \texttt{elBadness},
+\texttt{maxDistance} and \texttt{inPatch}, that have to be
+implemented in a derived class:
+\begin{itemize}
+\item \texttt{elBadness} determines the ``badness'' of an element:
+it returns a negative value for a bad element and a positive value
+for a good element. The return value is a floating point instead of
+a boolean because the tool always deals with the patches in
+decreasing order of badness in the \texttt{STRAT\_ONEBYONE} strategy.
+\item \texttt{maxDistance} returns the value the maximum distance
+criterion for a given bad element. This value matters only if the
+criterion is used in the method \texttt{inPatch}.
+\item \texttt{inPatch} determines whether a given element should be
+included in a patch. It returns an integer value:
+\begin{itemize}
+\item $-1$ means that the element should not be included in the patch,
+\item $0$ means that the element should be included in the patch only if
+it belongs to a layer below \texttt{minLayers},
+\item $1$ means that the element should be included in the patch if
+it belongs to a layer below \texttt{maxLayers}.
+\end{itemize}
+This system makes the patch selection very flexible. For instance, it is
+possible to exclude unconditionally certain type of elements, or to take
+into account certain criteria only in layers between \texttt{minLayers}
+and \texttt{maxLayers}. Moreover, the protected method
+\texttt{testElInDist} can be called from \texttt{inPatch} for an
+efficient test of the distance criterion, if desired.
+\end{itemize}
+
+
+
+\subsection{Objective Function}\label{sec:obj-func}
+
+As explained in Section~\ref{sec:problem-def}, the objective
+function is defined as a sum of contributions, each
+contribution being a function of a single measure. In practice,
+it is important to follow the progress of the measure to determine
+whether the optimization procedure is successful. To this end, the
+extrema (minimum and maximum) of the measure over the patch under
+consideration are evaluated during the computation of the contribution.
+Three criteria are associated to each contribution:
+\begin{itemize}
+\item A success criterion tests whether the minimum (or maximum)
+of the measure is greater (respectively lower) than the target value,
+\item A failure criterion tests whether the minimum (or maximum)
+of the measure is lower (respectively greater) than a critical value
+(for instance the value 0 for the scaled Jacobian in high-order meshes,
+below which the mesh is invalid),
+\item A stagnation criterion tests whether the minimum (or maximum)
+of the measure stagnates compared to the start of the conjugate
+gradient algorithm.
+\end{itemize}
+Thus, a mesh that does not fulfill the failure criterion anywhere can
+be considered as acceptable, even if the target has not been reached
+in some patches. The stagnation criterion avoids wasting
+computation time in problematic cases by stopping an optimization
+procedure that does not improve the measure.
+
+As mentioned in Section~\ref{sec:gen-org}, the contributions
+are defined by specifying in \texttt{MeshOptPass} a vector of
+pointers on instances of classes derived from \texttt{ObjContrib}.
+The class \texttt{ObjContrib} is as follows:
+
+\begin{verbatim}
+class ObjContrib
+{
+public:
+  ObjContrib(std::string mesName, std::string name);
+  virtual ~ObjContrib() {}
+  virtual ObjContrib *copy() const = 0;
+  const double getMin() { return _min; }
+  const double getMax() { return _max; }
+  const std::string &getName() const { return _name; }
+  const std::string &getMeasureName() const {
+    return _measureName;
+  }
+  virtual void initialize(Patch *mesh) = 0;
+  virtual bool fail() = 0;
+  virtual bool addContrib(double &Obj,
+                          alglib::real_1d_array &gradObj) = 0;
+  virtual void updateParameters() = 0;
+  virtual bool targetReached() = 0;
+  virtual bool stagnated() = 0;
+  virtual void updateMinMax() = 0;
+  void updateResults();
+
+protected:
+  static const double BIGVAL;
+  ObjContrib *_parent;
+  std::string _measureName, _name;
+  double _min, _max;
+};
+\end{verbatim}
+
+A class defining a contribution should derive from \texttt{ObjContrib}.
+One instance should be defined through the constructor in the function
+calling the optimization tool, and passed through \texttt{MeshOptPass}.
+Then, a new copy of this ``parent'' instance is used for each patch.
+\texttt{ObjContrib} stores the pointer to the parent instance
+(\texttt{\_parent}), the name of the contribution and the corresponding
+measure (\texttt{\_name}, \texttt{\_measureName}) for output purposes, and
+the extrema of the measure (\texttt{\_min}, \texttt{\_max}) for the
+evaluation of target criteria. The method \texttt{updateResults} updates
+the extrema of the measure in the parent instance for reporting purposes.
+A derivative class should implement the following methods:
+
+\begin{itemize}
+\item The constructor \texttt{ObjContrib} may be needed if fixed
+user-defined parameters shall be provided to the contribution (for
+instance, a weight factor in the objective function).
+\item The method \texttt{copy} returns a new copy of the instance.
+\item The method \texttt{initialize} is in charge of initializing
+the contribution for each patch, i.e. setting up the fields and
+calling the initialization methods of the measure in the class
+\texttt{Patch}.
+\item The method \texttt{fail} returns whether the measure fails
+to fulfill a critical criterion. The whole process is considered
+as failed if this method returns \texttt{true} for at least one
+of the patches at the end of the optimization procedure.
+\item The method \texttt{addContrib} computes the contribution
+and its gradients and evaluates the extrema of the measure at
+the same time.
+\item The method \texttt{updateParameters} recalculates the
+parameters of the contribution (e.g. the blow-up value $\epsilon$
+for a log barrier). It is called before each run of the
+conjugate gradient algorithm.
+\item The method \texttt{targetReached} checks whether the target
+value has been reached for the corresponding measure. The
+optimization procedure for a patch is considered successful
+and stops when this method returns \texttt{true} for all the
+contributions.
+\item The method \texttt{stagnated} checks whether the corresponding
+measure stagnates compared to its value at the beginning of the
+conjugate gradient run. In case it returns \texttt{true} for at least
+one contribution, the run is stopped.
+\item The method \texttt{updateMinMax} recomputes the extrema of
+the corresponding measure.
+\end{itemize}
+
+The derivative class is thus in charge of evaluating the measures
+by calling the appropriate methods of the class \texttt{Patch},
+applying the function to it and defining the success, failure and
+stagnation criteria. In order to make the implementation easier
+and flexible, several functions along with the corresponding
+criteria are already implemented:
+
+\begin{itemize}
+\item The class \texttt{ObjContribFuncSimple} simply gives
+the value of the measure, with no particular criterion (it is always
+successful, never fails and never stagnates).
+\item The class \texttt{ObjContribFuncBarrierMovMin} implements
+a moving log barrier against the minimum of the measure, with a
+user-defined critical value.
+\item The class \texttt{ObjContribFuncBarrierMovMax} performs
+the same role for the  maximum of the measure.
+\item The class \texttt{ObjContribFuncBarrierFixMinMovMax} sets
+two log barriers: a fixed one against the minimum of the measure
+and a moving one against the maximum of the measure.
+\end{itemize}
+
+It is then possible to implement a contribution as a class deriving
+from \texttt{ObjContrib} and a template parameter that is
+instantiated with one of the function classes described above.
+
+
+\section{Applications}
+
+\subsection{High-Order Mesh Optimizer}
+
+The generation of a high-order mesh with Gmsh starts with creating a
+straight sided mesh. Then, each mesh entity corresponding to a curved
+boundary of the domain is curved by adding high-order mesh points on
+the model entity on which it is classified. This naive procedure does
+not ensure that all the elements of the final curved mesh are valid,
+as illustrated in Figure \ref{fig:untangling}. The high-order mesh
+optimizer aims to fix the invalid elements created by this process
+by ensuring that their scaled Jacobian, whose bounds are evaluated in
+a robust manner~\cite{bounds-jcp}, is positive and lies within a
+user-defined range $[J_{\min}, J_{\max}]$. More details are available
+in Ref.~\cite{untangling-jcp}.
+
+\begin{figure}
+  \begin{center}
+  \begin{tabular}{ccc}
+  \includegraphics[width=0.3\textwidth]{untangling/linear} &
+  \includegraphics[width=0.3\textwidth]{untangling/p2_bad} &
+  \includegraphics[width=0.3\textwidth]{untangling/p2}\\
+  First-order mesh & High-order vertices &\textbf{Untangling}
+  \end{tabular}
+\end{center}
+\caption{Straight sided mesh (left) basic curvilinear (quadratic)
+mesh with tangled elements (center) and untangled mesh (right).
+\label{fig:untangling}}
+\end{figure}
+
+To this end, elements whose scaled Jacobian lies outside the
+range $[J_{\min}, J_{\max}]$ are considered as bad elements. Two
+optimization passes are defined. In the first pass, two
+contributions are included: the square of the node displacement
+(see Section~\ref{sec:problem-def}) and a moving log barrier against
+the minimum of the scaled Jacobian, with $J_{\min}$ as target value
+and $0$ as critical value. In the second pass, the moving barrier
+against the minimum scaled Jacobian is replaced by a fixed barrier
+on the minimum scaled Jacobian plus a moving barrier on the maximum
+scaled Jacobian with $J_{\max}$ as target value.
+
+
+The high-order mesh optimizer is accessible from the ``High order
+tools'' window in Gmsh's graphical interface. The parameters are
+as follows:
+
+\begin{itemize}
+\item \texttt{Target Jacobian range} corresponds to $J_{\min}$ and
+$J_{\max}$.
+\item \texttt{Number of layers} is the maximum number of layers
+around a bad element to be included in a patch (see \texttt{minLayers}
+in Section~\ref{sec:patch-selec}).
+\item \texttt{Distance factor} controls the distance criterion
+for the creation of patches (see Section~\ref{sec:patch-selec}). The
+factor is multiplied by the maximum distance, among all high-order
+nodes in a bad element, between the node and the corresponding location
+in a straight-sided version of the bad element.
+\item \texttt{Boundary nodes} determines whether the boundary nodes
+are fixed or are allowed to move along the corresponding boundary
+in case a CAD model is available.
+\item \texttt{W fixed} and \texttt{W free} are the relative weights
+of the node displacement contribution for fixed and free vertices
+respectively, compared to the Jacobian contributions.
+\item \texttt{Maximum number of iterations} is the maximum number
+of iterations in the Conjugate Gradient algorithm (see
+\texttt{optIterMax} in Section~\ref{sec:input-param}).
+\item \texttt{Max. number of optimization passes} is the maximum number
+of times the log barriers are moved (see \texttt{barrierIterMax} in
+Section~\ref{sec:input-param}).
+\item \texttt{Strategy} determines the strategy for the treatment of
+patches (see Sections~\ref{sec:strategy} and~\ref{sec:patch-selec}).
+\item \texttt{Max. number of blob adaptation iter.},
+\texttt{Num. layer adaptation factor} and
+\texttt{Distance adaptation factor} control the adaptation of the
+patch size with the ``adaptive one-by-one'' strategy (see
+\texttt{maxAdaptPatch}, \texttt{maxLayersAdaptFact} and
+\texttt{distanceAdaptFact} in Section~\ref{sec:patch-selec}).
+\end{itemize}
+
+These options are likely to change as the high-order mesh
+optimizer is being further developed.
+
+
+\subsection{Mesh Quality Optimizer}
+
+The mesh quality optimizer aims to improve the quality of meshes,
+as measured by the ``inverse condition number'' quality metric.
+The elements below a quality threshold are marked as bad, and a
+unique optimization pass includes two contributions: the square
+of the node displacement (see Section~\ref{sec:problem-def}) and
+a moving log barrier against the minimum of the quality measure.
+
+The mesh quality optimizer is only accessible through Gmsh's API
+in C++ or Python. It is launched by the function
+\texttt{MeshQualityOptimizer}, that take as arguments a pointer to
+an instance of GModel and a structure \texttt{MeshQualOptParameters}
+as follows:
+\begin{verbatim}
+struct MeshQualOptParameters {
+  bool onlyValidity;
+  bool excludeQuad, excludeHex, excludePrism, excludeBL;
+  double minTargetIdealJac;
+  double minTargetInvCondNum;
+  double weightFixed;
+  double weightFree;
+  int nbLayers;
+  int dim;
+  int optIterMax;
+  int barrierIterMax;
+  bool onlyVisible;
+  double distanceFactor;
+  bool fixBndNodes;
+  int strategy;
+  int maxAdaptBlob;
+  int adaptBlobLayerFact;
+  double adaptBlobDistFact;
+  int SUCCESS;
+  double minIdealJac, maxIdealJac;
+  double minInvCondNum, maxInvCondNum;
+  double CPU;
+
+  MeshQualOptParameters ()
+    : onlyValidity(false), excludeQuad(false),
+      excludeHex(false), excludePrism(false), excludeBL(false),
+      minTargetIdealJac(0.1), minTargetInvCondNum(0.1),
+      weightFixed(1000.), weightFree (1.), nbLayers (6),
+      dim(3), optIterMax(300), barrierIterMax(50),
+      onlyVisible(true), distanceFactor(12),
+      fixBndNodes(false), strategy(0), maxAdaptBlob(3),
+      adaptBlobLayerFact(2.), adaptBlobDistFact(2.), CPU(0.),
+      minIdealJac(0.), maxIdealJac(0.), minInvCondNum(0.),
+      maxInvCondNum(0.), SUCCESS(-1)
+  {
+  }
+};
+\end{verbatim}
+
+Many parameters correspond directly to those of
+\texttt{MeshOptParameters} and \texttt{PatchDef} described in
+Sections~\ref{sec:input-param} and~\ref{sec:patch-selec}. The
+differences are:
+\begin{itemize}
+\item The boolean \texttt{onlyValidity} forces the optimizer to
+use the ``ideal Jacobian'' of the element instead of the inverse
+condition number when set to \texttt{true}.
+\item The booleans \texttt{excludeQuad}, \texttt{excludeHex} and
+\texttt{excludePrism} make it possible to exclude from the
+optimization the quadrangular, prismatic and hexahedral elements
+respectively.
+\item The boolean \texttt{excludeBL}, when set to \texttt{true},
+excludes the boundary layer elements from the optimisation.
+\item The field \texttt{minTargetIdealJac} sets the target value
+for the minimum ideal Jacobian (if \texttt{onlyValidity} is
+\texttt{true}).
+\item The field \texttt{minTargetInvCondNum} sets the target
+value for the inverse condition number (if \texttt{onlyValidity}
+is \texttt{false}).
+\item The fields \texttt{weightFixed} and \texttt{weightFree} are
+the relative weights of the node displacement contribution for
+fixed and free vertices respectively, compared to the inverse
+condition number or Jacobian contribution.
+\item The field \texttt{strategy} determines the strategy in the
+manner of the patch selection options in
+Section~\ref{sec:patch-selec}: $0$ corresponds to
+\texttt{STRAT\_CONNECTED} with \texttt{weakMerge} set to
+\texttt{false}, $1$ corresponds to \texttt{STRAT\_ONEBYONE}
+and $2$corresponds to \texttt{STRAT\_CONNECTED} with
+\texttt{weakMerge} set to \texttt{true}.
+\item The fields \texttt{minIdealJac} and \texttt{maxIdealJac}
+return the extrema of the ideal Jacobian in the output mesh
+(if \texttt{onlyValidity} is \texttt{true}).
+\item The fields \texttt{minInvCondNum} and
+\texttt{maxInvCondNum} return the extrema of the inverse condition
+number in the output mesh (if \texttt{onlyValidity} is
+\texttt{false}).
+\end{itemize}
+
+These options are likely to change as the mesh quality optimizer
+is being further developed.
+
+%-----------------------------------------
+%\clearpage
+%\bibliographystyle{abbrv}
+%\bibliography{D41-30b}
+
+
+\begin{thebibliography}{2}
+
+\bibitem{bounds-jcp}
+A.~Johnen, J.-F.~Remacle, and C.~Geuzaine.
+\newblock Geometrical validity of curvilinear finite elements.
+\newblock {\em J. Comput. Phys.}, 233:359--372, 2013.
+
+\bibitem{untangling-jcp}
+T.~Toulorge, C.~Geuzaine, J.-F. Remacle, and J.~Lambrechts.
+\newblock Robust untangling of curvilinear meshes.
+\newblock {\em J. Comput. Phys.}, 254:8--26, 2013.
+
+\end{thebibliography}
+
+
+\end{document}
-- 
GitLab