programmer's documentation
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, frcxt)
 
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_ggdh (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_ggdh (coefa, cofaf, coefb, cofbf, qimpv, hint)
 
subroutine set_generalized_sym_scalar (coefau, cofafu, coefav, cofafv, coefaw, cofafw, coefbu, cofbfu, coefbv, cofbfv, coefbw, cofbfw, pimpv, qimpv, vect, hint, normal)
 
subroutine set_generalized_sym_vector (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_ggdh (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 = A_P^f + B_P^f P_\centi \]

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

Warning:

Function/Subroutine Documentation

subroutine condli ( integer  nvar,
integer  nscal,
integer  iterns,
integer  isvhb,
integer, dimension(nfabor,nvarcl)  icodcl,
integer, dimension(nfabor+1)  isostd,
double precision, dimension(ncelet)  dt,
double precision, dimension(nfabor,nvarcl,3)  rcodcl,
double precision, dimension(ncelet)  visvdr,
double precision, dimension(nfabor)  hbord,
double precision, dimension(nfabor)  theipb,
double precision, dimension(3,ncelet)  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,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)
[in]frcxtexternal force responsible for the hydrostatic pressure
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_ggdh ( 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_ggdh ( 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_sym_scalar ( double precision  coefau,
double precision  cofafu,
double precision  coefav,
double precision  cofafv,
double precision  coefaw,
double precision  cofafw,
double precision  coefbu,
double precision  cofbfu,
double precision  coefbv,
double precision  cofbfv,
double precision  coefbw,
double precision  cofbfw,
double precision, dimension(3)  pimpv,
double precision, dimension(3)  qimpv,
double precision, dimension(3)  vect,
double precision  hint,
double precision, dimension(3)  normal 
)
Parameters
[out]coefauexplicit BC coefficient for gradients
[out]cofafuexplicit BC coefficient for diffusive flux
[out]coefavexplicit BC coefficient for gradients
[out]cofafvexplicit BC coefficient for diffusive flux
[out]coefawexplicit BC coefficient for gradients
[out]cofafwexplicit BC coefficient for diffusive flux
[out]coefbuimplicit BC coefficient for gradients
[out]cofbfuimplicit BC coefficient for diffusive flux
[out]coefbvimplicit BC coefficient for gradients
[out]cofbfvimplicit BC coefficient for diffusive flux
[out]coefbwimplicit BC coefficient for gradients
[out]cofbfwimplicit BC coefficient for diffusive flux
[in]pimpvDirichlet value to impose on the normal component
[in]qimpvFlux value to impose on the tangential components
[in]vectvalue of the vector at time n
[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_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_ggdh ( 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