programmer's documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions/Subroutines
diften.f90 File Reference

This function adds the explicit part of the diffusion terms with a symmetric tensor diffusivity for a transport equation of a scalar field $ \varia $. More...

Functions/Subroutines

subroutine diften (idtvar, ivar, nswrgp, imligp, ircflp, inc, imrgra, iccocg, ipp, iwarnp, epsrgp, climgp, extrap, relaxp, thetap, pvar, pvara, coefap, coefbp, cofafp, cofbfp, viscf, viscb, viscel, weighf, weighb, smbrp)
 

Detailed Description

This function adds the explicit part of the diffusion terms with a symmetric tensor diffusivity for a transport equation of a scalar field $ \varia $.

More precisely, the right hand side $ Rhs $ is updated as follows:

\[ Rhs = Rhs - \sum_{\fij \in \Facei{\celli}} \left( - \tens{\mu}_\fij \gradv_\fij \varia \cdot \vect{S}_\ij \right) \]

Warning:

Function/Subroutine Documentation

subroutine diften ( integer  idtvar,
integer  ivar,
integer  nswrgp,
integer  imligp,
integer  ircflp,
integer  inc,
integer  imrgra,
integer  iccocg,
integer  ipp,
integer  iwarnp,
double precision  epsrgp,
double precision  climgp,
double precision  extrap,
double precision  relaxp,
double precision  thetap,
double precision, dimension (ncelet)  pvar,
double precision, dimension(ncelet)  pvara,
double precision, dimension(nfabor)  coefap,
double precision, dimension(nfabor)  coefbp,
double precision, dimension(nfabor)  cofafp,
double precision, dimension(nfabor)  cofbfp,
double precision, dimension (nfac)  viscf,
double precision, dimension (nfabor)  viscb,
double precision, dimension(6,ncelet), target  viscel,
double precision, dimension(2,nfac)  weighf,
double precision, dimension(nfabor)  weighb,
double precision, dimension (ncelet)  smbrp 
)
Parameters
[in]idtvarindicator of the temporal scheme
[in]ivarindex of the current variable
[in]nswrgpnumber of reconstruction sweeps for the gradients
[in]imligpclipping gradient method
  • < 0 no clipping
  • = 0 thank to neighbooring gradients
  • = 1 thank to the mean gradient
[in]ircflpindicator
  • 1 flux reconstruction,
  • 0 otherwise
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imrgraindicator
  • 0 iterative gradient
  • 1 least square gradient
[in]iccocgindicator
  • 1 re-compute cocg matrix (for iterativ gradients)
  • 0 otherwise
[in]ippindex of the variable for post-processing
[in]iwarnpverbosity
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]extrapcoefficient for extrapolation of the gradient
[in]relaxpcoefficient of relaxation
[in]thetapweightening coefficient for the theta-schema,
  • thetap = 0: explicit scheme
  • thetap = 0.5: time-centred scheme (mix between Crank-Nicolson and Adams-Bashforth)
  • thetap = 1: implicit scheme
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefapboundary condition array for the variable (Explicit part)
[in]coefbpboundary condition array for the variable (Impplicit part)
[in]cofafpboundary condition array for the diffusion of the variable (Explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (Implicit part)
[in]viscf$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]viscb$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]smbrpright hand side $ \vect{Rhs} $