7.3
general documentation
cs_boundary.h File Reference
#include "cs_defs.h"
#include "cs_base.h"
+ Include dependency graph for cs_boundary.h:

Go to the source code of this file.

Data Structures

struct  cs_boundary_t
 Structure storing information related to the "physical" boundaries associated with the computational domain. More...
 

Macros

#define CS_BOUNDARY_PRESSURE_NO_RESCALING   1
 
#define CS_BOUNDARY_PRESSURE_RESCALING   0
 
#define CS_BOUNDARY_WALLS_NAME   "auto:wall"
 
#define CS_BOUNDARY_UNDEFINED   0
 

Typedefs

typedef int cs_boundary_type_t
 

Enumerations

enum  cs_boundary_category_t { CS_BOUNDARY_CATEGORY_FLOW, CS_BOUNDARY_CATEGORY_ALE, CS_BOUNDARY_CATEGORY_RADIATIVE }
 
enum  cs_boundary_flow_subtype_bits_t {
  CS_BOUNDARY_WALL = 1<<0, CS_BOUNDARY_INLET = 1<<1, CS_BOUNDARY_OUTLET = 1<<2, CS_BOUNDARY_SYMMETRY = 1<<3,
  CS_BOUNDARY_ROUGH_WALL = 1<<4, CS_BOUNDARY_SLIDING_WALL = 1<<5, CS_BOUNDARY_IMPOSED_VEL = 1<<6, CS_BOUNDARY_IMPOSED_P = 1<<7,
  CS_BOUNDARY_FREE_INLET_OUTLET = 1<<8, CS_BOUNDARY_CONVECTIVE_INLET = 1<<9, CS_BOUNDARY_INLET_QH = 1<<10, CS_BOUNDARY_INLET_SUBSONIC_PH = 1<<11,
  CS_BOUNDARY_SUBSONIC = 1<<12, CS_BOUNDARY_SUPERSONIC = 1<<13, CS_BOUNDARY_FREE_SURFACE = 1<<14, CS_BOUNDARY_COUPLED = 1<<15,
  CS_BOUNDARY_COUPLED_DF = 1<<16
}
 
enum  cs_boundary_ale_subtype_bits_t {
  CS_BOUNDARY_ALE_FIXED = 1<<0, CS_BOUNDARY_ALE_SLIDING = 1<<1, CS_BOUNDARY_ALE_IMPOSED_VEL = 1<<2, CS_BOUNDARY_ALE_IMPOSED_DISP = 1<<3,
  CS_BOUNDARY_ALE_INTERNAL_COUPLING = 1<<4, CS_BOUNDARY_ALE_EXTERNAL_COUPLING = 1<<5, CS_BOUNDARY_ALE_FREE_SURFACE = 1<<6
}
 

Functions

bool cs_boundary_has_type (const cs_boundary_t *boundaries, int type_flag)
 Check if a boundary with a given flag is present. More...
 
int cs_boundary_id_by_zone_id (const cs_boundary_t *boundaries, int z_id)
 Retrieve the related id associated to a boundary from its zone id. More...
 
void cs_boundary_set_default (cs_boundary_t *boundaries, cs_boundary_type_t type)
 Set the default boundary related to the given cs_boundary_t structure. More...
 
cs_boundary_tcs_boundary_create (cs_boundary_category_t category, cs_boundary_type_t default_type)
 Create a default boundary structure for the computational domain. More...
 
void cs_boundary_free (cs_boundary_t **p_boundaries)
 Free all metadate related to the domain boundaries. More...
 
void cs_boundary_add (cs_boundary_t *bdy, cs_boundary_type_t type, const char *zone_name)
 Add a new boundary type for a given boundary zone. More...
 
void cs_boundary_build_type_array (const cs_boundary_t *boundaries, cs_lnum_t n_b_faces, cs_boundary_type_t bf_type[])
 Build an array on boundary faces which specifies the boundary type for each face. More...
 
void cs_boundary_def_wall_zones (cs_boundary_t *boundaries)
 Add a new zone gathering all CS_BOUNDARY_WALL type zones. More...
 
