Code_Saturne
CFD tool
cs_post_default.h
Go to the documentation of this file.
1 #ifndef __CS_POST_DEFAULT_H__
2 #define __CS_POST_DEFAULT_H__
3 
4 /*============================================================================
5  * Post-processing management
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2012 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  * Macro definitions
46  *============================================================================*/
47 
48 /*============================================================================
49  * Local type definitions
50  *============================================================================*/
51 
52 /*=============================================================================
53  * Global variables
54  *============================================================================*/
55 
56 /*============================================================================
57  * Public Fortran function prototypes
58  *============================================================================*/
59 
60 /*----------------------------------------------------------------------------
61  * Configure the post-processing output so that a mesh displacement field
62  * may be output automatically for meshes based on the global volume mesh/
63  *
64  * Fortran interface:
65  *
66  * subroutine pstdfm
67  * *****************
68  *----------------------------------------------------------------------------*/
69 
70 void CS_PROCF (pstdfm, PSTDFM)
71 (
72  void
73 );
74 
75 /*----------------------------------------------------------------------------
76  * Update the "active" or "inactive" flag for writers based on the current
77  * time step and their default output frequency.
78  *
79  * Fortran interface:
80  *
81  * subroutine pstntc (ntmabs, ntcabs, ttcabs)
82  * *****************
83  *
84  * integer ntmabs : <-- : maximum time step number
85  * integer ntcabs : <-- : current time step number
86  * double precision ttcabs : <-- : absolute time at the current time step
87  *----------------------------------------------------------------------------*/
88 
89 void CS_PROCF (pstntc, PSTNTC)
90 (
91  const cs_int_t *ntmabs,
92  const cs_int_t *ntcabs,
93  const cs_real_t *ttcabs
94 );
95 
96 /*----------------------------------------------------------------------------
97  * Force the "active" or "inactive" flag for a specific writer or for all
98  * writers for the current time step.
99  *
100  * Fortran interface:
101  *
102  * subroutine pstact (numwri, indact)
103  * *****************
104  *
105  * integer numwri : <-- : writer number, or 0 for all writers
106  * integer indact : <-- : 0 to deactivate, 1 to activate
107  *----------------------------------------------------------------------------*/
108 
109 void CS_PROCF (pstact, PSTACT)
110 (
111  const cs_int_t *numwri,
112  const cs_int_t *indact
113 );
114 
115 /*----------------------------------------------------------------------------
116  * Output post-processing meshes using associated writers.
117  *
118  * Fortran interface:
119  *
120  * subroutine pstema (ntcabs, ttcabs)
121  * *****************
122  *
123  * integer ntcabs : <-- : current time step number
124  * double precision ttcabs : <-- : current physical time
125  *----------------------------------------------------------------------------*/
126 
127 void CS_PROCF (pstema, PSTEMA)
128 (
129  const cs_int_t *ntcabs,
130  const cs_real_t *ttcabs
131 );
132 
133 /*----------------------------------------------------------------------------
134  * Loop on post-processing meshes to output variables
135  *
136  * Fortran interface:
137  *
138  * subroutine pstvar
139  * *****************
140  * ( ntcabs,
141  * nvar, nscal, nvlsta, nvisbr,
142  * ttcabs,
143  * dt, rtpa, rtp, propce, propfa, propfb,
144  * coefa, coefb,
145  * statce, stativ, statfb)
146  *
147  * integer ntcabs : --> : current time step number
148  * integer nvar : <-- : number of variables
149  * integer nscal : <-- : number of scalars
150  * integer nvlsta : <-- : number of statistical variables (lagr)
151  * integer nvisbr : <-- : number of boundary stat. variables (lagr)
152  * double precision ttcabs : <-- : current physical time
153  * double precision dt : <-- : local time step
154  * double precision rtpa : <-- : cell variables at previous time step
155  * double precision rtp : <-- : cell variables
156  * double precision propce : <-- : cell physical properties
157  * double precision propfa : <-- : interior face physical properties
158  * double precision propfb : <-- : boundary face physical properties
159  * double precision coefa : <-- : boundary conditions array
160  * double precision coefb : <-- : boundary conditions array
161  * double precision statce : <-- : cell statistics (lagrangian)
162  * double precision stativ : <-- : cell variance statistics (lagrangian)
163  * double precision statfb : <-- : boundary face statistics (lagrangian)
164  *----------------------------------------------------------------------------*/
165 
166 void CS_PROCF (pstvar, PSTVAR)
167 (
168  const cs_int_t *ntcabs,
169  const cs_int_t *nvar,
170  const cs_int_t *nscal,
171  const cs_int_t *nvlsta,
172  const cs_int_t *nvisbr,
173  const cs_real_t *ttcabs,
174  const cs_real_t dt[],
175  const cs_real_t rtpa[],
176  const cs_real_t rtp[],
177  const cs_real_t propce[],
178  const cs_real_t propfa[],
179  const cs_real_t propfb[],
180  const cs_real_t coefa[],
181  const cs_real_t coefb[],
182  const cs_real_t statce[],
183  const cs_real_t stativ[],
184  const cs_real_t statfb[]
185 );
186 
187 /*----------------------------------------------------------------------------
188  * Post-processing output of a variable defined on cells or faces of a mesh
189  * using associated writers.
190  *
191  * fortran interface; use psteva (see cs_post_f2c.f90)
192  *
193  * subroutine pstev1 (nummai, nomvar, lnmvar, idimt, ientla, ivarpr,
194  * *****************
195  * ntcabs, ttcabs, varcel, varfac, varfbr)
196  *
197  * integer nummai : <-- : number of associated output mesh
198  * character nomvar : <-- : name of associated variable
199  * integer lnmvar : <-- : variable name length
200  * integer idimt : <-- : 1 for scalar, 3 for vector
201  * integer ientla : <-- : if a vector, 1 for interlaced values
202  * : : (x1, y1, z1, x2, y2, ..., yn, zn),
203  * : : 0 otherwise (x1, x2, ...xn, y1, y2, ...)
204  * integer ivarpr : <-- : 1 if variable is defined on "parent"
205  * : : mesh, 2 if defined on output mesh
206  * integer ntcabs : <-- : current time step number
207  * double precision ttcabs : <-- : current physical time
208  * double precision varcel(*) : <-- : cell values
209  * double precision varfac(*) : <-- : interior face values
210  * double precision varfbo(*) : <-- : boundary face values
211  *----------------------------------------------------------------------------*/
212 
213 void CS_PROCF (pstev1, PSTEV1)
214 (
215  const cs_int_t *nummai,
216  const char *nomvar,
217  const cs_int_t *lnmvar,
218  const cs_int_t *idimt,
219  const cs_int_t *ientla,
220  const cs_int_t *ivarpr,
221  const cs_int_t *ntcabs,
222  const cs_real_t *ttcabs,
223  const cs_real_t varcel[],
224  const cs_real_t varfac[],
225  const cs_real_t varfbr[]
226  CS_ARGF_SUPP_CHAINE /* (possible 'length' arguments added
227  by many Fortran compilers) */
228 );
229 
230 /*----------------------------------------------------------------------------
231  * User override of default frequency or calculation end based output.
232  *
233  * Fortran interface:
234  *
235  * subroutine pstusn (ntmabs, ntcabs, ttcabs)
236  * *****************
237  *
238  * integer ntmabs : <-- : maximum time step number
239  * integer ntcabs : <-- : current time step number
240  * double precision ttcabs : <-- : absolute time at the current time step
241  *----------------------------------------------------------------------------*/
242 
243 void CS_PROCF (pstusn, PSTUSN)
244 (
245  const cs_int_t *ntmabs,
246  const cs_int_t *ntcabs,
247  const cs_real_t *ttcabs
248 );
249 
250 /*============================================================================
251  * Public function prototypes
252  *============================================================================*/
253 
254 /*----------------------------------------------------------------------------*/
255 
257 
258 #endif /* __CS_POST_DEFAULT_H__ */
void pstusn(const cs_int_t *ntmabs, const cs_int_t *ntcabs, const cs_real_t *ttcabs)
Definition: cs_post.c:2322
void pstema(const cs_int_t *ntcabs, const cs_real_t *ttcabs)
Definition: cs_post.c:2210
integer, save nscal
Definition: dimens.f90:33
integer, save nvlsta
Definition: lagdim.f90:63
#define BEGIN_C_DECLS
Definition: cs_defs.h:365
BEGIN_C_DECLS void pstdfm(void)
Definition: cs_post.c:2143
#define CS_ARGF_SUPP_CHAINE
Definition: cs_defs.h:394
int cs_int_t
Definition: cs_defs.h:263
void pstvar(const cs_int_t *ntcabs, const cs_int_t *nvar, const cs_int_t *nscal, const cs_int_t *nvlsta, const cs_int_t *nvisbr, const cs_real_t *ttcabs, const cs_real_t dt[], const cs_real_t rtpa[], const cs_real_t rtp[], const cs_real_t propce[], const cs_real_t propfa[], const cs_real_t propfb[], const cs_real_t coefa[], const cs_real_t coefb[], const cs_real_t statce[], const cs_real_t stativ[], const cs_real_t statfb[])
Definition: cs_post_default.c:263
integer, save ntcabs
Definition: optcal.f90:277
void pstact(const cs_int_t *numwri, const cs_int_t *indact)
Definition: cs_post.c:2188
integer, save nvisbr
Definition: lagdim.f90:63
integer, save ntmabs
Definition: optcal.f90:277
void pstev1(const cs_int_t *nummai, const char *nomvar, const cs_int_t *lnmvar, const cs_int_t *idimt, const cs_int_t *ientla, const cs_int_t *ivarpr, const cs_int_t *ntcabs, const cs_real_t *ttcabs, const cs_real_t varcel[], const cs_real_t varfac[], const cs_real_t varfbr[] CS_ARGF_SUPP_CHAINE)
Definition: cs_post.c:2245
#define END_C_DECLS
Definition: cs_defs.h:366
double precision, save ttcabs
Definition: optcal.f90:278
double cs_real_t
Definition: cs_defs.h:264
void pstntc(const cs_int_t *ntmabs, const cs_int_t *ntcabs, const cs_real_t *ttcabs)
Definition: cs_post.c:2165
#define CS_PROCF(x, y)
Definition: cs_defs.h:379
character *80, dimension(nvppmx), save nomvar
Definition: entsor.f90:183
integer, save nvar
Definition: dimens.f90:33