~fluidity-core/fluidity/shallow-water-dev

« back to all changes in this revision

Viewing changes to manual/configuring_fluidity.tex

  • Committer: colin.cotter at ac
  • Date: 2012-02-16 17:35:27 UTC
  • mfrom: (3565.1.365 fluidity)
  • Revision ID: colin.cotter@imperial.ac.uk-20120216173527-wpnlu4v9v1kmf4xz
MergeĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2072
2072
\option{\ldots/galerkin\_projection/continuous/bounded::Diffuse}\\
2073
2073
and\\
2074
2074
\option{\ldots/galerkin\_projection/continuous/bounded::Algencan}\\
2075
 
The latter uses the algencan optimisation library to bound the field and requires \fluidity\ to be configured with \lstinline[language=bash]+--enable-algencan+.  The \option{Diffuse} bounding algorithm is internal to \fluidity\ and the most frequently used.
 
2075
The latter uses the algencan optimisation library to bound the field and requires \fluidity\ to be configured with \lstinline [language=bash]+--enable-algencan+.  The \option{Diffuse} bounding algorithm is internal to \fluidity\ and the most frequently used.
2076
2076
 
2077
2077
To use the \option{Diffuse} bounding algorithm \citep{farrell2009a} the number of iterations the algorithm is allowed to take must be specified.  Additionally an optional tolerance can be specified to terminate this iteration loop early.  Furthermore if the bounds on the field are known in advance then these can be specified through:\\
2078
2078
\option{\ldots/bounded::Diffuse/bounds/upper\_bound}\\
2369
2369
\subsection{Restrictions: discretisation options and element pairs}
2370
2370
Either continuous Galerkin or control volumes can be used as discretisation options for pressure and density (both fields need to have the same option). When using control volumes pressure and density have to be on the same order of parent mesh.
2371
2371
 
 
2372
\section{Porous Media Darcy Flow}
 
2373
\label{sec:porous_media_darcy_flow_configure}
 
2374
\index{porous media darcy flow}
 
2375
 
 
2376
\subsection{Single Phase}
 
2377
 
 
2378
This section describes how to configure \fluidity to simulate single phase incompressible Darcy flow.
 
2379
 
 
2380
First, the \option{Porosity} and \option{Permeability} fields found under the option element \option{/porous\_media} require configuring. Both fields can be either \option{prescribed} or \option{diagnostic}. The \option{Permeability} field can be either a \option{scalar\_field} or a \option{vector\_field}. The \option{Porosity} field will only be used in the transport of scalar fields and the metric tensor. The \option{Permeability} field will only be used in forming the absorption coefficient in the Darcy velocity equation. The use of these two fields should be considered when selecting their associated mesh. If \option{Porosity} is to be included in the transport of scalar fields (and the metric tensor) that are discretised using control volumes, due to the way this method is coded, the mesh associated with the \option{Porosity} must be either element wise (meaning discontinuous order zero) or the same order as field to be transported. It is therefore recommended that the \option{Porosity} field always be associated with a mesh that is discontinuous order zero. It is recommended that the \option{Permeability} field also be associated with a mesh that is discontinuous order zero, due to the recommended Darcy velocity - pressure element pair (being p0p1cv or p0p1 with the continuity tested with the p1 control volume dual space)
 
2381
 
 
2382
Second, the prognostic \option{Velocity} vector field of the (only) phase is now taken to be the Darcy velocity \ref{sec:porous_media_darcy_flow_equations}. There is no option to select Darcy flow but this can be achieved via a careful selection of the \option{Velocity} field options tree given by:
 
2383
\begin{itemize}
 
2384
\item the momentum equation must be set to \option{\ldots/equation::Boussinesq},
 
2385
\item the time term must be removed via including the option \option{\ldots/mass\_terms/exclude\_mass\_terms},
 