int cs_boundary_need_pressure_rescaling (cs_lnum_t n_b_faces, const cs_boundary_type_t bf_type[])
 Check if one needs to perform a pressure rescaling (in case of a Dirichlet on the velocity for the whole boundary) Use in CDO schemes for Navier–Stokes. More...
 
void cs_boundary_get_type_descr (const cs_boundary_t *bdy, cs_boundary_type_t b_type, int descr_len_max, char descr[])
 Build a boundary type description. More...
 
void cs_boundary_log_setup (const cs_boundary_t *bdy)
 Summarize the setup of the boundary of the computational domain. More...
 

Variables

cs_boundary_tcs_glob_boundaries
 

Macro Definition Documentation

◆ CS_BOUNDARY_PRESSURE_NO_RESCALING

#define CS_BOUNDARY_PRESSURE_NO_RESCALING   1

◆ CS_BOUNDARY_PRESSURE_RESCALING

#define CS_BOUNDARY_PRESSURE_RESCALING   0

◆ CS_BOUNDARY_UNDEFINED

#define CS_BOUNDARY_UNDEFINED   0

◆ CS_BOUNDARY_WALLS_NAME

#define CS_BOUNDARY_WALLS_NAME   "auto:wall"

Typedef Documentation

◆ cs_boundary_type_t

typedef int cs_boundary_type_t

Flag values defining boundary condition subtypes (0 for none)

Enumeration Type Documentation

◆ cs_boundary_ale_subtype_bits_t

Enumerator
CS_BOUNDARY_ALE_FIXED 

fixed

CS_BOUNDARY_ALE_SLIDING 

sliding

CS_BOUNDARY_ALE_IMPOSED_VEL 

imposed velocity

CS_BOUNDARY_ALE_IMPOSED_DISP 

imposed displacement

CS_BOUNDARY_ALE_INTERNAL_COUPLING 

internal coupling

CS_BOUNDARY_ALE_EXTERNAL_COUPLING 

external coupling

CS_BOUNDARY_ALE_FREE_SURFACE 

free surface

◆ cs_boundary_category_t

Enumerator
CS_BOUNDARY_CATEGORY_FLOW 
CS_BOUNDARY_CATEGORY_ALE 
CS_BOUNDARY_CATEGORY_RADIATIVE 

◆ cs_boundary_flow_subtype_bits_t

Enumerator
CS_BOUNDARY_WALL 

wall

CS_BOUNDARY_INLET 

inlet

CS_BOUNDARY_OUTLET 

outlet

CS_BOUNDARY_SYMMETRY 

symmetry

CS_BOUNDARY_ROUGH_WALL 

rough wall

CS_BOUNDARY_SLIDING_WALL 

sliding wall

CS_BOUNDARY_IMPOSED_VEL 

imposed velocity

CS_BOUNDARY_IMPOSED_P 

imposed pressure

CS_BOUNDARY_FREE_INLET_OUTLET 

free inlet-outlet

CS_BOUNDARY_CONVECTIVE_INLET 

convective inlet

CS_BOUNDARY_INLET_QH 

compressible inlet, imposed flux and enthalpy

CS_BOUNDARY_INLET_SUBSONIC_PH 

compressible (subsonic) inlet, imposed pressure and enthalpy

CS_BOUNDARY_SUBSONIC 

compressible subsonic

CS_BOUNDARY_SUPERSONIC 

compressible supersonic

CS_BOUNDARY_FREE_SURFACE 

free surface

CS_BOUNDARY_COUPLED 

coupled

CS_BOUNDARY_COUPLED_DF 

coupled with decentered flux

Function Documentation

◆ cs_boundary_add()

void cs_boundary_add ( cs_boundary_t bdy,
cs_boundary_type_t  type,
const char *  zone_name 
)

Add a new boundary type for a given boundary zone.

Parameters
[in,out]bdypointer to a structure storing boundary info
[in]typetype of boundary to set
[in]zone_namename of the zone related to this boundary

