/[escript]/trunk/doc/user/Models.tex
ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2432 by gross, Wed May 20 06:06:20 2009 UTC revision 2433 by gross, Wed May 20 08:43:43 2009 UTC
# Line 533  which leads to Line 533  which leads to
533    
534  \subsection{Functions}  \subsection{Functions}
535    
 #=============================================================================  
536  \begin{classdesc}{IncompressibleIsotropicFlowCartesian}{  \begin{classdesc}{IncompressibleIsotropicFlowCartesian}{
537  domain  domain
538  \optional{, stress=0  \optional{, stress=0
# Line 542  domain Line 541  domain
541  \optional{, t=0  \optional{, t=0
542  \optional{, numMaterials=1  \optional{, numMaterials=1
543  \optional{, verbose=True}}}}}}}  \optional{, verbose=True}}}}}}}
544  opens an incompressible, isotropic flow problem in Cartesian cooridninates.  opens an incompressible, isotropic flow problem in Cartesian cooridninates
545    on the domain \var{domain}.
546  \var{stress},  \var{stress},
547  \var{v},  \var{v},
548  \var{p}, and  \var{p}, and
# Line 552  model. Some progress information are pri Line 552  model. Some progress information are pri
552  \True.  \True.
553  \end{classdesc}  \end{classdesc}
554    
555   setExternals(self, F=None, f=None, fixed_v_mask=None, v_boundary=None):  \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{getDomain}{}
556  \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{setExternals}{\optional{F=None, \optional{f=None, \optional{fixed_v_mask=None, \optional{v_boundary=None}}}}}  returns the domain.
557  assigns values to external forces and boundary conditions. Between two calls only variables with a new values need to be set.  \end{methoddesc}
558    
559  In any call all values must be set.  \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{getTime}{}
560  \var{f} defines the external force $f$, \var{eta} the viscosity $\eta$,  Returns current time.
561  \var{surface_stress} the surface stress $s$ and \var{stress} the initial stress $\sigma$.  \end{methoddesc}
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  \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{getStress}{}
564  \Data class objects.  Returns current stress.
565  \end{methoddesc}  \end{methoddesc}
566    
567  \begin{methoddesc}[StokesProblemCartesian]{solve}{v,p,  \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{getDeviatoricStress}{}
568  \optional{max_iter=20, \optional{verbose=False, \optional{usePCG=True}}}}  Returns current deviatoric stress.
569  solves the problem and return approximations for velocity and pressure.  \end{methoddesc}
570  The arguments \var{v} and \var{p} define initial guess. The values of \var{v} marked  
571  by \var{fixed_u_mask} remain unchanged.  \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{getPressure}{}
572  If \var{usePCG} is set to \True  Returns current pressure.
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  \end{methoddesc}
574  the PCG scheme is more efficient.  
575  \var{max_iter} defines the maximum number of iteration steps.  \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{getVelocity}{}
576  If \var{verbose} is set to \True informations on the progress of of the solver are printed.  Returns current velocity.
577    \end{methoddesc}
578    
579    \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{getDeviatoricStrain}{}
580    Returns deviatoric strain of current velocity
581    \end{methoddesc}
582    
583    \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{getTau}{}
584    Returns current second invariant of deviatoric stress
585    \end{methoddesc}
586    
587    \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{getGammaDot}{}
588    Returns current second invariant of deviatoric strain
589  \end{methoddesc}  \end{methoddesc}
590    
591    
592  \begin{methoddesc}[StokesProblemCartesian]{setTolerance}{\optional{tolerance=1.e-4}}  \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{setTolerance}{tol=1.e-4}
593  sets the tolerance in an appropriate norm relative to the right hand side. The tolerance must be non-negative and less than 1.  Sets the tolerance used to terminate the iteration on a time step.
 \end{methoddesc}  
 \begin{methoddesc}[StokesProblemCartesian]{getTolerance}{}  
 returns the current relative tolerance.  
 \end{methoddesc}  
 \begin{methoddesc}[StokesProblemCartesian]{setAbsoluteTolerance}{\optional{tolerance=0.}}  
 sets the absolute tolerance for the error in the relevant norm. The tolerance must be non-negative. Typically the  
 absolute talerance is set to 0.  
 \end{methoddesc}  
 \begin{methoddesc}[StokesProblemCartesian]{getAbsoluteTolerance}{}  
 sreturns the current absolute tolerance.  
 \end{methoddesc}  
 \begin{methoddesc}[StokesProblemCartesian]{setSubProblemTolerance}{\optional{rtol=None}}  
 sets the tolerance to solve the involved PDEs. The subtolerance \var{rtol} should not be choosen to large  
 in order to avoid feed back of errors in the subproblem solution into the outer iteration.  
 On the otherhand is choosen to small compute time is wasted.  
 If \var{rtol} is set to \var{None} the sub-tolerance is set automatically depending on the  
 tolerance choosen for the oter iteration.  
