8.3
general documentation
cs_wall_distance.cpp File Reference
#include "cs_defs.h"
#include <float.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>
#include <mpi.h>
#include "bft_printf.h"
#include "cs_array.h"
#include "cs_blas.h"
#include "cs_boundary_conditions.h"
#include "cs_boundary_conditions_set_coeffs.h"
#include "cs_convection_diffusion.h"
#include "cs_equation_iterative_solve.h"
#include "cs_face_viscosity.h"
#include "cs_field_default.h"
#include "cs_field_operator.h"
#include "cs_field_pointer.h"
#include "cs_mesh.h"
#include "cs_mesh_quantities.h"
#include "cs_turbulence_model.h"
#include "cs_wall_distance.h"
+ Include dependency graph for cs_wall_distance.cpp:

Functions

void cs_wall_distance (int iterns)
 Compute distance to wall by solving a 3d diffusion equation. Solve. More...
 
void cs_wall_distance_yplus (cs_real_t visvdr[])
 Compute the dimensionless distance to the wall solving a steady transport equation. More...
 
void cs_wall_distance_geometric (void)
 Computes distance to wall by a brute force geometric approach (serial only) More...
 
cs_wall_distance_options_tcs_get_glob_wall_distance_options (void)
 Provide read/write access to cs_glob_wall_distance. More...
 

Variables

static bool _initialized = false
 
static cs_lnum_t n_wall = 0
 
static cs_wall_distance_options_t _wall_distance_options
 
const cs_wall_distance_options_tcs_glob_wall_distance_options = &_wall_distance_options
 

Detailed Description

Compute distance to wall.

Function Documentation

◆ cs_get_glob_wall_distance_options()

cs_wall_distance_options_t * cs_get_glob_wall_distance_options ( void  )

Provide read/write access to cs_glob_wall_distance.

Returns
pointer to global wall distance structure

◆ cs_wall_distance()

void cs_wall_distance ( int  iterns)

Compute distance to wall by solving a 3d diffusion equation. Solve.

\[ -\divs ( \grad \varia ) = 1 \]

with:

  • $ \varia_|b = 0 $ at the wall
  • $ \grad \varia \cdot \vect{n} = 0 $ elsewhere The wall distance is then equal to:

    \[
 d \simeq -|\grad \varia |
 + \sqrt{ \grad \varia \cdot \grad \varia +2 \varia }
 \]

Parameters
[in]iternsiteration number on Navier-Stokes equations

◆ cs_wall_distance_geometric()

void cs_wall_distance_geometric ( void  )

Computes distance to wall by a brute force geometric approach (serial only)

Compute distance to wall by a brute force geometric approach (serial only)

◆ cs_wall_distance_yplus()

void cs_wall_distance_yplus ( cs_real_t  visvdr[])

Compute the dimensionless distance to the wall solving a steady transport equation.

This function solves the following steady pure convection equation on $ \varia $:

\[
\divs \left( \varia \vect{V} \right)
    - \divs \left( \vect{V} \right) \varia = 0
\]

where the vector field $ \vect{V} $ is defined by:

\[
 \vect{V} = \dfrac{ \grad y }{\norm{\grad y} }
\]

The boundary conditions on $ \varia $ read:

\[
 \varia = \dfrac{u_\star}{\nu} \textrm{ on walls}
\]

\[
 \dfrac{\partial \varia}{\partial n} = 0 \textrm{ elsewhere}
\]

Then the dimensionless distance is deduced by:

\[
 y^+ = y \varia
\]

Then, Imposition of an amortization of Van Driest type for the LES. $ \nu_T $ is absorbed by $ (1-\exp(\dfrac{-y^+}{d^+}))^2 $ where $ d^+ $ is set at 26.

Parameters
[in]visvdrdynamic viscosity in edge cells after driest velocity amortization

Variable Documentation

◆ _initialized

bool _initialized = false
static

◆ _wall_distance_options

cs_wall_distance_options_t _wall_distance_options
static
Initial value:
= {
.need_compute = 0,
.is_up_to_date = 0,
.method = 1
}

◆ cs_glob_wall_distance_options

const cs_wall_distance_options_t* cs_glob_wall_distance_options = &_wall_distance_options

◆ n_wall

cs_lnum_t n_wall = 0
static