◆ cs_boundary_build_type_array()

void cs_boundary_build_type_array ( const cs_boundary_t boundaries,
cs_lnum_t  n_b_faces,
cs_boundary_type_t  bf_type[] 
)

Build an array on boundary faces which specifies the boundary type for each face.

Parameters
[in]boundariespointer to the domain boundaries
[in]n_b_facesnumber of boundaries faces
[in,out]bf_typeboundary type flag
[in]boundariespointer to the domain boundaries
[in]n_b_facesnumber of boundaries faces
[in,out]bf_typearray to define the type of boundary

◆ cs_boundary_create()

cs_boundary_t* cs_boundary_create ( cs_boundary_category_t  category,
cs_boundary_type_t  default_type 
)

Create a default boundary structure for the computational domain.

Parameters
[in]categorydefault type of boundary to set
[in]default_typedefault type of boundary to set
Returns
a pointer to the new allocated structure

◆ cs_boundary_def_wall_zones()

void cs_boundary_def_wall_zones ( cs_boundary_t boundaries)

Add a new zone gathering all CS_BOUNDARY_WALL type zones.

Parameters
[in,out]boundariespointer to the domain boundaries

Add a new zone gathering all CS_BOUNDARY_WALL type zones.

Parameters
[in,out]boundariespointer to the domain boundaries

◆ cs_boundary_free()

void cs_boundary_free ( cs_boundary_t **  p_boundaries)

Free all metadate related to the domain boundaries.

Parameters
[in,out]p_boundariespointer to the structure to free

◆ cs_boundary_get_type_descr()

void cs_boundary_get_type_descr ( const cs_boundary_t bdy,
cs_boundary_type_t  b_type,
int  descr_len_max,
char  descr[] 
)

Build a boundary type description.

Parameters
[in]bdypointer to a structure storing boundary info
[in]b_typetype flag
[in]descr_len_maxmaximum name length
[out]descrsubtype name

◆ cs_boundary_has_type()

bool cs_boundary_has_type ( const cs_boundary_t boundaries,
int  type_flag 
)

Check if a boundary with a given flag is present.

Parameters
[in]boundariespointer to a cs_boundary_t structure
[in]type_flagboundary type flag
Returns
true or false

◆ cs_boundary_id_by_zone_id()

int cs_boundary_id_by_zone_id ( const cs_boundary_t boundaries,
int  z_id 
)

Retrieve the related id associated to a boundary from its zone id.

Parameters
[in]boundariespointer to a cs_boundary_t structure
[in]z_idid of the related zone
Returns
the associated boundary id in the boundary list

◆ cs_boundary_log_setup()

void cs_boundary_log_setup ( const cs_boundary_t bdy)

Summarize the setup of the boundary of the computational domain.

Parameters
[in]bdypointer to a structure storing boundary info

◆ cs_boundary_need_pressure_rescaling()

int cs_boundary_need_pressure_rescaling ( cs_lnum_t  n_b_faces,
const cs_boundary_type_t  bf_type[] 
)

Check if one needs to perform a pressure rescaling (in case of a Dirichlet on the velocity for the whole boundary) Use in CDO schemes for Navier–Stokes.

Parameters
[in]n_b_facesnumber of border faces
[in]bf_typearray of types of boundary for each boundary face
Returns
1 if a pressure rescaling is needed otherwise 0
Parameters
[in]n_b_facesnumber of border faces
[in]bf_typearray of types of boundary for each boundary face
Returns
CS_BOUNDARY_PRESSURE_RESCALING (=0) or CS_BOUNDARY_PRESSURE_NO_RESCALING (=1)

◆ cs_boundary_set_default()

void cs_boundary_set_default ( cs_boundary_t boundaries,
cs_boundary_type_t  type 
)

Set the default boundary related to the given cs_boundary_t structure.

Parameters
[in,out]boundariespointer to a structure storing boundary info
[in]typetype of boundary to set

Variable Documentation

◆ cs_glob_boundaries

cs_boundary_t* cs_glob_boundaries