Code_Saturne
CFD tool
Functions/Subroutines
condli.f90 File Reference

Translation of the boundary conditions given by cs_user_boundary_conditions in a form that fits to the solver. More...

Functions/Subroutines

subroutine condli (nvar, nscal, iterns, isvhb, isvtb, icodcl, isostd, dt, rtp, rtpa, propce, propfa, propfb, rcodcl, coefa, coefb, visvdr, hbord, thbord, frcxt)
 
subroutine set_dirichlet_scalar (coefa, coefaf, coefb, coefbf, pimp, hint, hext)
 
subroutine set_dirichlet_vector (coefa, coefaf, coefb, coefbf, pimpv, hint, hextv)
 
subroutine set_neumann_scalar (coefa, coefaf, coefb, coefbf, qimp, hint)
 
subroutine set_neumann_vector (coefa, coefaf, coefb, coefbf, qimpv, hint)
 
subroutine set_convective_outlet_scalar (coefa, cofaf, coefb, cofbf, pimp, cfl, hint)
 
subroutine set_convective_outlet_vector (coefa, cofaf, coefb, cofbf, pimpv, cflv, hint)
 

Detailed Description

Translation of the boundary conditions given by cs_user_boundary_conditions in a form that fits to the solver.

The values at a border face $ \fib $ stored in the face center $ \centf $ of the variable $ P $ and its diffusive flux $ Q $ are written as:

\[ P_\centf = A_P^g + B_P^g P_\centi \]

and

\[ Q_\centf = A_P^f + B_P^f P_\centi \]

where $ P_\centi $ is the value of the variable $ P $ at the neighbooring cell.

Warning:

Function/Subroutine Documentation

◆ condli()

subroutine condli ( integer  nvar,
integer  nscal,
integer  iterns,
integer  isvhb,
integer  isvtb,
integer, dimension(nfabor,nvar)  icodcl,
integer, dimension(nfabor+1)  isostd,
double precision, dimension(ncelet)  dt,
double precision, dimension(ncelet,*)  rtp,
double precision, dimension(ncelet,*)  rtpa,
double precision, dimension(ncelet,*)  propce,
double precision, dimension(nfac,*)  propfa,
double precision, dimension(ndimfb,*)  propfb,
double precision, dimension(nfabor,nvar,3)  rcodcl,
double precision, dimension(ndimfb,*)  coefa,
double precision, dimension(ndimfb,*)  coefb,
double precision, dimension(ncelet)  visvdr,
double precision, dimension(nfabor)  hbord,
double precision, dimension(nfabor)  thbord,
double precision, dimension(ncelet,3)  frcxt 
)
Parameters
[in]nvartotal number of variables
[in]nscaltotal number of scalars
[in]isvhbindicator to save exchange coeffient at the walls
[in]iternsiteration number on Navier-Stokes equations
[in]isvtbindicator to save the temperature at the walls
[in,out]icodclface boundary condition code:
  • 1 Dirichlet
  • 2 Radiative outlet
  • 3 Neumann
  • 4 sliding and $ \vect{u} \cdot \vect{n} = 0 $
  • 5 smooth wall and $ \vect{u} \cdot \vect{n} = 0 $
  • 6 rought wall and $ \vect{u} \cdot \vect{n} = 0 $
  • 9 free inlet/outlet (input mass flux blocked to 0)
[in,out]isostdindicator for standard outlet and reference face index
[in]dttime step (per cell)
[in]rtp,rtpacalculated variables at cell centers (at current and previous time steps)
[in]propcephysical properties at cell centers
[in]propfaphysical properties at interior face centers
[in]propfbphysical properties at boundary face centers
[in,out]rcodclboundary condition values:
  • rcodcl(1) value of the dirichlet
  • rcodcl(2) value of the exterior exchange coefficient (infinite if no exchange)
  • rcodcl(3) value flux density (negative if gain) in w/m2 or roughtness in m if icodcl=6
    1. for the velocity $ (\mu+\mu_T) \gradv \vect{u} \cdot \vect{n} $
    2. for the pressure $ \Delta t \grad P \cdot \vect{n} $
    3. for a scalar $ cp \left( K + \dfrac{K_T}{\sigma_T} \right) \grad T \cdot \vect{n} $
[out]coefaexplicit boundary condition coefficient
[out]coefbimplicit boundary condition coefficient
[out]visvdrviscosite dynamique ds les cellules de bord apres amortisst de v driest
[out]hbordcoefficients d'echange aux bords
[out]thbordboundary temperature in $ \centip $ (more exaclty the energetic variable)
[in]frcxtexternal force responsible for the hydrostatic pressure
Here is the call graph for this function:

◆ set_convective_outlet_scalar()

