programmer's documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cs_log_iteration.h
Go to the documentation of this file.
1 #ifndef __CS_LOG_ITERATION_H__
2 #define __CS_LOG_ITERATION_H__
3 
4 /*============================================================================
5  * Log field and other array statistics at relevant time steps.
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2013 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 "fvm_nodal.h"
39 #include "fvm_writer.h"
40 
41 #include "cs_base.h"
42 #include "cs_mesh_location.h"
43 #include "cs_time_step.h"
44 
45 /*----------------------------------------------------------------------------*/
46 
48 
49 /*============================================================================
50  * Macro definitions
51  *============================================================================*/
52 
53 /*============================================================================
54  * Local type definitions
55  *============================================================================*/
56 
57 /*=============================================================================
58  * Global variables
59  *============================================================================*/
60 
61 /*============================================================================
62  * Public function prototypes
63  *============================================================================*/
64 
65 /*----------------------------------------------------------------------------
66  * Initialize logging of moments
67  *
68  * Currently, an external cumulative time array is simply mapped to
69  * the logging API.
70  *----------------------------------------------------------------------------*/
71 
72 void
73 cs_log_init_moments(const cs_real_t *cumulative_time);
74 
75 /*----------------------------------------------------------------------------
76  * Free arrays possible used by logging of array statistics.
77  *----------------------------------------------------------------------------*/
78 
79 void
81 
82 /*----------------------------------------------------------------------------
83  * Log field and other array statistics for the current time step.
84  *----------------------------------------------------------------------------*/
85 
86 void
87 cs_log_iteration(void);
88 
89 /*----------------------------------------------------------------------------
90  * Add or update array not saved as permanent field to iteration log.
91  *
92  * parameters:
93  * name <-- array name
94  * category <-- category name
95  * loc_id <-- associated mesh location id
96  * is_intensive <-- are the matching values intensive ?
97  * dim <-- associated dimension (interleaved)
98  * val <-- associated values
99  *----------------------------------------------------------------------------*/
100 
101 void
102 cs_log_iteration_add_array(const char *name,
103  const char *category,
104  const cs_mesh_location_type_t loc_id,
105  bool is_intensive,
106  int dim,
107  const cs_real_t val[]);
108 
109 /*----------------------------------------------------------------------------
110  * Add or update clipping info for a given array.
111  *
112  * parameters:
113  * name <-- array name
114  * dim <-- associated dimension
115  * n_clip_min <-- number of local clippings to minimum value
116  * n_clip_max <-- number of local clippings to maximum value
117  * min_pre_clip <-- minimum values prior to clipping
118  * max_pre_clip <-- maximum values prior to clipping
119  */
120 /*----------------------------------------------------------------------------*/
121 
122 void
123 cs_log_iteration_clipping(const char *name,
124  int dim,
125  cs_lnum_t n_clip_min,
126  cs_lnum_t n_clip_max,
127  const cs_real_t min_pre_clip[],
128  const cs_real_t max_pre_clip[]);
129 
130 /*----------------------------------------------------------------------------
131  * Add or update clipping info for a field.
132  *
133  * parameters:
134  * f_id <-- associated field id
135  * n_clip_min <-- number of local clippings to minimum value
136  * n_clip_max <-- number of local clippings to maximum value
137  * min_pre_clip <-- minimum values prior to clipping
138  * max_pre_clip <-- maximum values prior to clipping
139  */
140 /*----------------------------------------------------------------------------*/
141 
142 void
144  cs_lnum_t n_clip_min,
145  cs_lnum_t n_clip_max,
146  const cs_real_t min_pre_clip[],
147  const cs_real_t max_pre_clip[]);
148 
149 /*----------------------------------------------------------------------------*/
150 
152 
153 #endif /* __CS_LOG_ITERATION_H__ */