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

This function builds the matrix of advection/diffusion for a vector field. More...

Functions/Subroutines

subroutine matrxv (ncelet, ncel, nfac, nfabor, iconvp, idiffp, ndircp, isym, nfecra, thetap, ifacel, ifabor, coefbu, cofbfu, fimp, flumas, flumab, viscf, viscb, da, xa)
 

Detailed Description

This function builds the matrix of advection/diffusion for a vector field.

The advection is upwind, the diffusion is not reconstructed. The matrix is splitted into a diagonal block (3x3 times number of cells) and an extra diagonal part (of dimension 2 time the number of internal faces).

Function/Subroutine Documentation

subroutine matrxv ( integer  ncelet,
integer  ncel,
integer  nfac,
integer  nfabor,
integer  iconvp,
integer  idiffp,
integer  ndircp,
integer  isym,
integer  nfecra,
double precision  thetap,
integer, dimension(2,nfac)  ifacel,
integer, dimension(nfabor)  ifabor,
double precision, dimension(3,3,nfabor)  coefbu,
double precision, dimension(3,3,nfabor)  cofbfu,
double precision, dimension(3,3,ncelet)  fimp,
double precision, dimension(nfac)  flumas,
double precision, dimension(nfabor)  flumab,
double precision, dimension(nfac)  viscf,
double precision, dimension(nfabor)  viscb,
double precision, dimension(3,3,ncelet)  da,
double precision, dimension(isym,nfac)  xa 
)
Parameters
[in]nceletnumber of extended (real + ghost) cells
[in]ncelnumber of cells
[in]nfacnumber of interior faces
[in]nfabornumber of boundary faces
[in]iconvpindicator
  • 1 advection
  • 0 otherwise
[in]idiffpindicator
  • 1 diffusion
  • 0 otherwise
[in]ndircpindicator
  • 0 if the diagonal stepped aside
[in]isymindicator
  • 1 symmetric matrix
  • 2 non symmmetric matrix
[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]ifacelcell indexes of interior faces
[in]ifaborno de l'elt voisin d'une face de bord
[in]coefbuboundary condition array for the variable (Impplicit part - 3x3 tensor array)
[in]cofbfuboundary condition array for the variable flux (Impplicit part - 3x3 tensor array)
[in]flumasmass flux at interior faces
[in]flumabmass flux at border faces
[in]viscf$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the matrix
[in]viscb$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the matrix
[out]dadiagonal part of the matrix
[out]xaextra interleaved diagonal part of the matrix