subroutine set_convective_outlet_scalar ( double precision  coefa,
double precision  cofaf,
double precision  coefb,
double precision  cofbf,
double precision  pimp,
double precision  cfl,
double precision  hint 
)
Parameters
[out]coefacoefa explicit BC coefficient for gradients
[out]cofafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]cofbfimplicit BC coefficient for diffusive flux
[in]pimpFlux value to impose
[in]cflLocal Courant number used to convect
[in]hintInternal exchange coefficient
[out]cofafcoefa explicit BC coefficient for gradients
[out]cofafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]cofbfimplicit BC coefficient for diffusive flux
[in]pimpFlux value to impose
[in]cflLocal Courant number used to convect
[in]hintInternal exchange coefficient
[out]coefbcoefa explicit BC coefficient for gradients
[out]cofafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]cofbfimplicit BC coefficient for diffusive flux
[in]pimpFlux value to impose
[in]cflLocal Courant number used to convect
[in]hintInternal exchange coefficient
[out]cofbfcoefa explicit BC coefficient for gradients
[out]cofafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]cofbfimplicit BC coefficient for diffusive flux
[in]pimpFlux value to impose
[in]cflLocal Courant number used to convect
[in]hintInternal exchange coefficient
[out]pimpcoefa explicit BC coefficient for gradients
[out]cofafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]cofbfimplicit BC coefficient for diffusive flux
[in]pimpFlux value to impose
[in]cflLocal Courant number used to convect
[in]hintInternal exchange coefficient
[out]cflcoefa explicit BC coefficient for gradients
[out]cofafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]cofbfimplicit BC coefficient for diffusive flux
[in]pimpFlux value to impose
[in]cflLocal Courant number used to convect
[in]hintInternal exchange coefficient
[out]hintcoefa explicit BC coefficient for gradients
[out]cofafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]cofbfimplicit BC coefficient for diffusive flux
[in]pimpFlux value to impose
[in]cflLocal Courant number used to convect
[in]hintInternal exchange coefficient

◆ set_convective_outlet_vector()

subroutine set_convective_outlet_vector ( double precision, dimension(3)  coefa,
double precision, dimension(3)  cofaf,
double precision, dimension(3,3)  coefb,
double precision, dimension(3,3)  cofbf,
double precision, dimension(3)  pimpv,
double precision, dimension(3)  cflv,
double precision  hint 
)
Parameters
[out]coefacoefa explicit BC coefficient for gradients
[out]cofafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]cofbfimplicit BC coefficient for diffusive flux
[in]pimpvDirichlet value to impose
[in]cflvLocal Courant number used to convect
[in]hintInternal exchange coefficient
[out]cofafcoefa explicit BC coefficient for gradients
[out]cofafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]cofbfimplicit BC coefficient for diffusive flux
[in]pimpvDirichlet value to impose
[in]cflvLocal Courant number used to convect
[in]hintInternal exchange coefficient

◆ set_dirichlet_scalar()

subroutine set_dirichlet_scalar ( double precision  coefa,
double precision  coefaf,
double precision  coefb,
double precision  coefbf,
double precision  pimp,
double precision  hint,
double precision  hext 
)
Parameters
[out]coefacoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]pimpDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextExternal exchange coefficient (10^30 by default)
[out]coefafcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]pimpDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextExternal exchange coefficient (10^30 by default)
[out]coefbcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]pimpDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextExternal exchange coefficient (10^30 by default)
[out]coefbfcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]pimpDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextExternal exchange coefficient (10^30 by default)
[out]pimpcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]pimpDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextExternal exchange coefficient (10^30 by default)
[out]hintcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]pimpDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextExternal exchange coefficient (10^30 by default)
[out]hextcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]pimpDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextExternal exchange coefficient (10^30 by default)

◆ set_dirichlet_vector()

subroutine set_dirichlet_vector ( double precision, dimension(3)  coefa,
double precision, dimension(3)  coefaf,
double precision, dimension(3,3)  coefb,
double precision, dimension(3,3)  coefbf,
double precision, dimension(3)  pimpv,
double precision  hint,
double precision, dimension(3)  hextv 
)
Parameters
[out]coefacoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]pimpvDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextvExternal exchange coefficient (10^30 by default)
[out]coefafcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]pimpvDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextvExternal exchange coefficient (10^30 by default)

◆ set_neumann_scalar()

subroutine set_neumann_scalar ( double precision  coefa,
double precision  coefaf,
double precision  coefb,
double precision  coefbf,
double precision  qimp,
double precision  hint 
)
Parameters
[out]coefacoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]qimpFlux value to impose
[in]hintInternal exchange coefficient
[out]coefafcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]qimpFlux value to impose
[in]hintInternal exchange coefficient
[out]coefbcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]qimpFlux value to impose
[in]hintInternal exchange coefficient
[out]coefbfcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]qimpFlux value to impose
[in]hintInternal exchange coefficient
[out]qimpcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]qimpFlux value to impose
[in]hintInternal exchange coefficient
[out]hintcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]qimpFlux value to impose
[in]hintInternal exchange coefficient

◆ set_neumann_vector()

subroutine set_neumann_vector ( double precision, dimension(3)  coefa,
double precision, dimension(3)  coefaf,
double precision, dimension(3,3)  coefb,
double precision, dimension(3,3)  coefbf,
double precision, dimension(3)  qimpv,
double precision  hint 
)
Parameters
[out]coefacoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]qimpvFlux value to impose
[in]hintInternal exchange coefficient
[out]coefafcoefa explicit BC coefficient for gradients
[out]coefafexplicit BC coefficient for diffusive flux
[out]coefbimplicit BC coefficient for gradients
[out]coefbfimplicit BC coefficient for diffusive flux
[in]qimpvFlux value to impose
[in]hintInternal exchange coefficient