programmer's documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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-2014 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 (
74  cs_int_t *nbfast,
75  cs_int_t *nbnast,
76  cs_int_t *lstfac,
77  cs_int_t *idfast,
78  cs_int_t *idnast,
79  cs_real_t *almax
80 );
81 
82 /*----------------------------------------------------------------------------
83  * Send stresses acting on the fluid/structure interface.
84  *
85  * Fortran Interface:
86  *
87  * SUBROUTINE ASTFOR
88  * *****************
89  *
90  *----------------------------------------------------------------------------*/
91 
92 void CS_PROCF(astfor, ASTFOR)
93 (
94  cs_int_t *ntcast,
95  cs_int_t *nbfast,
96  cs_real_t *forast
97 );
98 
99 /*----------------------------------------------------------------------------
100  * Receive displacement values of the fluid/structure interface
101  *
102  * Fortran Interface:
103  *
104  * SUBROUTINE ASTCIN
105  * *****************
106  *
107  *----------------------------------------------------------------------------*/
108 
109 void CS_PROCF(astcin, ASTCIN)
110 (
111  cs_int_t *ntcast,
112  cs_int_t *nbfast,
113  cs_int_t *lstfac,
114  cs_real_3_t *depale
115 );
116 
117 /*----------------------------------------------------------------------------
118  * Receive coupling parameters
119  *
120  * Fortran Interface:
121  *
122  * SUBROUTINE ASTPAR
123  * *****************
124  *
125  *----------------------------------------------------------------------------*/
126 
127 void CS_PROCF(astpar, ASTPAR)
128 (
129  cs_int_t *nbpdt,
130  cs_int_t *nbsspdt,
131  cs_real_t *delta,
132  cs_real_t *tt,
133  cs_real_t *dt
134 );
135 
136 /*----------------------------------------------------------------------------
137  * Exchange time step
138  *
139  * Fortran Interface:
140  *
141  * SUBROUTINE ASTPDT
142  * *****************
143  *
144  *----------------------------------------------------------------------------*/
145 
146 void CS_PROCF(astpdt, ASTPDT)
147 (
148  cs_real_t *dttab,
149  cs_int_t *ncelet,
150  cs_int_t *nbpdt
151 );
152 
153 /*----------------------------------------------------------------------------
154  * Receive convergence value of Code_Saturne/Code_Aster coupling
155  *
156  * Fortran Interface:
157  *
158  * SUBROUTINE ASTCV1
159  * *****************
160  *
161  *----------------------------------------------------------------------------*/
162 
163 void CS_PROCF(astcv1, ASTCV1)
164 (
165  cs_int_t *ntcast,
166  cs_int_t *icv
167 );
168 
169 /*-----------------------------------------------------------------------------
170  * Send global convergence value of IFS calculations
171  * (Internal and external structures)
172  *
173  * Fortran Interface:
174  *
175  * SUBROUTINE ASTCV2
176  * *****************
177  *
178  *----------------------------------------------------------------------------*/
179 
180 void CS_PROCF(astcv2, ASTCV2)
181 (
182  cs_int_t *ntcast,
183  cs_int_t *icv
184 );
185 
186 /*----------------------------------------------------------------------------*/
187 
189 
190 #endif /* __CS_SYR_COUPLING_H__ */
void astcv2(cs_int_t *ntcast, cs_int_t *icv)
Definition: cs_ast_coupling.c:621
#define BEGIN_C_DECLS
Definition: cs_defs.h:405
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:295
void astpdt(cs_real_t *dttab, cs_int_t *ncelet, cs_int_t *nbpdt)
Definition: cs_ast_coupling.c:517
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:417
void astgeo(cs_int_t *nbfast, cs_int_t *nbnast, cs_int_t *lstfac, cs_int_t *idfast, cs_int_t *idnast, cs_real_t *almax)
Definition: cs_ast_coupling.c:125
void astcin(cs_int_t *ntcast, cs_int_t *nbfast, cs_int_t *lstfac, cs_real_3_t *depale)
Definition: cs_ast_coupling.c:311
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:307
#define END_C_DECLS
Definition: cs_defs.h:406
double cs_real_t
Definition: cs_defs.h:296
#define CS_PROCF(x, y)
Definition: cs_defs.h:419
void astfor(cs_int_t *ntcast, cs_int_t *nbfast, cs_real_t *forast)
Definition: cs_ast_coupling.c:253
void astcv1(cs_int_t *ntcast, cs_int_t *icv)
Definition: cs_ast_coupling.c:591