1
/*============================================================================
3
* This file is part of the Code_Saturne Kernel, element of the
4
* Code_Saturne CFD tool.
6
* Copyright (C) 1998-2009 EDF S.A., France
8
* contact: saturne-support@edf.fr
10
* The Code_Saturne Kernel is free software; you can redistribute it
11
* and/or modify it under the terms of the GNU General Public License
12
* as published by the Free Software Foundation; either version 2 of
13
* the License, or (at your option) any later version.
15
* The Code_Saturne Kernel is distributed in the hope that it will be
16
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
17
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
20
* You should have received a copy of the GNU General Public License
21
* along with the Code_Saturne Kernel; if not, write to the
22
* Free Software Foundation, Inc.,
23
* 51 Franklin St, Fifth Floor,
24
* Boston, MA 02110-1301 USA
26
*============================================================================*/
28
#ifndef __CS_LAGR_PERIO_H__
29
#define __CS_LAGR_PERIO_H__
31
/*============================================================================
32
* Management of the periodicity for particles
33
*============================================================================*/
35
/*----------------------------------------------------------------------------
37
*----------------------------------------------------------------------------*/
41
/*----------------------------------------------------------------------------*/
45
/*============================================================================
46
* Public functions definition for API Fortran
47
*============================================================================*/
49
/*----------------------------------------------------------------------------
50
* Build buffers to keep the link between a given halo cell and :
51
* - the related real cell
52
* - the transformation id
59
* INTEGER ICELCR(NCELET-NCEL) : <- : related real cell buffer
60
* INTEGER IPERCR(NCELET-NCEL) : <- : transformation id buffer
63
*----------------------------------------------------------------------------*/
66
CS_PROCF (perloc, PERLOC)(cs_int_t *icelcr,
69
/*----------------------------------------------------------------------------
70
* Apply rotation to the location of a particle.
77
* INTEGER ITRANS : -> : transformation id buffer
78
* DOUBLE PRECISION VTX_A : -> : location of vertex before transform.
79
* DOUBLE PRECISION VTX_B : <- : location of the vertex after transform.
82
*----------------------------------------------------------------------------*/
85
CS_PROCF (lagper, LAGPER)(const cs_int_t *itrans,
86
const cs_real_t vtx_a[],
89
/*----------------------------------------------------------------------------
90
* Apply rotation on the velocity vector of a particle.
97
* INTEGER ITRANS : -> : transformation id
98
* DOUBLE PRECISION VECTI : -> : vector before transformation
99
* DOUBLE PRECISION VECTF : <- : vector after transformation
102
*----------------------------------------------------------------------------*/
105
CS_PROCF (lagvec, LAGVEC)(const cs_int_t *itrans,
106
const cs_real_t vecti[],
109
/*----------------------------------------------------------------------------*/
113
#endif /* __CS_LAGR_PERIO_H__ */