programmer's documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups 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, rtp, rtpa, propce, 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_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_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_vector_ggdh (coefa, cofaf, coefb, cofbf, pimpv, cflv, hint)
 
subroutine set_dirichlet_conv_neumann_diff_scalar (coefa, cofaf, coefb, cofbf, pimp, qimp)
 

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

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(ncelet,nflown:nvar)  rtp,
double precision, dimension(ncelet,nflown:nvar)  rtpa,
double precision, dimension(ncelet,*)  propce,
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 rought wall and $ \vect{u} \cdot \vect{n} = 0 $
  • 9 free inlet/outlet (input mass flux blocked to 0)
  • 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]rtp,rtpacalculated variables at cell centers (at current and previous time steps)
[in]propcephysical properties at cell 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]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_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_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_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_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_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