programmer's documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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, icodcl, isostd, dt, rcodcl, visvdr, hbord, theipb)
 
subroutine set_dirichlet_scalar (coefa, cofaf, coefb, cofbf, pimp, hint, hext)
 
subroutine set_dirichlet_vector (coefa, cofaf, coefb, cofbf, pimpv, hint, hextv)
 
subroutine set_dirichlet_tensor (coefa, cofaf, coefb, cofbf, pimpts, hint, hextts)
 
subroutine set_dirichlet_vector_aniso (coefa, cofaf, coefb, cofbf, pimpv, hint, hextv)
 
subroutine set_neumann_scalar (coefa, cofaf, coefb, cofbf, qimp, hint)
 
subroutine set_neumann_vector (coefa, cofaf, coefb, cofbf, qimpv, hint)
 
subroutine set_neumann_tensor (coefa, cofaf, coefb, cofbf, qimpts, hint)
 
subroutine set_neumann_vector_aniso (coefa, cofaf, coefb, cofbf, qimpv, hint)
 
subroutine set_generalized_sym_vector (coefa, cofaf, coefb, cofbf, pimpv, qimpv, hint, normal)
 
subroutine set_generalized_sym_vector_aniso (coefa, cofaf, coefb, cofbf, pimpv, qimpv, hint, normal)
 
subroutine set_generalized_dirichlet_vector (coefa, cofaf, coefb, cofbf, pimpv, qimpv, hint, normal)
 
subroutine set_generalized_dirichlet_vector_aniso (coefa, cofaf, coefb, cofbf, pimpv, qimpv, hint, normal)
 
subroutine set_convective_outlet_scalar (coefa, cofaf, coefb, cofbf, pimp, cfl, hint)
 
subroutine set_convective_outlet_vector (coefa, cofaf, coefb, cofbf, pimpv, cflv, hint)
 
subroutine set_convective_outlet_tensor (coefa, cofaf, coefb, cofbf, pimpts, cflts, hint)
 
subroutine set_convective_outlet_vector_aniso (coefa, cofaf, coefb, cofbf, pimpv, cflv, hint)
 
subroutine set_affine_function_scalar (coefa, cofaf, coefb, cofbf, pinf, ratio, hint)
 
subroutine set_dirichlet_conv_neumann_diff_scalar (coefa, cofaf, coefb, cofbf, pimp, qimp)
 
subroutine set_dirichlet_conv_neumann_diff_vector (coefa, cofaf, coefb, cofbf, pimpv, qimpv)
 
subroutine set_dirichlet_conv_neumann_diff_tensor (coefa, cofaf, coefb, cofbf, pimpts, qimpts)
 

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 boundary 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 = -\left(A_P^f + B_P^f P_\centi\right) \]

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

Warning:

Please refer to the boundary conditions section of the theory guide for more informations, as well as the condli section.

Function/Subroutine Documentation

subroutine condli ( integer  nvar,
integer  nscal,
integer  iterns,
integer  isvhb,
integer, dimension(nfabor,nvar)  icodcl,
integer, dimension(nfabor+1)  isostd,
double precision, dimension(ncelet)  dt,
double precision, dimension(nfabor,nvar,3)  rcodcl,
double precision, dimension(ncelet)  visvdr,
double precision, dimension(nfabor)  hbord,
double precision, dimension(nfabor)  theipb 
)
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,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 rough wall and $ \vect{u} \cdot \vect{n} = 0 $
  • 9 free inlet/outlet (input mass flux blocked to 0)
  • 11 Boundary value related to the next cell value by an affine function
  • 13 Dirichlet for the advection operator and Neumann for the diffusion operator
