7.1
general documentation
cs_face_viscosity.c File Reference

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_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_porous_model.h"
#include "cs_prototypes.h"
#include "cs_timer.h"
#include "cs_face_viscosity.h"
+ Include dependency graph for cs_face_viscosity.c:

Functions

void viscfa (const int *const visc_mean_type, cs_real_t c_visc[], cs_real_t i_visc[], cs_real_t b_visc[])
 
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 (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...
 

Detailed Description

Face viscosity.

Function Documentation

◆ cs_face_anisotropic_viscosity_scalar()

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.

Parameters
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]c_visccell viscosity symmetric tensor
[in]iwarnpverbosity
[out]weighfinner face weight between cells i and j $ \frac{\vect{IF} \cdot \tens{K}_\celli} {\norm{\tens{K}_\celli \cdot \vect{S}}^2} $ and $ \frac{\vect{FJ} \cdot \tens{K}_\cellj} {\norm{\tens{K}_\cellj \cdot \vect{S}}^2} $
[out]weighbboundary face weight $ \frac{\vect{IF} \cdot \tens{K}_\celli} {\norm{\tens{K}_\celli \cdot \vect{S}}^2} $
[out]i_viscinner face viscosity (times surface divided by distance)
[out]b_viscboundary face viscosity (surface, must be consistent with flux BCs)

◆ cs_face_anisotropic_viscosity_vector()

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.

Parameters
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]visc_mean_typemethod to compute the viscosity at faces:
  • 0: arithmetic
  • 1: harmonic
[in]c_visccell viscosity symmetric tensor
[out]i_viscinner face tensor viscosity (times surface divided by distance)
[out]b_viscboundary face viscosity (surface, must be consistent with flux BCs)

◆ cs_face_viscosity()

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.

Remarks
: a priori, no need of reconstruction techniques (to improve if necessary).
Parameters
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]visc_mean_typemethod to compute the viscosity at faces:
  • 0 arithmetical
  • 1 harmonic
[in]c_visccell viscosity (scalar)
[out]i_viscinner face viscosity (times surface divided by distance)
[out]b_viscboundary face viscosity (surface, must be consistent with flux BCs)

◆ viscfa()

void viscfa ( const int *const  visc_mean_type,
cs_real_t  c_visc[],
cs_real_t  i_visc[],
cs_real_t  b_visc[] 
)

◆ vistnv()

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[] 
)

◆ vitens()

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[] 
)