8.3
general documentation
cs_navsto_coupling.cpp File Reference

Functions to handle structures used as a context when solving the Navier-Stokes equations. Structures are cast on-the-fly according to the type of coupling. More...

#include "cs_defs.h"
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <bft_mem.h>
#include "cs_array.h"
#include "cs_navsto_coupling.h"
+ Include dependency graph for cs_navsto_coupling.cpp:

Macros

#define CS_NAVSTO_COUPLING_DBG   0
 

Functions

cs_equation_param_tcs_navsto_coupling_get_momentum_eqp (const cs_navsto_param_t *nsp, void *context)
 Retrieve the cs_equation_param_t structure related to the momentum equation according to the type of coupling. More...
 
void * cs_navsto_ac_create_context (cs_param_bc_type_t bc, cs_navsto_param_t *nsp)
 Allocate and initialize a context structure when the Navier-Stokes system is coupled using an Artificial Compressibility approach. More...
 
void * cs_navsto_ac_free_context (void *context)
 Free the context structure related to an Artificial Compressibility approach. More...
 
void cs_navsto_ac_init_setup (const cs_navsto_param_t *nsp, cs_adv_field_t *adv_field, void *context)
 Start setting-up the Navier-Stokes equations when an Artificial Compressibility algorithm is used to coupled the system. No mesh information is available at this stage. More...
 
void cs_navsto_ac_last_setup (const cs_navsto_param_t *nsp, void *context)
 Finalize the setup for the Navier-Stokes equations when an Artificial Compressibility algorithm is used to coupled the system. More...
 
cs_equation_tcs_navsto_ac_get_momentum_eq (void *context)
 Retrieve the pointer to the cs_equation_t structure related to the momentum equation in case of artificial compressibility coupling. More...
 
void * cs_navsto_monolithic_create_context (cs_param_bc_type_t bc, cs_navsto_param_t *nsp)
 Allocate and initialize a context structure when the Navier-Stokes system is coupled using a monolithic approach. More...
 
void * cs_navsto_monolithic_free_context (void *context)
 Free the context structure related to a monolithic approach. More...
 
void cs_navsto_monolithic_init_setup (const cs_navsto_param_t *nsp, cs_adv_field_t *adv_field, void *context)
 Start setting-up the Navier-Stokes equations when a monolithic algorithm is used to coupled the system. No mesh information is available at this stage. More...
 
void cs_navsto_monolithic_last_setup (const cs_navsto_param_t *nsp, void *context)
 Finalize the setup for the Navier-Stokes equations when a monolithic algorithm is used to coupled the system. Connectivity and geometric quantities are available at this stage. More...
 
cs_equation_tcs_navsto_monolithic_get_momentum_eq (void *context)
 Retrieve the pointer to the cs_equation_t structure related to the momentum equation in case of a monolithic coupling. More...
 
void * cs_navsto_projection_create_context (cs_param_bc_type_t bc, cs_navsto_param_t *nsp)
 Allocate and initialize a context structure when the Navier-Stokes system is coupled using an incremental Projection approach in the the rotational form (see Minev & Guermond, 2006, JCP) More...
 
void * cs_navsto_projection_free_context (void *context)
 Free the context structure related to a Projection approach. More...
 
void cs_navsto_projection_init_setup (const cs_navsto_param_t *nsp, cs_adv_field_t *adv_field, bool has_previous, void *context)
 Start setting-up the Navier-Stokes equations when a projection algorithm is used to coupled the system. No mesh information is available at this stage. More...
 
void cs_navsto_projection_last_setup (const cs_cdo_quantities_t *quant, const cs_navsto_param_t *nsp, void *context)
 Finalize the setup for the Navier-Stokes equations when a projection algorithm is used to coupled the system. Connectivity and geometric quantities are available at this stage. More...
 
cs_equation_tcs_navsto_projection_get_momentum_eq (void *context)
 Retrieve the pointer to the cs_equation_t structure related to the momentum equation in case of a projection coupling. More...
 

Detailed Description

Functions to handle structures used as a context when solving the Navier-Stokes equations. Structures are cast on-the-fly according to the type of coupling.

Functions to handle the settings of coupling algorithms are dedicated to one of the following algorithm

  • Artificial Compressibility algorithm
  • Monolithic algorithm
  • Projection algorithm

Macro Definition Documentation

◆ CS_NAVSTO_COUPLING_DBG

#define CS_NAVSTO_COUPLING_DBG   0

Function Documentation

◆ cs_navsto_ac_create_context()

void * cs_navsto_ac_create_context ( cs_param_bc_type_t  bc,
cs_navsto_param_t nsp 
)

Allocate and initialize a context structure when the Navier-Stokes system is coupled using an Artificial Compressibility approach.

Parameters
[in]bcdefault cs_param_bc_type_t for the equation
[in]nsppointer to a cs_navsto_param_t structure
Returns
a pointer to the context structure

◆ cs_navsto_ac_free_context()

void * cs_navsto_ac_free_context ( void *  context)

Free the context structure related to an Artificial Compressibility approach.

Parameters
[in,out]contextpointer to a context structure cast on-the-fly
Returns
a null pointer

◆ cs_navsto_ac_get_momentum_eq()

cs_equation_t * cs_navsto_ac_get_momentum_eq ( void *  context)

Retrieve the pointer to the cs_equation_t structure related to the momentum equation in case of artificial compressibility coupling.

Parameters
[in]contextpointer to a context structure cast on-the-fly
Returns
a pointer to a cs_equation_t structure

◆ cs_navsto_ac_init_setup()

