src/alge/diftnv.f90 File Reference

| programmer's documentation

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions/Subroutines
diftnv.f90 File Reference

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

## Functions/Subroutines
subroutine | diftnv (idtvar, ivar, nswrgp, imligp, ircflp, inc, imrgra, ivisep, ippu, iwarnp, epsrgp, climgp, relaxp, thetap, pvar, pvara, coefav, coefbv, cofafv, cofbfv, viscf, viscb, secvif, rhs)

## Detailed Description

This function adds the explicit part of the diffusion terms with a symmetric tensor diffusivity for a transport equation of a vector field .

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

Remark: if ivisep = 1, then we also take , where is the secondary viscosity, i.e. usually .

Warning:

- has already been initialized before calling diftnv!
- mind the sign minus

## Function/Subroutine Documentation

subroutine diftnv | ( | integer | idtvar,
|  | integer | ivar,
|  | integer | nswrgp,
|  | integer | imligp,
|  | integer | ircflp,
|  | integer | inc,
|  | integer | imrgra,
|  | integer | ivisep,
|  | integer | ippu,
|  | integer | iwarnp,
|  | double precision | epsrgp,
|  | double precision | climgp,
|  | double precision | relaxp,
|  | double precision | thetap,
|  | double precision, dimension (3 ,ncelet) | pvar,
|  | double precision, dimension (3 ,ncelet) | pvara,
|  | double precision, dimension(3 ,nfabor) | coefav,
|  | double precision, dimension(3,3,nfabor) | coefbv,
|  | double precision, dimension(3 ,nfabor) | cofafv,
|  | double precision, dimension(3,3,nfabor) | cofbfv,
|  | double precision, dimension (3,3,nfac) | viscf,
|  | double precision, dimension (nfabor) | viscb,
|  | double precision, dimension(nfac) | secvif,
|  | double precision, dimension(3,ncelet) | rhs
| ) |  |

Parameters

  [in] | idtvar | indicator of the temporal scheme
  [in] | ivar | index of the current variable
  [in] | nswrgp | number of reconstruction sweeps for the gradients
  [in] | imligp | clipping gradient method < 0 no clipping = 0 thank to neighbooring gradients = 1 thank to the mean gradient
  [in] | ircflp | indicator 1 flux reconstruction, 0 otherwise
  [in] | inc | indicator 0 when solving an increment 1 otherwise
  [in] | imrgra | indicator 0 iterative gradient 1 least square gradient
  [in] | ivisep | indicator to take 1 take into account,
  [in] | ippu | index of the variable for post-processing
  [in] | iwarnp | verbosity
  [in] | epsrgp | relative precision for the gradient reconstruction
  [in] | climgp | clipping coeffecient for the computation of the gradient
  [in] | relaxp | coefficient of relaxation
  [in] | thetap | weightening 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] | pvar | solved variable (current time step)
  [in] | pvara | solved variable (previous time step)
  [in] | coefav | boundary condition array for the variable (Explicit part)
  [in] | coefbv | boundary condition array for the variable (Impplicit part)
  [in] | cofafv | boundary condition array for the diffusion of the variable (Explicit part)
  [in] | cofbfv | boundary condition array for the diffusion of the variable (Implicit part)
  [in] | viscf | at interior faces for the r.h.s.
  [in] | viscb | at border faces for the r.h.s.
  [in] | secvif | secondary viscosity at interior faces
  [in,out] | rhs | right hand side