Face viscosity. More...
#include "cs_defs.h"#include <assert.h>#include <errno.h>#include <stdio.h>#include <stdarg.h>#include <string.h>#include <math.h>#include <float.h>#include "bft_error.h"#include "bft_mem.h"#include "bft_printf.h"#include "cs_math.h"#include "cs_blas.h"#include "cs_halo.h"#include "cs_halo_perio.h"#include "cs_internal_coupling.h"#include "cs_log.h"#include "cs_mesh.h"#include "cs_field.h"#include "cs_field_default.h"#include "cs_field_pointer.h"#include "cs_gradient.h"#include "cs_ext_neighborhood.h"#include "cs_mesh_quantities.h"#include "cs_parall.h"#include "cs_parameters.h"#include "cs_physical_constants.h"#include "cs_physical_model.h"#include "cs_porous_model.h"#include "cs_prototypes.h"#include "cs_timer.h"#include "cs_turbulence_model.h"#include "cs_face_viscosity.h" Include dependency graph for cs_face_viscosity.c:
 Include dependency graph for cs_face_viscosity.c:| Functions | |
| void | vistnv (const int *const visc_mean_type, cs_real_6_t c_visc[], cs_real_33_t i_visc[], cs_real_t b_visc[]) | 
| void | vitens (cs_real_6_t c_visc[], const int *const iwarnp, cs_real_2_t weighf[], cs_real_t weighb[], cs_real_t i_visc[], cs_real_t b_visc[]) | 
| void | cs_face_viscosity_secondary (cs_real_t secvif[], cs_real_t secvib[]) | 
| Computes the secondary viscosity contribution  in order to compute:  More... | |
| void | cs_face_viscosity (const cs_mesh_t *m, const cs_mesh_quantities_t *fvq, const int visc_mean_type, cs_real_t *restrict c_visc, cs_real_t *restrict i_visc, cs_real_t *restrict b_visc) | 
| Compute the diffusion velocity at faces.  More... | |
| void | cs_face_anisotropic_viscosity_vector (const cs_mesh_t *m, const cs_mesh_quantities_t *fvq, const int visc_mean_type, cs_real_6_t *restrict c_visc, cs_real_33_t *restrict i_visc, cs_real_t *restrict b_visc) | 
| Compute the equivalent tensor viscosity at faces for a 3x3 symetric tensor.  More... | |
| void | cs_face_anisotropic_viscosity_scalar (const cs_mesh_t *m, const cs_mesh_quantities_t *fvq, cs_real_6_t *restrict c_visc, const int iwarnp, cs_real_2_t *restrict weighf, cs_real_t *restrict weighb, cs_real_t *restrict i_visc, cs_real_t *restrict b_visc) | 
| Compute the equivalent viscosity at faces for a 3x3 symetric tensor, always using a harmonic mean.  More... | |
Face viscosity.
| void cs_face_anisotropic_viscosity_scalar | ( | const cs_mesh_t * | m, | 
| const cs_mesh_quantities_t * | fvq, | ||
| cs_real_6_t *restrict | c_visc, | ||
| const int | iwarnp, | ||
| cs_real_2_t *restrict | weighf, | ||
| cs_real_t *restrict | weighb, | ||
| cs_real_t *restrict | i_visc, | ||
| cs_real_t *restrict | b_visc | ||
| ) | 
Compute the equivalent viscosity at faces for a 3x3 symetric tensor, always using a harmonic mean.
| [in] | m | pointer to mesh | 
| [in] | fvq | pointer to finite volume quantities | 
| [in] | c_visc | cell viscosity symmetric tensor | 
| [in] | iwarnp | verbosity | 
| [out] | weighf | inner face weight between cells i and j  and   | 
| [out] | weighb | boundary face weight   | 
| [out] | i_visc | inner face viscosity (times surface divided by distance) | 
| [out] | b_visc | boundary face viscosity (surface, must be consistent with flux BCs) | 
| void cs_face_anisotropic_viscosity_vector | ( | const cs_mesh_t * | m, | 
| const cs_mesh_quantities_t * | fvq, | ||
| const int | visc_mean_type, | ||
| cs_real_6_t *restrict | c_visc, | ||
| cs_real_33_t *restrict | i_visc, | ||
| cs_real_t *restrict | b_visc | ||
| ) | 
Compute the equivalent tensor viscosity at faces for a 3x3 symetric tensor.
| [in] | m | pointer to mesh | 
| [in] | fvq | pointer to finite volume quantities | 
| [in] | visc_mean_type | method to compute the viscosity at faces: 
 | 
| [in] | c_visc | cell viscosity symmetric tensor | 
| [out] | i_visc | inner face tensor viscosity (times surface divided by distance) | 
| [out] | b_visc | boundary face viscosity (surface, must be consistent with flux BCs) | 
| void cs_face_viscosity | ( | const cs_mesh_t * | m, | 
| const cs_mesh_quantities_t * | fvq, | ||
| const int | visc_mean_type, | ||
| cs_real_t *restrict | c_visc, | ||
| cs_real_t *restrict | i_visc, | ||
| cs_real_t *restrict | b_visc | ||
| ) | 
Compute the diffusion velocity at faces.
Compute the diffusion velocity at faces. i_visc,b_visc = viscosity*surface/distance, homogeneous to a rate of flow in kg/s.
i_visc,b_visc = viscosity*surface/distance, homogeneous to a rate of flow in kg/s.
Please refer to the viscfa section of the theory guide for more informations.
| [in] | m | pointer to mesh | 
| [in] | fvq | pointer to finite volume quantities | 
| [in] | visc_mean_type | method to compute the viscosity at faces: 
 | 
| [in] | c_visc | cell viscosity (scalar) | 
| [out] | i_visc | inner face viscosity (times surface divided by distance) | 
| [out] | b_visc | boundary face viscosity (surface, must be consistent with flux BCs) | 
Computes the secondary viscosity contribution  in order to compute:
 in order to compute: 
![\[ \grad\left( (\kappa -\dfrac{2}{3} \mu) \trace( \gradt(\vect{u})) \right) \]](form_42.png) 
with:

 is the volume viscosity (generally zero)
 is the volume viscosity (generally zero) is modeled by
 is modeled by  and not by
 and not by  so that no term
 so that no term  is needed.
 is needed.Please refer to the visecv section of the theory guide for more informations.
| [in,out] | secvif | lambda*surface at interior faces | 
| [in,out] | secvib | lambda*surface at boundary faces | 
| void vistnv | ( | const int *const | visc_mean_type, | 
| cs_real_6_t | c_visc[], | ||
| cs_real_33_t | i_visc[], | ||
| cs_real_t | b_visc[] | ||
| ) | 
| void vitens | ( | cs_real_6_t | c_visc[], | 
| const int *const | iwarnp, | ||
| cs_real_2_t | weighf[], | ||
| cs_real_t | weighb[], | ||
| cs_real_t | i_visc[], | ||
| cs_real_t | b_visc[] | ||
| ) |