src/base/cs_preprocessor_data.h Source File

| programmer's documentation

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cs_preprocessor_data.h
Go to the documentation of this file.
1 #ifndef __CS_PRE_PROCESSOR_DATA_H__
2 #define __CS_PRE_PROCESSOR_DATA_H__
3
4 /*============================================================================
5 * Exchange of data between Code_Saturne Kernel and Preprocessor
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_io_num.h"
39
40 #include "cs_base.h"
41 #include "cs_mesh.h"
42
43 /*----------------------------------------------------------------------------*/
44
45 BEGIN_C_DECLS
46
47 /*============================================================================
48 * Public function prototypes for Fortran API
49 *============================================================================*/
50
51 /*----------------------------------------------------------------------------
52 * Pass information relative to mesh metadata to the Fortran API
53 *
54 * Fortran Interface:
55 *
56 * subroutine ledevi(iperio, iperot)
57 * *****************
58 *
59 * integer iperio : <-- : Periodicity indicator
60 * integer iperot : <-- : Number of rotation periodicities
61 *----------------------------------------------------------------------------*/
62
63 void
64 CS_PROCF(ledevi, LEDEVI)(cs_int_t *iperio,
65 cs_int_t *iperot);
66
67 /*============================================================================
68 * Public function prototypes
69 *============================================================================*/
70
71 /*----------------------------------------------------------------------------
72 * Define input mesh file to read.
73 *
74 * If this function is never called, the default file is read.
75 * The first time this function is called, this default is overriden by the
76 * defined file, and all subsequent calls define additional meshes to read.
77 *
78 * parameters:
79 * file_name <-- name of file to read
80 * n_group_renames <-- number of groups to rename
81 * group_rename <-- old (group_rename[i*2]) to new (group_rename[i*2 + 1])
82 * group names array (size: n_group_renames*2)
83 * transf_matrix <-- coordinate transformation matrix (or NULL)
84 *----------------------------------------------------------------------------*/
85
86 void
87 cs_preprocessor_data_add_file(const char *file_name,
88 size_t n_group_renames,
89 const char **group_rename,
90 const double transf_matrix[3][4]);
91
92 /*----------------------------------------------------------------------------
93 * Check for periodicity information in mesh meta-data.
94 *
95 * returns:
96 * 0 if no periodicity is present in mesh input,
97 * 1 for translation periodicity only,
98 * 2 for rotation or mixed periodicity
99 *----------------------------------------------------------------------------*/
100
101 int
102 cs_preprocessor_check_perio(void);
103
104 /*----------------------------------------------------------------------------
105 * Read mesh meta-data.
106 *
107 * parameters:
108 * mesh <-- pointer to mesh structure
109 * mesh_builder <-- pointer to mesh builder structure
110 *----------------------------------------------------------------------------*/
111
112 void
113 cs_preprocessor_data_read_headers(cs_mesh_t *mesh,
114 cs_mesh_builder_t *mesh_builder);
115
116 /*----------------------------------------------------------------------------
117 * Read pre-processor mesh data and finalize input.
118 *
119 * At this stage, ghost cells are not generated yet, so the interior
120 * face connectivity is not complete near parallel domain or periodic
121 * boundaries. Also, isolated faces, if present, are considered to be
122 * boundary faces, as they may participate in future mesh joining
123 * operations. Their matching cell number will be set to -1.
124 * Remaining isolated faces should be removed before completing
125 * the mesh structure.
126 *
127 * parameters:
128 * mesh <-- pointer to mesh structure
129 * mesh_builder <-- pointer to mesh builder structure
130 *----------------------------------------------------------------------------*/
131
132 void
133 cs_preprocessor_data_read_mesh(cs_mesh_t *mesh,
134 cs_mesh_builder_t *mesh_builder);
135
136 /*----------------------------------------------------------------------------*/
137
138 END_C_DECLS
139
140 #endif /* __CS_PRE_PROCESSOR_DATA_H__ */
141