8.3
general documentation
cs_halo_perio.h
Go to the documentation of this file.
1#ifndef __CS_HALO_PERIO_H__
2#define __CS_HALO_PERIO_H__
3
4/*============================================================================
5 * Structure and function headers associated to periodicity
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_base.h"
37#include "cs_halo.h"
38
39/*----------------------------------------------------------------------------*/
40
42
43/*============================================================================
44 * Type definitions
45 *============================================================================*/
46
47/*=============================================================================
48 * Public function prototypes
49 *============================================================================*/
50
51/*----------------------------------------------------------------------------
52 * Apply transformation on coordinates.
53 *
54 * parameters:
55 * halo <-> halo associated with coordinates to synchronize
56 * sync_mode --> kind of halo treatment (standard or extended)
57 * coords --> coordinates on which transformation have to be done.
58 *----------------------------------------------------------------------------*/
59
60void
62 cs_halo_type_t sync_mode,
63 cs_real_t *coords);
64
65/*----------------------------------------------------------------------------
66 * Synchronize values for a real vector (interleaved) between periodic cells.
67 *
68 * parameters:
69 * halo <-> halo associated with variable to synchronize
70 * sync_mode --> type of halo treatment (standard or extended)
71 * var <-> vector to update
72 * incvar <-- specifies the increment for the elements of var
73 *----------------------------------------------------------------------------*/
74
75void
77 cs_halo_type_t sync_mode,
78 cs_real_t var[],
79 int incvar);
80
81/*----------------------------------------------------------------------------
82 * Synchronize values for a real tensor (interleaved) between periodic cells.
83 *
84 * parameters:
85 * halo <-> halo associated with variable to synchronize
86 * sync_mode --> kind of halo treatment (standard or extended)
87 * var <-> tensor to update
88 *----------------------------------------------------------------------------*/
89
90void
92 cs_halo_type_t sync_mode,
93 cs_real_t var[]);
94
95/*----------------------------------------------------------------------------
96 * Synchronize values for a real tensor (symmetric interleaved) between
97 * periodic cells.
98 *
99 * parameters:
100 * halo <-> halo associated with variable to synchronize
101 * sync_mode --> kind of halo treatment (standard or extended)
102 * var <-> symmetric tensor to update (6 values)
103 *----------------------------------------------------------------------------*/
104
105void
107 cs_halo_type_t sync_mode,
108 cs_real_t var[]);
109
110/*----------------------------------------------------------------------------
111 * Synchronize values for a real gradient of a tensor (symmetric interleaved)
112 * between periodic cells.
113 *
114 * parameters:
115 * halo <-> halo associated with variable to synchronize
116 * sync_mode <-- kind of halo treatment (standard or extended)
117 * var <-> symmetric tensor to update (6 values)
118 *----------------------------------------------------------------------------*/
119
120void
122 cs_halo_type_t sync_mode,
123 cs_real_t var[]);
124
125/*----------------------------------------------------------------------------*/
126
128
129#endif /* __CS_HALO_PERIO_H__ */
130
#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
cs_halo_type_t
Definition: cs_halo.h:56
void cs_halo_perio_sync_var_sym_tens(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_real_t var[])
Definition: cs_halo_perio.cpp:525
void cs_halo_perio_sync_var_vect(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_real_t var[], int incvar)
Definition: cs_halo_perio.cpp:384
void cs_halo_perio_sync_var_tens(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_real_t var[])
Definition: cs_halo_perio.cpp:455
void cs_halo_perio_sync_coords(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_real_t *coords)
Definition: cs_halo_perio.cpp:319
void cs_halo_perio_sync_var_sym_tens_grad(const cs_halo_t *halo, cs_halo_type_t sync_mode, cs_real_t var[])
Definition: cs_halo_perio.cpp:595
Definition: cs_halo.h:77