programmer's documentation
cs_ast_coupling.h
Go to the documentation of this file.
1 #ifndef __CS_AST_COUPLING_H__
2 #define __CS_AST_COUPLING_H__
3 
4 /*============================================================================
5  * Code_Aster coupling
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2019 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 /*----------------------------------------------------------------------------
31  * Standard C library headers
32  *----------------------------------------------------------------------------*/
33 
34 /*----------------------------------------------------------------------------
35  * Local headers
36  *----------------------------------------------------------------------------*/
37 
38 #include "cs_base.h"
39 
40 /*----------------------------------------------------------------------------*/
41 
43 
44 /*=============================================================================
45  * Local Macro Definitions
46  *============================================================================*/
47 
48 /*============================================================================
49  * Structure definition
50  *============================================================================*/
51 
52 typedef struct _cs_ast_coupling_t cs_ast_coupling_t;
53 
54 /*============================================================================
55  * Global variables definition
56  *============================================================================*/
57 
58 /*============================================================================
59  * Public function prototypes for Fortran API
60  *============================================================================*/
61 
62 /*----------------------------------------------------------------------------
63  * Send nodes coordinates and structure numbering of coupled mesh.
64  *
65  * Fortran Interface:
66  *
67  * SUBROUTINE ASTGEO
68  * *****************
69  *
70  *----------------------------------------------------------------------------*/
71 
72 void CS_PROCF(astgeo, ASTGEO)
73 (
75  cs_int_t *lstfac,
76  cs_int_t *idfast,
77  cs_int_t *idnast,
79 );
80 
81 /*----------------------------------------------------------------------------
82  * Send stresses acting on the fluid/structure interface.
83  *
84  * Fortran Interface:
85  *
86  * SUBROUTINE ASTFOR
87  * *****************
88  *
89  *----------------------------------------------------------------------------*/
90 
91 void CS_PROCF(astfor, ASTFOR)
92 (
95  cs_real_t *forast
96 );
97 
98 /*----------------------------------------------------------------------------
99  * Receive displacement values of the fluid/structure interface
100  *
101  * Fortran Interface:
102  *
103  * SUBROUTINE ASTCIN
104  * *****************
105  *
106  *----------------------------------------------------------------------------*/
107 
108 void CS_PROCF(astcin, ASTCIN)
109 (
110  cs_int_t *ntcast,
111  cs_real_3_t *disale
112 );
113 
114 /*----------------------------------------------------------------------------
115  * Receive coupling parameters
116  *
117  * Fortran Interface:
118  *
119  * SUBROUTINE ASTPAR
120  * *****************
121  *
122  *----------------------------------------------------------------------------*/
123 
124 void CS_PROCF(astpar, ASTPAR)
125 (
126  cs_int_t *nbpdt,
127  cs_int_t *nbsspdt,
128  cs_real_t *delta,
129  cs_real_t *tt,
130  cs_real_t *dt
131 );
132 
133 /*----------------------------------------------------------------------------
134  * Exchange time step
135  *
136  * Fortran Interface:
137  *
138  * SUBROUTINE ASTPDT
139  * *****************
140  *
141  *----------------------------------------------------------------------------*/
142 
143 void CS_PROCF(astpdt, ASTPDT)
144 (
145  cs_real_t *dttab,
146  cs_int_t *ncelet,
147  cs_int_t *nbpdt
148 );
149 
150 /*----------------------------------------------------------------------------
151  * Receive convergence value of Code_Saturne/Code_Aster coupling
152  *
153  * Fortran Interface:
154  *
155  * SUBROUTINE ASTCV1
156  * *****************
157  *
158  *----------------------------------------------------------------------------*/
159 
160 void CS_PROCF(astcv1, ASTCV1)
161 (
162  cs_int_t *ntcast,
163  cs_int_t *icv
164 );
165 
166 /*-----------------------------------------------------------------------------
167  * Send global convergence value of IFS calculations
168  * (Internal and external structures)
169  *
170  * Fortran Interface:
171  *
172  * SUBROUTINE ASTCV2
173  * *****************
174  *
175  *----------------------------------------------------------------------------*/
176 
177 void CS_PROCF(astcv2, ASTCV2)
178 (
179  cs_int_t *ntcast,
180  cs_int_t *icv
181 );
182 
183 /*============================================================================
184  * Public function prototypes
185  *============================================================================*/
186 
187 /*----------------------------------------------------------------------------
188  * Free coupling structure.
189  *----------------------------------------------------------------------------*/
190 
191 void
193 
194 /*----------------------------------------------------------------------------*/
195 
197 
198 #endif /* __CS_SYR_COUPLING_H__ */
void astcv2(cs_int_t *ntcast, cs_int_t *icv)
Definition: cs_ast_coupling.c:704
integer(c_int), pointer, save icv
isochoric specific heat
Definition: cstphy.f90:94
integer, save ntcast
Definition: alaste.f90:46
integer, save nbfast
Definition: alaste.f90:47
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
void astgeo(cs_int_t *nbfast, cs_int_t *lstfac, cs_int_t *idfast, cs_int_t *idnast, cs_real_t *almax)
Definition: cs_ast_coupling.c:131
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:301
void astpdt(cs_real_t *dttab, cs_int_t *ncelet, cs_int_t *nbpdt)
Definition: cs_ast_coupling.c:605
double cs_real_t
Floating-point value.
Definition: cs_defs.h:302
void astpar(cs_int_t *nbpdt, cs_int_t *nbsspdt, cs_real_t *delta, cs_real_t *tt, cs_real_t *dt)
Definition: cs_ast_coupling.c:515
integer, save ncelet
Definition: mesh.f90:46
void astcin(cs_int_t *ntcast, cs_real_3_t *disale)
Definition: cs_ast_coupling.c:441
double precision, dimension(ncharm), save delta
Definition: cpincl.f90:99
Definition: cs_field_pointer.h:65
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:315
#define END_C_DECLS
Definition: cs_defs.h:468
void cs_ast_coupling_finalize(void)
Definition: cs_ast_coupling.c:726
#define CS_PROCF(x, y)
Definition: cs_defs.h:481
void astfor(cs_int_t *ntcast, cs_int_t *nbfast, cs_real_t *forast)
Definition: cs_ast_coupling.c:396
real(c_double), pointer, save almax
is a characteristic macroscopic length of the domain, used for the initialization of the turbulence a...
Definition: cstphy.f90:610
void astcv1(cs_int_t *ntcast, cs_int_t *icv)
Definition: cs_ast_coupling.c:674
struct _cs_ast_coupling_t cs_ast_coupling_t
Definition: cs_ast_coupling.h:52