My Project
programmer's documentation
Macros | Functions
cs_navsto_system.c File Reference

Routines to handle the cs_navsto_system_t structure. More...

#include "cs_defs.h"
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <bft_mem.h>
#include "cs_cdofb_ac.h"
#include "cs_cdofb_monolithic.h"
#include "cs_cdofb_navsto.h"
#include "cs_cdofb_predco.h"
#include "cs_cdofb_uzawa.h"
#include "cs_hho_stokes.h"
#include "cs_evaluate.h"
#include "cs_flag.h"
#include "cs_log.h"
#include "cs_navsto_coupling.h"
#include "cs_post.h"
#include "cs_volume_zone.h"
#include "cs_navsto_system.h"
Include dependency graph for cs_navsto_system.c:

Macros

#define CS_NAVSTO_SYSTEM_DBG   0
 

Functions

bool cs_navsto_system_is_activated (void)
 Check if the resolution of the Navier-Stokes system has been activated. More...
 
cs_navsto_system_tcs_navsto_system_activate (const cs_boundary_t *boundaries, cs_navsto_param_model_t model, cs_navsto_param_time_state_t time_state, cs_navsto_param_coupling_t algo_coupling)
 Allocate and initialize the Navier-Stokes (NS) system. More...
 
void cs_navsto_system_destroy (void)
 Free the main structure related to the Navier-Stokes system. More...
 
cs_navsto_param_tcs_navsto_system_get_param (void)
 Retrieve the structure storing the parameters for the Navier–Stokes system. More...
 
cs_equation_tcs_navsto_system_get_momentum_eq (void)
 Retrieve a pointer to the equation related to the momentum equation. More...
 
void cs_navsto_system_init_setup (void)
 Start setting-up the Navier-Stokes system At this stage, numerical settings should be completely determined but connectivity and geometrical information is not yet available. More...
 
void cs_navsto_system_set_sles (void)
 Define the settings for SLES related to the Navier-Stokes system. More...
 
void cs_navsto_system_finalize_setup (const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *time_step)
 Last step of the setup of the Navier-Stokes system. More...
 
void cs_navsto_system_initialize (const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *ts)
 Initialize the context structure used to build the algebraic system This is done after the setup step. More...
 
void cs_navsto_system_compute_steady_state (const cs_mesh_t *mesh, const cs_time_step_t *time_step)
 Build, solve and update the Navier-Stokes system in case of a steady-state approach. More...
 
void cs_navsto_system_compute (const cs_mesh_t *mesh, const cs_time_step_t *time_step)
 Build, solve and update the Navier-Stokes system. More...
 
void cs_navsto_system_extra_op (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq)
 Predefined extra-operations for the Navier-Stokes system. More...
 
void cs_navsto_system_extra_post (void *input, int mesh_id, int cat_id, int ent_flag[5], cs_lnum_t n_cells, cs_lnum_t n_i_faces, cs_lnum_t n_b_faces, const cs_lnum_t cell_ids[], const cs_lnum_t i_face_ids[], const cs_lnum_t b_face_ids[], const cs_time_step_t *time_step)
 Predefined post-processing output for the Navier-Stokes system. The prototype of this function is fixed since it is a function pointer defined in cs_post.h (cs_post_time_mesh_dep_output_t) More...
 
void cs_navsto_system_log_setup (void)
 Summary of the main cs_navsto_system_t structure. More...
 

Detailed Description

Routines to handle the cs_navsto_system_t structure.

Macro Definition Documentation

◆ CS_NAVSTO_SYSTEM_DBG

#define CS_NAVSTO_SYSTEM_DBG   0

Function Documentation

◆ cs_navsto_system_activate()

cs_navsto_system_t* cs_navsto_system_activate ( const cs_boundary_t boundaries,
cs_navsto_param_model_t  model,
cs_navsto_param_time_state_t  time_state,
cs_navsto_param_coupling_t  algo_coupling 
)

Allocate and initialize the Navier-Stokes (NS) system.

Parameters
[in]boundariespointer to the domain boundaries
[in]modeltype of model related to the NS system
[in]time_statestate of the time for the NS equations
[in]algo_couplingalgorithm used for solving the NS system
Returns
a pointer to a new allocated cs_navsto_system_t structure

◆ cs_navsto_system_compute()

void cs_navsto_system_compute ( const cs_mesh_t mesh,
const cs_time_step_t time_step 
)

