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
src
mesh
cs_mesh_bad_cells.h
Go to the documentation of this file.
1
#ifndef __CS_MESH_BAD_CELLS_H__
2
#define __CS_MESH_BAD_CELLS_H__
3
4
/*============================================================================
5
* Detect bad cells within meshes.
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
* Local headers
32
*----------------------------------------------------------------------------*/
33
34
#include "
cs_base.h
"
35
#include "
cs_mesh.h
"
36
#include "
cs_mesh_quantities.h
"
37
38
/*----------------------------------------------------------------------------*/
39
40
BEGIN_C_DECLS
41
42
/*============================================================================
43
* Macro definitions
44
*============================================================================*/
45
46
/*
47
* Detection criteria type
48
*/
49
50
#define CS_BAD_CELL_ORTHO_NORM (1 << 0)
51
#define CS_BAD_CELL_OFFSET (1 << 1)
52
#define CS_BAD_CELL_LSQ_GRAD (1 << 2)
53
#define CS_BAD_CELL_RATIO (1 << 3)
54
#define CS_BAD_CELL_GUILT (1 << 4)
55
#define CS_BAD_CELL_USER (1 << 5)
56
57
/*=============================================================================
58
* Public function prototypes
59
*============================================================================*/
60
61
/*----------------------------------------------------------------------------
62
* Define which cell quality indicators are used and when.
63
*
64
* Note: we assume that if a given criterion is computed at each time
65
* step, it is also computed at initialization, but for visualization,
66
* it is either one or the other, as visualization formats and tools
67
* may not always accept both a fixed and time-varying instance of a
68
* given variable.
69
*
70
* parameters:
71
* type_flag_mask <-- criterion type mask (0 for all)
72
* compute <-- 0: never compute;
73
* 1: compute at initialization;
74
* 2: compute at each time step
75
* visualize <-- 0: never visualize
76
* 1: visualize at initialization;
77
* 2: visualize at each time step
78
*----------------------------------------------------------------------------*/
79
80
void
81
cs_mesh_bad_cells_set_options
(
int
type_flag_mask,
82
int
compute,
83
int
visualize);
84
85
/*----------------------------------------------------------------------------
86
* Indicate which cell quality indicators are used and when.
87
*
88
* Each array is optional, and returns 2 flags; the first flag is used at
89
* initialization, the second one at each time step.
90
*
91
* A flag is a mask to be compared using an "and" (&) operation with a given
92
* criteria type mask (CS_BAD_CELL_ORTHO_NORM, CS_BAD_CELL_OFFSET, ...).
93
*
94
* parameters:
95
* compute --> computation mask (initialization, per time step), or NULL
96
* visualize --> visualization mask (initialization, per time step), or NULL
97
*----------------------------------------------------------------------------*/
98
99
void
100
cs_mesh_bad_cells_get_options
(
int
compute[2],
101
int
visualize[2]);
102
103
/*----------------------------------------------------------------------------
104
* Compute bad cell quality indicators.
105
*
106
* parameters:
107
* mesh <-- pointer to a mesh structure.
108
* mesh_quantities <-> pointer to a mesh quantities structures.
109
*----------------------------------------------------------------------------*/
110
111
void
112
cs_mesh_bad_cells_detect
(
const
cs_mesh_t
*
mesh
,
113
cs_mesh_quantities_t
*mesh_quantities);
114
115
/*----------------------------------------------------------------------------
116
* Post-process bad cell quality indicators.
117
*
118
* parameters:
119
* mesh <-- pointer to a mesh structure.
120
* mesh_quantities <-- pointer to a mesh quantities structures.
121
*----------------------------------------------------------------------------*/
122
123
void
124
cs_mesh_bad_cells_postprocess
(
const
cs_mesh_t
*
mesh
,
125
const
cs_mesh_quantities_t
*mesh_quantities);
126
127
/*----------------------------------------------------------------------------*/
128
129
END_C_DECLS
130
131
#endif
/* __CS_MESH_BAD_CELLS_H__ */
Generated on Thu Feb 27 2014 19:21:34 by
1.8.3.1