2386
\item the momentum advection term must be removed via including the option \option{\ldots/discontinuous\_galerkin/advection\_scheme/none} or the option \option{\ldots/continuous\_galerkin/advection\_terms/exclude\_advection\_terms},
 
2387
\item the option \option{\ldots/spatial\_discretisation/conservative\_advection} is not used and can be set to $0.0$,
 
2388
\item the temporal options \option{\ldots/temporal\_discretisation/theta} and \option{\ldots/temporal\_discretisation/relaxation} are not used and can be set to $1.0$,
 
2389
\item the solver options require setting up to solve the resulting symmetric mass matrix that includes the absorption term (which for a discontinuous discretisation is element wise block diagonal),
 
2390
\item the initial condition is only used as the initial guess into the solver as there is no time dependence,
 
2391
\item the absorption term is included via the option \option{\ldots/vector\_field::Velocity/prognostic/vector\_field::Absorption},
 
2392
\item the absorption term must be included in the pressure correction via the option \option{\ldots/vector\_field::Absorption/include\_pressure\_correction},
 
2393
\item the absorption field can be set as prescribed if known or set to be diagnostic and formed using the python diagnostics via \option{\ldots/vector\_field::Absorption/diagnostic/algorithm::vector\_python\_diagnostic},
 
2394
\item the mesh associated with the absorption field is recommended to be discontinuous order zero, 
 
2395
\item the tensor field \option{\ldots/vector\_field::Velocity/prognostic/tensor\_field::Viscosity} must NOT be included as this will automatically include stress terms.
 
2396
\end{itemize}
 
2397
To finish the configure of the Darcy velocity field the absorption coefficient ($\sigma$ in equation \eqref{eq:mom_press_single_phase_darcy}) has to be input as defined by equation \eqref{eq:single_phase_darcy_velocity_abs}. This can be easily achieved using the python diagnostics where it is recommended that a generic field in the associated \option{material\_phase} is used to represent viscosity.
 
2398
 
 
2399
Third, the pressure options require setting where:
 
2400
\begin{itemize}
 
2401
\item it is recommended to use the option \option{\ldots/scalar\_field::Pressure/prognostic/scheme/use\_projection\_method},
 
2402
\item it is recommended to use the option \option{\ldots/scalar\_field::Pressure/prognostic/spatial\_discretisation/control\_volumes} or \option{\ldots/scalar\_field::Pressure/prognostic/spatial\_discretisation/continuous\_galerkin/test\_continuity\_with\_cv\_dual},
 
2403
\item the option \option{\ldots/scalar\_field::Pressure/prognostic/scheme/update\_discretised\_equation} must be included if the absorption term is non linear.
 
2404
\end{itemize}
 
2405
 
 
2406
Fourth, to transport a scalar field (for example \option{Tracer}) through the porous media using the Darcy velocity requires:
 
2407
\begin{itemize}
 
2408
\item the \option{Tracer} field to include the porosity via the option \option{\ldots/scalar\_field::Tracer/prognostic/porosity},
 
2409
\item the \option{ControlVolumeCFLNumber} field to include porosity via the option \option{\ldots/scalar\_field::ControlVolumeCFLNumber/diagnostic/porosity},
 
2410
\item the metric advection to include porosity via the option \option{/mesh\_adaptivity/hr\_adaptivity/metric\_advection/porosity},
 
2411
\item if a diffusivity, absorption or source term is included in the \option{Tracer} equation then the \option{Porosity} must be included manually using the python diagnostics.
 
2412
\end{itemize}
 
2413
 
 
2414
Finally, the inclusion of porosity in any prognostic scalar field, the \option{ControlVolumeCFLNumber} field and the metric advection defaults to use the scalar field named \option{Porosity} and a theta value of $0.0$. These can be changed via the options
 
2415
\begin{itemize}
 
2416
\item \option{\ldots/porosity/porosity\_field\_name},
 
2417
\item \option{\ldots/porosity/temporal\_discretisation/theta}.
 
2418
\end{itemize}