void cs_navsto_ac_init_setup ( const cs_navsto_param_t nsp,
cs_adv_field_t adv_field,
void *  context 
)

Start setting-up the Navier-Stokes equations when an Artificial Compressibility algorithm is used to coupled the system. No mesh information is available at this stage.

Parameters
[in]nsppointer to a cs_navsto_param_t structure
[in]adv_fieldpointer to a cs_adv_field_t structure
[in,out]contextpointer to a context structure cast on-the-fly

◆ cs_navsto_ac_last_setup()

void cs_navsto_ac_last_setup ( const cs_navsto_param_t nsp,
void *  context 
)

Finalize the setup for the Navier-Stokes equations when an Artificial Compressibility algorithm is used to coupled the system.

Parameters
[in]nsppointer to a cs_navsto_param_t structure
[in,out]contextpointer to a context structure cast on-the-fly

◆ cs_navsto_coupling_get_momentum_eqp()

cs_equation_param_t * cs_navsto_coupling_get_momentum_eqp ( const cs_navsto_param_t nsp,
void *  context 
)

Retrieve the cs_equation_param_t structure related to the momentum equation according to the type of coupling.

Parameters
[in]nsppointer to a cs_navsto_param_t structure
[in]contextpointer to a coupling context structure
Returns
a pointer to the corresponding cs_equation_param_t structure

◆ cs_navsto_monolithic_create_context()

void * cs_navsto_monolithic_create_context ( cs_param_bc_type_t  bc,
cs_navsto_param_t nsp 
)

Allocate and initialize a context structure when the Navier-Stokes system is coupled using a monolithic approach.

Parameters
[in]bcdefault cs_param_bc_type_t for the equation
[in,out]nsppointer to a cs_navsto_param_t structure
Returns
a pointer to the context structure

◆ cs_navsto_monolithic_free_context()

void * cs_navsto_monolithic_free_context ( void *  context)

Free the context structure related to a monolithic approach.

Parameters
[in,out]contextpointer to a context structure cast on-the-fly
Returns
a null pointer

◆ cs_navsto_monolithic_get_momentum_eq()

cs_equation_t * cs_navsto_monolithic_get_momentum_eq ( void *  context)

Retrieve the pointer to the cs_equation_t structure related to the momentum equation in case of a monolithic coupling.

Parameters
[in]contextpointer to a context structure cast on-the-fly
Returns
a pointer to a cs_equation_t structure

◆ cs_navsto_monolithic_init_setup()

void cs_navsto_monolithic_init_setup ( const cs_navsto_param_t nsp,
cs_adv_field_t adv_field,
void *  context 
)

Start setting-up the Navier-Stokes equations when a monolithic algorithm is used to coupled the system. No mesh information is available at this stage.

Parameters
[in]nsppointer to a cs_navsto_param_t structure
[in]adv_fieldpointer to a cs_adv_field_t structure
[in,out]contextpointer to a context structure cast on-the-fly

◆ cs_navsto_monolithic_last_setup()

void cs_navsto_monolithic_last_setup ( const cs_navsto_param_t nsp,
void *  context 
)

Finalize the setup for the Navier-Stokes equations when a monolithic algorithm is used to coupled the system. Connectivity and geometric quantities are available at this stage.

Finalize the setup for the Navier-Stokes equations when a monolithic algorithm is used to coupled the system.

Parameters
[in]nsppointer to a cs_navsto_param_t structure
[in,out]contextpointer to a context structure cast on-the-fly

◆ cs_navsto_projection_create_context()

void * cs_navsto_projection_create_context ( cs_param_bc_type_t  bc,
cs_navsto_param_t nsp 
)

Allocate and initialize a context structure when the Navier-Stokes system is coupled using an incremental Projection approach in the the rotational form (see Minev & Guermond, 2006, JCP)

Parameters
[in]bcdefault cs_param_bc_type_t for the equation
[in]nsppointer to a cs_navsto_param_t structure
Returns
a pointer to the context structure

◆ cs_navsto_projection_free_context()

void * cs_navsto_projection_free_context ( void *  context)

Free the context structure related to a Projection approach.

Parameters
[in,out]contextpointer to a context structure cast on-the-fly
Returns
a null pointer

◆ cs_navsto_projection_get_momentum_eq()

cs_equation_t * cs_navsto_projection_get_momentum_eq ( void *  context)

Retrieve the pointer to the cs_equation_t structure related to the momentum equation in case of a projection coupling.

Parameters
[in]contextpointer to a context structure cast on-the-fly
Returns
a pointer to a cs_equation_t structure

◆ cs_navsto_projection_init_setup()

void cs_navsto_projection_init_setup ( const cs_navsto_param_t nsp,
cs_adv_field_t adv_field,
bool  has_previous,
void *  context 
)

Start setting-up the Navier-Stokes equations when a projection algorithm is used to coupled the system. No mesh information is available at this stage.

Parameters
[in]nsppointer to a cs_navsto_param_t structure
[in]adv_fieldpointer to a cs_adv_field_t structure
[in]has_previousvalues at different time steps (true/false)
[in,out]contextpointer to a context structure cast on-the-fly

◆ cs_navsto_projection_last_setup()

void cs_navsto_projection_last_setup ( const cs_cdo_quantities_t quant,
const cs_navsto_param_t nsp,
void *  context 
)

Finalize the setup for the Navier-Stokes equations when a projection algorithm is used to coupled the system. Connectivity and geometric quantities are available at this stage.

Parameters
[in]quantpointer to a cs_cdo_quantities_t structure
[in]nsppointer to a cs_navsto_param_t structure
[in,out]contextpointer to a context structure cast on-the-fly