594  \end{methoddesc}  \end{methoddesc}
595  \begin{methoddesc}[StokesProblemCartesian]{getSubProblemTolerance}{}  
596  return the tolerance for the involved PDEs.  \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{setFlowTolerance}{tol=1.e-4}
597    Sets the relative tolerance for the incompressible solver, see \class{StokesProblemCartesian} for details.
598    \end{methoddesc}
599    
600    \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{setFlowSubTolerance}{tol=1.e-8}
601    Sets the relative tolerance for the subsolver of the flow solver, see
602    \class{StokesProblemCartesian} for details.\begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{setElasticShearModulus}{mu=None}
603    Sets the elastic shear modulus $\mu$. If \var{mu} is set to None (default) elasticity is not applied.
604    \end{methoddesc}
605    \end{methoddesc}
606    
607    \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{setEtaTolerance=}{rtol=1.e-8}
608    sets the relative tolerance for the effectice viscosity. Iteration on a time step is completed if the realtive of the effective viscosity is less than \var{rtol}.
609    \end{methoddesc}
610    
611    \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{setDruckerPragerLaw}
612    {\optional{tau_Y=None, \optional{friction=None}}}
613    Sets the parameters $\tau\hackscore{Y}$ and $\beta$ for the Drucker-Prager model in condition~\ref{IKM-EQU-8c}. If \var{tau_Y} is set to None (default) Drucker-Prager
614    condition is not applied.
615    \end{methoddesc}
616    
617    \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{setElasticShearModulus}{mu=None}
618    Sets the elastic shear modulus $\mu$. If \var{mu} is set to None (default) elasticity is not applied.
619    \end{methoddesc}
620    
621    
622    \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{setPowerLaws}{eta_N, tau_t, power}
623    Sets the parameters of the power-law for all materials as defined in
624    equation~\ref{IKM-EQU-5b}.
625    \var{eta_N} is the list of viscosities $\eta^{q}\hackscore{N}$,
626    \var{tau_t} is the list of reference stresses  $\tau\hackscore{t}^q$,
627    and \var{power} is the list of  power law coefficients $n^{q}$.
628    \end{methoddesc}
629    
630    
631    \begin{methoddesc}[IncompressibleIsotropicFlowCartesian]{update}{dt
632    \optional{, iter_max=100
633    \optional{, inner_iter_max=20
634    }}}
635    Updates stress, velocity and pressure for time increment \var{dt}.
636    where \var{iter_max} is the maximum number of iteration steps on a time step to
637    update the effective viscosity and \var{inner_iter_max} is the maximum
638    number of itertion steps in the incompressible solver.
639  \end{methoddesc}  \end{methoddesc}
640    
641    \subsection{Example}
642    later
643    
644  % \section{Drucker Prager Model}  % \section{Drucker Prager Model}

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

  ViewVC Help
Powered by ViewVC 1.1.26