[in,out]isostdindicator for standard outlet and reference face index
[in]dttime step (per cell)
[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 roughness 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]visvdrviscosite dynamique ds les cellules de bord apres amortisst de v driest
[out]hbordcoefficients d'echange aux bords
[out]theipbboundary temperature in $ \centip $ (more exaclty the energetic variable)
subroutine set_affine_function_scalar ( double precision  coefa,
double precision  cofaf,
double precision  coefb,
double precision  cofbf,
double precision  pinf,
double precision  ratio,
double precision  hint 
)
Parameters
[out]coefaexplicit 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]pinfaffine part
[in]ratiolinear part
[in]hintinternal exchange coefficient
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]coefaexplicit 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
subroutine set_convective_outlet_tensor ( double precision, dimension(6)  coefa,
double precision, dimension(6)  cofaf,
double precision, dimension(6,6)  coefb,
double precision, dimension(6,6)  cofbf,
double precision, dimension(6)  pimpts,
double precision, dimension(6)  cflts,
double precision  hint 
)
Parameters
[out]coefaexplicit 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]pimptsDirichlet value to impose
[in]cfltsLocal Courant number used to convect
[in]hintInternal exchange coefficient
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]coefaexplicit 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
subroutine set_convective_outlet_vector_aniso ( 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, dimension(6)  hint 
)
Parameters
[out]coefaexplicit 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
subroutine set_dirichlet_conv_neumann_diff_scalar ( double precision  coefa,
double precision  cofaf,
double precision  coefb,
double precision  cofbf,
double precision  pimp,
double precision  qimp 
)
Parameters
[out]coefaexplicit 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]pimpDirichlet value to impose
[in]qimpFlux value to impose
subroutine set_dirichlet_conv_neumann_diff_tensor ( double precision, dimension(6)  coefa,
double precision, dimension(6)  cofaf,
double precision, dimension(6,6)  coefb,
double precision, dimension(6,6)  cofbf,
double precision, dimension(6)  pimpts,
double precision, dimension(6)  qimpts 
)
Parameters
[out]coefaexplicit 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]pimptsDirichlet value to impose
[in]qimptsFlux value to impose
subroutine set_dirichlet_conv_neumann_diff_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)  qimpv 
)
Parameters
[out]coefaexplicit 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]qimpvFlux value to impose
subroutine set_dirichlet_scalar ( double precision  coefa,
double precision  cofaf,
double precision  coefb,
double precision  cofbf,
double precision  pimp,
double precision  hint,
double precision  hext 
)
Parameters
[out]coefaexplicit 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]pimpDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hextExternal exchange coefficient (10^30 by default)
subroutine set_dirichlet_tensor ( double precision, dimension(6)  coefa,
double precision, dimension(6)  cofaf,
double precision, dimension(6,6)  coefb,
double precision, dimension(6,6)  cofbf,
double precision, dimension(6)  pimpts,
double precision  hint,
double precision, dimension(6)  hextts 
)
Parameters
[out]coefaexplicit 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]pimptsDirichlet value to impose
[in]hintInternal exchange coefficient
[in]hexttsExternal exchange coefficient (10^30 by default)
subroutine set_dirichlet_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  hint,
double precision, dimension(3)  hextv 
)
Parameters
[out]coefaexplicit 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]hintInternal exchange coefficient
[in]hextvExternal exchange coefficient (10^30 by default)
subroutine set_dirichlet_vector_aniso ( 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(6)  hint,
double precision, dimension(3)  hextv 
)
Parameters
[out]coefaexplicit 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]hintInternal exchange coefficient
[in]hextvExternal exchange coefficient (10^30 by default)
subroutine set_generalized_dirichlet_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)  qimpv,
double precision  hint,
double precision, dimension(3)  normal 
)
Parameters
[out]coefaexplicit 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 on the normal component
[in]qimpvFlux value to impose on the tangential components
[in]hintInternal exchange coefficient
[in]normalnormal
subroutine set_generalized_dirichlet_vector_aniso ( 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)  qimpv,
double precision, dimension(6)  hint,
double precision, dimension(3)  normal 
)
Parameters
[out]coefaexplicit 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 on the normal component
[in]qimpvFlux value to impose on the tangential components
[in]hintInternal exchange coefficient
[in]normalnormal
subroutine set_generalized_sym_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)  qimpv,
double precision  hint,
double precision, dimension(3)  normal 
)
Parameters
[out]coefaexplicit 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 on the normal component
[in]qimpvFlux value to impose on the tangential components
[in]hintInternal exchange coefficient
[in]normalnormal
subroutine set_generalized_sym_vector_aniso ( 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)  qimpv,
double precision, dimension(6)  hint,
double precision, dimension(3)  normal 
)
Parameters
[out]coefaexplicit 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 on the normal component
[in]qimpvFlux value to impose on the tangential components
[in]hintInternal exchange coefficient
[in]normalnormal
subroutine set_neumann_scalar ( double precision  coefa,
double precision  cofaf,
double precision  coefb,
double precision  cofbf,
double precision  qimp,
double precision  hint 
)
Parameters
[out]coefaexplicit 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]qimpFlux value to impose
[in]hintInternal exchange coefficient
subroutine set_neumann_tensor ( double precision, dimension(6)  coefa,
double precision, dimension(6)  cofaf,
double precision, dimension(6,6)  coefb,
double precision, dimension(6,6)  cofbf,
double precision, dimension(6)  qimpts,
double precision  hint 
)
Parameters
[out]coefaexplicit 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]qimptsFlux value to impose
[in]hintInternal exchange coefficient
subroutine set_neumann_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)  qimpv,
double precision  hint 
)
Parameters
[out]coefaexplicit 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]qimpvFlux value to impose
[in]hintInternal exchange coefficient
subroutine set_neumann_vector_aniso ( 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)  qimpv,
double precision, dimension(6)  hint 
)
Parameters
[out]coefaexplicit 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]qimpvFlux value to impose
[in]hintInternal exchange coefficient