8.3
general documentation
cs_lagr_tracking.h
Go to the documentation of this file.
1#ifndef __CS_LAGR_TRACKING_H__
2#define __CS_LAGR_TRACKING_H__
3
4/*============================================================================
5 * Functions and types for the Lagrangian module
6 *============================================================================*/
7
8/*
9 This file is part of code_saturne, a general-purpose CFD tool.
10
11 Copyright (C) 1998-2024 EDF S.A.
12
13 This program is free software; you can redistribute it and/or modify it under
14 the terms of the GNU General Public License as published by the Free Software
15 Foundation; either version 2 of the License, or (at your option) any later
16 version.
17
18 This program is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21 details.
22
23 You should have received a copy of the GNU General Public License along with
24 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25 Street, Fifth Floor, Boston, MA 02110-1301, USA.
26*/
27
28/*----------------------------------------------------------------------------*/
29
30#include "cs_defs.h"
31
32/*----------------------------------------------------------------------------
33 * Local headers
34 *----------------------------------------------------------------------------*/
35
36#include "cs_lagr_particle.h"
37
38/*----------------------------------------------------------------------------*/
39
41
42/*=============================================================================
43 * Macro definitions
44 *============================================================================*/
45
46/*============================================================================
47 * Type definitions
48 *============================================================================*/
49
50/* State where a particle can be.
51 (order is chosen so as to make tests simpler;
52 inside domain first, outside after) */
53
54typedef enum {
63
64/*=============================================================================
65 * Global variables
66 *============================================================================*/
67
68/*============================================================================
69 * Public function prototypes
70 *============================================================================*/
71
72/*----------------------------------------------------------------------------*/
76/*----------------------------------------------------------------------------*/
77
78void
80
81/*----------------------------------------------------------------------------*/
89/*----------------------------------------------------------------------------*/
90
91void
93 cs_lnum_t particle_range[2]);
94
95/*----------------------------------------------------------------------------*/
99/*----------------------------------------------------------------------------*/
100
101void
103
104/*----------------------------------------------------------------------------*/
117/*----------------------------------------------------------------------------*/
118
119void
120cs_lagr_test_wall_cell(const void *particle,
121 const cs_lagr_attribute_map_t *p_am,
122 const cs_real_t visc_length[],
124 cs_lnum_t *face_id);
125
126/*----------------------------------------------------------------------------*/
127
128
130
131#endif /* __CS_LAGR_TRACKING_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
double cs_real_t
Floating-point value.
Definition: cs_defs.h:342
#define END_C_DECLS
Definition: cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:335
@ yplus
Definition: cs_field_pointer.h:242
void cs_lagr_tracking_initialize(void)
Initialize particle tracking subsystem.
Definition: cs_lagr_tracking.cpp:3097
cs_lagr_tracking_state_t
Definition: cs_lagr_tracking.h:54
@ CS_LAGR_PART_STUCK
Definition: cs_lagr_tracking.h:58
@ CS_LAGR_PART_MERGED
Definition: cs_lagr_tracking.h:59
@ CS_LAGR_PART_OUT
Definition: cs_lagr_tracking.h:60
@ CS_LAGR_PART_TO_SYNC
Definition: cs_lagr_tracking.h:55
@ CS_LAGR_PART_TO_SYNC_NEXT
Definition: cs_lagr_tracking.h:56
@ CS_LAGR_PART_TREATED
Definition: cs_lagr_tracking.h:57
@ CS_LAGR_PART_ERR
Definition: cs_lagr_tracking.h:61
void cs_lagr_tracking_particle_movement(const cs_real_t visc_length[], cs_lnum_t particle_range[2])
Apply one particle movement step.
Definition: cs_lagr_tracking.cpp:3135
void cs_lagr_tracking_finalize(void)
Finalize Lagrangian module.
Definition: cs_lagr_tracking.cpp:3306
void cs_lagr_test_wall_cell(const void *particle, const cs_lagr_attribute_map_t *p_am, const cs_real_t visc_length[], cs_real_t *yplus, cs_lnum_t *face_id)
Determine the number of the closest wall face from the particle as well as the corresponding wall nor...
Definition: cs_lagr_tracking.cpp:3364
Definition: cs_lagr_particle.h:189