7.0
general documentation
cs_boundary.c File Reference

Handle the "physical" boundary conditions attached to a computational domain. More...

#include "cs_defs.h"
#include <assert.h>
#include <string.h>
#include "bft_mem.h"
#include "cs_boundary_zone.h"
#include "cs_log.h"
#include "cs_mesh.h"
#include "cs_mesh_location.h"
#include "cs_parall.h"
#include "cs_boundary.h"
+ Include dependency graph for cs_boundary.c:

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 zone type. 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...
 

Detailed Description

Handle the "physical" boundary conditions attached to a computational domain.

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_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 zone type.

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
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