Build, solve and update the Navier-Stokes system.

Parameters
[in]meshpointer to a cs_mesh_t structure
[in]time_stepstructure managing the time stepping

◆ cs_navsto_system_compute_steady_state()

void cs_navsto_system_compute_steady_state ( const cs_mesh_t mesh,
const cs_time_step_t time_step 
)

Build, solve and update the Navier-Stokes system in case of a steady-state approach.

Parameters
[in]meshpointer to a cs_mesh_t structure
[in]time_stepstructure managing the time stepping

◆ cs_navsto_system_destroy()

void cs_navsto_system_destroy ( void  )

Free the main structure related to the Navier-Stokes system.

◆ cs_navsto_system_extra_op()

void cs_navsto_system_extra_op ( const cs_cdo_connect_t connect,
const cs_cdo_quantities_t cdoq 
)

Predefined extra-operations for the Navier-Stokes system.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]cdoqpointer to a cs_cdo_quantities_t structure

◆ cs_navsto_system_extra_post()

void cs_navsto_system_extra_post ( void *  input,
int  mesh_id,
int  cat_id,
int  ent_flag[5],
cs_lnum_t  n_cells,
cs_lnum_t  n_i_faces,
cs_lnum_t  n_b_faces,
const cs_lnum_t  cell_ids[],
const cs_lnum_t  i_face_ids[],
const cs_lnum_t  b_face_ids[],
const cs_time_step_t time_step 
)

Predefined post-processing output for the Navier-Stokes system. The prototype of this function is fixed since it is a function pointer defined in cs_post.h (cs_post_time_mesh_dep_output_t)

Parameters
[in,out]inputpointer to a optional structure (here a cs_gwf_t structure)
[in]mesh_idid of the output mesh for the current call
[in]cat_idcategory id of the output mesh for this call
[in]ent_flagindicate global presence of cells (ent_flag[0]), interior faces (ent_flag[1]), boundary faces (ent_flag[2]), particles (ent_flag[3]) or probes (ent_flag[4])
[in]n_cellslocal number of cells of post_mesh
[in]n_i_faceslocal number of interior faces of post_mesh
[in]n_b_faceslocal number of boundary faces of post_mesh
[in]cell_idslist of cells (0 to n-1)
[in]i_face_idslist of interior faces (0 to n-1)
[in]b_face_idslist of boundary faces (0 to n-1)
[in]time_steppointer to a cs_time_step_t struct.

◆ cs_navsto_system_finalize_setup()

void cs_navsto_system_finalize_setup ( const cs_mesh_t mesh,
const cs_cdo_connect_t connect,
const cs_cdo_quantities_t quant,
const cs_time_step_t time_step 
)

Last step of the setup of the Navier-Stokes system.

Parameters
[in]meshpointer to a cs_mesh_t structure
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in]time_steppointer to a cs_time_step_t structure

◆ cs_navsto_system_get_momentum_eq()

cs_equation_t* cs_navsto_system_get_momentum_eq ( void  )

Retrieve a pointer to the equation related to the momentum equation.

Returns
NULL or the pointer

◆ cs_navsto_system_get_param()

cs_navsto_param_t* cs_navsto_system_get_param ( void  )

Retrieve the structure storing the parameters for the Navier–Stokes system.

Returns
NULL or the pointer to a cs_navsto_param_t structure

◆ cs_navsto_system_init_setup()

void cs_navsto_system_init_setup ( void  )

Start setting-up the Navier-Stokes system At this stage, numerical settings should be completely determined but connectivity and geometrical information is not yet available.

◆ cs_navsto_system_initialize()

void cs_navsto_system_initialize ( const cs_mesh_t mesh,
const cs_cdo_connect_t connect,
const cs_cdo_quantities_t quant,
const cs_time_step_t ts 
)

Initialize the context structure used to build the algebraic system This is done after the setup step.

Parameters
[in]meshpointer to a cs_mesh_t structure
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in]tspointer to a cs_time_step_t structure

◆ cs_navsto_system_is_activated()

bool cs_navsto_system_is_activated ( void  )

Check if the resolution of the Navier-Stokes system has been activated.

Returns
true or false

◆ cs_navsto_system_log_setup()

void cs_navsto_system_log_setup ( void  )

Summary of the main cs_navsto_system_t structure.

◆ cs_navsto_system_set_sles()

void cs_navsto_system_set_sles ( void  )

Define the settings for SLES related to the Navier-Stokes system.