1 |
|
% |
2 |
% $Id$ |
% $Id$ |
3 |
% |
% |
4 |
% Copyright © 2006 by ACcESS MNRF |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
5 |
% \url{http://www.access.edu.au |
% |
6 |
% Primary Business: Queensland, Australia. |
% Copyright 2003-2007 by ACceSS MNRF |
7 |
% Licensed under the Open Software License version 3.0 |
% Copyright 2007 by University of Queensland |
8 |
% http://www.opensource.org/licenses/osl-3.0.php |
% |
9 |
|
% http://esscc.uq.edu.au |
10 |
|
% Primary Business: Queensland, Australia |
11 |
|
% Licensed under the Open Software License version 3.0 |
12 |
|
% http://www.opensource.org/licenses/osl-3.0.php |
13 |
|
% |
14 |
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
15 |
% |
% |
|
|
|
16 |
|
|
17 |
\chapter{The module \linearPDEs} |
\chapter{The module \linearPDEs} |
18 |
|
|
94 |
\begin{equation}\label{LINEARPDE.SINGLE.6} |
\begin{equation}\label{LINEARPDE.SINGLE.6} |
95 |
n\hackscore{j} J^{0}\hackscore{j}=n\hackscore{j} J^{1}\hackscore{j}=y^{contact} - d^{contact}[u] |
n\hackscore{j} J^{0}\hackscore{j}=n\hackscore{j} J^{1}\hackscore{j}=y^{contact} - d^{contact}[u] |
96 |
\end{equation} |
\end{equation} |
97 |
In this case the the coefficient $d^{contact}$ and $y^{contact}$ are eaach \Scalar |
In this case the the coefficient $d^{contact}$ and $y^{contact}$ are each \Scalar |
98 |
both in the \FunctionOnContactZero or \FunctionOnContactOne. |
both in the \FunctionOnContactZero or \FunctionOnContactOne. |
99 |
|
|
100 |
The PDE is symmetrical \index{symmetrical} if |
The PDE is symmetrical \index{symmetrical} if |
116 |
|
|
117 |
\subsection{Classes} |
\subsection{Classes} |
118 |
\declaremodule{extension}{esys.escript.linearPDEs} |
\declaremodule{extension}{esys.escript.linearPDEs} |
119 |
\modulesynopsis{Linear partial pifferential equation handler} |
\modulesynopsis{Linear partial differential equation handler} |
120 |
The module \linearPDEs provides an interface to define and solve linear partial |
The module \linearPDEs provides an interface to define and solve linear partial |
121 |
differential equations within \escript. \linearPDEs does not provide any |
differential equations within \escript. \linearPDEs does not provide any |
122 |
solver capabilities in itself but hands the PDE over to |
solver capabilities in itself but hands the PDE over to |
128 |
to define the Poisson equation \index{Poisson}. |
to define the Poisson equation \index{Poisson}. |
129 |
|
|
130 |
\subsection{\LinearPDE class} |
\subsection{\LinearPDE class} |
131 |
This is the general class to define a linear PDE in \escript. We list a selction of the most |
This is the general class to define a linear PDE in \escript. We list a selection of the most |
132 |
important methods of the class only and refer to reference guide \ReferenceGuide for a complete list. |
important methods of the class only and refer to reference guide \ReferenceGuide for a complete list. |
133 |
|
|
134 |
\begin{classdesc}{LinearPDE}{domain,numEquations=0,numSolutions=0} |
\begin{classdesc}{LinearPDE}{domain,numEquations=0,numSolutions=0} |
135 |
opens a linear, steady, second order PDE on the \Domain \var{domain}. \var{numEquations} |
opens a linear, steady, second order PDE on the \Domain \var{domain}. \var{numEquations} |
136 |
and \var{numSolutions} gives the number of equations and the number of solutiopn components. |
and \var{numSolutions} gives the number of equations and the number of solution components. |
137 |
If \var{numEquations} and \var{numSolutions} is non-positive, the number of equations |
If \var{numEquations} and \var{numSolutions} is non-positive, the number of equations |
138 |
and the number solutions, respctively, stay undefined until a coefficient is |
and the number solutions, respectively, stay undefined until a coefficient is |
139 |
defined. |
defined. |
140 |
\end{classdesc} |
\end{classdesc} |
141 |
|
|
146 |
\optional{, d}\optional{, y} |
\optional{, d}\optional{, y} |
147 |
\optional{, d_contact}\optional{, y_contact} |
\optional{, d_contact}\optional{, y_contact} |
148 |
\optional{, q}\optional{, r}} |
\optional{, q}\optional{, r}} |
149 |
assigns new values to coefficients. By dafault all values are assumed to be zero\footnote{ |
assigns new values to coefficients. By default all values are assumed to be zero\footnote{ |
150 |
In fact it is assumed they are not present by assigning the value \code{escript.Data()}. The |
In fact it is assumed they are not present by assigning the value \code{escript.Data()}. The |
151 |
can by used by the solver library to reduce computational costs. |
can by used by the solver library to reduce computational costs. |
152 |
} |
} |
176 |
\end{methoddesc} |
\end{methoddesc} |
177 |
|
|
178 |
\begin{methoddesc}[LinearPDE]{isUsingLumping}{} |
\begin{methoddesc}[LinearPDE]{isUsingLumping}{} |
179 |
returns \True if \LUMPING is set as the solver for the system of lienar equations. |
returns \True if \LUMPING is set as the solver for the system of linear equations. |
180 |
Otherwise \False is returned. |
Otherwise \False is returned. |
181 |
\end{methoddesc} |
\end{methoddesc} |
182 |
|
|
195 |
|
|
196 |
\begin{methoddesc}[LinearPDE]{setSolverPackage}{\optional{package=LinearPDE.DEFAULT}} |
\begin{methoddesc}[LinearPDE]{setSolverPackage}{\optional{package=LinearPDE.DEFAULT}} |
197 |
Set the solver package to be used by PDE library to solve the linear systems of equations. The |
Set the solver package to be used by PDE library to solve the linear systems of equations. The |
198 |
specified package may not be supported by the PDE solver library. In this case, dependng on |
specified package may not be supported by the PDE solver library. In this case, depending on |
199 |
the PDE solver, the default solver is used or an exeption is thrown. |
the PDE solver, the default solver is used or an exception is thrown. |
200 |
If \var{package} is not specified, the default package of the PDE solver library is used. |
If \var{package} is not specified, the default package of the PDE solver library is used. |
201 |
\end{methoddesc} |
\end{methoddesc} |
202 |
|
|
208 |
\begin{methoddesc}[LinearPDE]{setTolerance}{\optional{tol=1.e-8}}: |
\begin{methoddesc}[LinearPDE]{setTolerance}{\optional{tol=1.e-8}}: |
209 |
resets the tolerance for solution. The actually meaning of tolerance is |
resets the tolerance for solution. The actually meaning of tolerance is |
210 |
depending on the underlying PDE library. In most cases, the tolerance |
depending on the underlying PDE library. In most cases, the tolerance |
211 |
will only consider the error from solving the discerete problem but will |
will only consider the error from solving the discrete problem but will |
212 |
not consider any discretization error. |
not consider any discretization error. |
213 |
\end{methoddesc} |
\end{methoddesc} |
214 |
|
|
327 |
|
|
328 |
\begin{memberdesc}[LinearPDE]{ITERATIVE} |
\begin{memberdesc}[LinearPDE]{ITERATIVE} |
329 |
the default iterative method and preconditioner. The actually used method depends on the |
the default iterative method and preconditioner. The actually used method depends on the |
330 |
PDE solver library and the solver package been choosen. Typically, \PCG is used for symmetric PDEs |
PDE solver library and the solver package been chosen. Typically, \PCG is used for symmetric PDEs |
331 |
and \BiCGStab otherwise, both with \JACOBI preconditioner. |
and \BiCGStab otherwise, both with \JACOBI preconditioner. |
332 |
\end{memberdesc} |
\end{memberdesc} |
333 |
|
|
444 |
\begin{equation}\label{HZ.1} |
\begin{equation}\label{HZ.1} |
445 |
\omega \; u - (k\; u\hackscore{,j})\hackscore{,j} = f |
\omega \; u - (k\; u\hackscore{,j})\hackscore{,j} = f |
446 |
\end{equation} |
\end{equation} |
447 |
with natural boundary conditons |
with natural boundary conditions |
448 |
\begin{equation}\label{HZ.2} |
\begin{equation}\label{HZ.2} |
449 |
k\; u\hackscore{,j} n\hackscore{,j} = g- \alpha \; u |
k\; u\hackscore{,j} n\hackscore{,j} = g- \alpha \; u |
450 |
\end{equation} |
\end{equation} |
468 |
\begin{equation}\label{LE.1} |
\begin{equation}\label{LE.1} |
469 |
-\mu (u\hackscore{i,j}+u\hackscore{j,i})+\lambda u\hackscore{k,k})\hackscore{j} = F\hackscore{i}-\sigma\hackscore{ij,j} |
-\mu (u\hackscore{i,j}+u\hackscore{j,i})+\lambda u\hackscore{k,k})\hackscore{j} = F\hackscore{i}-\sigma\hackscore{ij,j} |
470 |
\end{equation} |
\end{equation} |
471 |
with natural boundary conditons: |
with natural boundary conditions: |
472 |
\begin{equation}\label{LE.2} |
\begin{equation}\label{LE.2} |
473 |
n\hackscore{j}(\mu \; (u\hackscore{i,j}+u\hackscore{j,i})+\lambda*u\hackscore{k,k}) = f\hackscore{i}+n\hackscore{j}\sigma\hackscore{ij} |
n\hackscore{j}(\mu \; (u\hackscore{i,j}+u\hackscore{j,i})+\lambda*u\hackscore{k,k}) = f\hackscore{i}+n\hackscore{j}\sigma\hackscore{ij} |
474 |
\end{equation} |
\end{equation} |