# Diff of /trunk/doc/user/Models.tex

revision 2431 by gross, Wed May 13 02:48:39 2009 UTC revision 2432 by gross, Wed May 20 06:06:20 2009 UTC
# Line 375  by positive values \var{location_of_fixe Line 375  by positive values \var{location_of_fixe
375  \subsection{Example: Gravity Flow}  \subsection{Example: Gravity Flow}
376  later  later
377
378  %================================================  %\input{levelsetmodel}
379
%
% \rho c\hackscore{p} \left (\frac{\partial T}{\partial t} + \vec{v} \cdot \nabla T \right ) = k \nabla^{2}T
% \label{HEAT EQUATION}
%
380
% where $\vec{v}$ is the velocity vector, $T$ is the temperature, $\rho$ is the density, $\eta$ is the viscosity, % % $c\hackscore{p}$ is the specific heat at constant pressure and $k$ is the thermal conductivity.

% \subsection{Description}

% \subsection{Method}
%
% \begin{classdesc}{TemperatureCartesian}{dom,theta=THETA,useSUPG=SUPG}
% \end{classdesc}

% \subsection{Benchmark Problem}
%===============================================================================================================

%=========================================================
\input{levelsetmodel}

% \section{Drucker Prager Model}
381
382  \section{Isotropic Kelvin Material \label{IKM}}  \section{Isotropic Kelvin Material \label{IKM}}
383  As proposed by Kelvin~\cite{Muhlhaus2005} material strain $D\hackscore{ij}=\frac{1}{2}(v\hackscore{i,j}+v\hackscore{j,i})$ can be decomposed into  As proposed by Kelvin~\cite{Muhlhaus2005} material strain $D\hackscore{ij}=\frac{1}{2}(v\hackscore{i,j}+v\hackscore{j,i})$ can be decomposed into
528  \eta\hackscore{eff}^{(n)}  \eta\hackscore{eff}^{(n)}
529  \frac{\Theta^{(n)}  + \omega^{(n)}  }  \frac{\Theta^{(n)}  + \omega^{(n)}  }
530  {\eta\hackscore{eff}^{(n)} \Theta^{(n)^2}+\omega^{(n)} })  {\eta\hackscore{eff}^{(n)} \Theta^{(n)^2}+\omega^{(n)} })

531
532
533
534    \subsection{Functions}
535
536    #=============================================================================
537    \begin{classdesc}{IncompressibleIsotropicFlowCartesian}{
538    domain
539    \optional{, stress=0
540    \optional{, v=0
541    \optional{, p=0
542    \optional{, t=0
543    \optional{, numMaterials=1
544    \optional{, verbose=True}}}}}}}
545    opens an incompressible, isotropic flow problem in Cartesian cooridninates.
546    \var{stress},
547    \var{v},
548    \var{p}, and
549    \var{t} set the initial deviatoric stress, velocity, pressure and time.
550    \var{numMaterials} specifies the number of materials used in the power law
551    model. Some progress information are printed if \var{verbose} is set to
552    \True.
553    \end{classdesc}
554
555     setExternals(self, F=None, f=None, fixed_v_mask=None, v_boundary=None):
557    assigns values to external forces and boundary conditions. Between two calls only variables with a new values need to be set.
558
559    In any call all values must be set.
560    \var{f} defines the external force $f$, \var{eta} the viscosity $\eta$,
561    \var{surface_stress} the surface stress $s$ and \var{stress} the initial stress $\sigma$.
562    The locations and compontents where the velocity is fixed are set by
563    the values of \var{fixed_u_mask}. The method will try to cast the given values to appropriate
564    \Data class objects.
565    \end{methoddesc}
566
567    \begin{methoddesc}[StokesProblemCartesian]{solve}{v,p,
568    \optional{max_iter=20, \optional{verbose=False, \optional{usePCG=True}}}}
569    solves the problem and return approximations for velocity and pressure.
570    The arguments \var{v} and \var{p} define initial guess. The values of \var{v} marked
572    If \var{usePCG} is set to \True
573    reconditioned conjugate gradient method (PCG) \index{preconditioned conjugate gradient method!PCG}  scheme is used. Otherwise the problem is solved generalized minimal residual method (GMRES) \index{generalized minimal residual method!GMRES}. In most cases
574    the PCG scheme is more efficient.
575    \var{max_iter} defines the maximum number of iteration steps.
576    If \var{verbose} is set to \True informations on the progress of of the solver are printed.
577    \end{methoddesc}
578
579
580    \begin{methoddesc}[StokesProblemCartesian]{setTolerance}{\optional{tolerance=1.e-4}}
581    sets the tolerance in an appropriate norm relative to the right hand side. The tolerance must be non-negative and less than 1.
582    \end{methoddesc}
583    \begin{methoddesc}[StokesProblemCartesian]{getTolerance}{}
584    returns the current relative tolerance.
585    \end{methoddesc}
586    \begin{methoddesc}[StokesProblemCartesian]{setAbsoluteTolerance}{\optional{tolerance=0.}}
587    sets the absolute tolerance for the error in the relevant norm. The tolerance must be non-negative. Typically the
588    absolute talerance is set to 0.
589    \end{methoddesc}
590    \begin{methoddesc}[StokesProblemCartesian]{getAbsoluteTolerance}{}
591    sreturns the current absolute tolerance.
592    \end{methoddesc}
593    \begin{methoddesc}[StokesProblemCartesian]{setSubProblemTolerance}{\optional{rtol=None}}
594    sets the tolerance to solve the involved PDEs. The subtolerance \var{rtol} should not be choosen to large
595    in order to avoid feed back of errors in the subproblem solution into the outer iteration.
596    On the otherhand is choosen to small compute time is wasted.
597    If \var{rtol} is set to \var{None} the sub-tolerance is set automatically depending on the
598    tolerance choosen for the oter iteration.
599    \end{methoddesc}
600    \begin{methoddesc}[StokesProblemCartesian]{getSubProblemTolerance}{}
601    return the tolerance for the involved PDEs.
602    \end{methoddesc}
603
604
605    % \section{Drucker Prager Model}

Legend:
 Removed from v.2431 changed lines Added in v.2432