7.0
general documentation
cs_paramedmem_remapper.h
Go to the documentation of this file.
1 #ifndef __CS_PARAMEDMEM_REMAPPER_HXX__
2 #define __CS_PARAMEDMEM_REMAPPER_HXX__
3 
4 /*============================================================================
5  * Parallel interpolation using ParaMEDMEM OverlapDEC
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2021 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  * Local headers
30  *----------------------------------------------------------------------------*/
31 
32 #include "cs_defs.h"
33 
34 /*----------------------------------------------------------------------------*/
35 
37 
38 typedef struct _cs_paramedmem_remapper_t cs_paramedmem_remapper_t;
39 
40 /*----------------------------------------------------------------------------*/
53 /*----------------------------------------------------------------------------*/
54 
55 cs_paramedmem_remapper_t *
57  const char *sel_criteria,
58  char *file_name,
59  char *mesh_name,
60  cs_real_t center[3],
61  cs_real_t radius);
62 
63 /*----------------------------------------------------------------------------*/
71 /*----------------------------------------------------------------------------*/
72 
73 cs_paramedmem_remapper_t *
74 cs_paramedmem_remapper_by_name_try(const char *name);
75 
76 /*----------------------------------------------------------------------------*/
97 /*----------------------------------------------------------------------------*/
98 
99 cs_real_t *
100 cs_paramedmem_remap_field(cs_paramedmem_remapper_t *r,
101  char *field_name,
102  cs_real_t default_val,
103  int time_choice,
104  double tval);
105 
106 /*----------------------------------------------------------------------------*/
118 /*----------------------------------------------------------------------------*/
119 
120 cs_real_t *
121 cs_paramedmem_remap_field_one_time(cs_paramedmem_remapper_t *r,
122  char *field_name,
123  cs_real_t default_val,
124  int dt,
125  int it);
126 
127 /*----------------------------------------------------------------------------*/
134 /*----------------------------------------------------------------------------*/
135 
136 void
137 cs_paramedmem_remapper_translate(cs_paramedmem_remapper_t *r,
138  cs_real_t translation[3]);
139 
140 /*----------------------------------------------------------------------------*/
149 /*----------------------------------------------------------------------------*/
150 
151 void
152 cs_paramedmem_remapper_rotate(cs_paramedmem_remapper_t *r,
153  cs_real_t invariant[3],
154  cs_real_t axis[3],
155  cs_real_t angle);
156 
157 /*----------------------------------------------------------------------------*/
161 /*----------------------------------------------------------------------------*/
162 
163 void
165 
166 /*----------------------------------------------------------------------------*/
167 
169 
170 #endif /* __CS_PARAMEDMEM_REMAPPER_HXX__ */
void cs_paramedmem_remapper_rotate(cs_paramedmem_remapper_t *r, cs_real_t invariant[3], cs_real_t axis[3], cs_real_t angle)
Rotate the mesh using a center point, axis and angle.
Definition: cs_paramedmem_remapper.cxx:847
cs_paramedmem_remapper_t * cs_paramedmem_remapper_create(char *name, const char *sel_criteria, char *file_name, char *mesh_name, cs_real_t center[3], cs_real_t radius)
Creates a new cs_paramedmem_remapper_t instance.
Definition: cs_paramedmem_remapper.cxx:507
#define BEGIN_C_DECLS
Definition: cs_defs.h:495
double cs_real_t
Floating-point value.
Definition: cs_defs.h:307
cs_paramedmem_remapper_t * cs_paramedmem_remapper_by_name_try(const char *name)
get a remapper by its name
Definition: cs_paramedmem_remapper.cxx:565
void cs_paramedmem_remapper_destroy_all(void)
Destroy all remappers.
Definition: cs_paramedmem_remapper.cxx:879
Definition: cs_field_pointer.h:65
cs_real_t * cs_paramedmem_remap_field(cs_paramedmem_remapper_t *r, char *field_name, cs_real_t default_val, int time_choice, double tval)
Interpolate a given field on the local mesh for a given time.
Definition: cs_paramedmem_remapper.cxx:720
cs_real_t * cs_paramedmem_remap_field_one_time(cs_paramedmem_remapper_t *r, char *field_name, cs_real_t default_val, int dt, int it)
Remaps a field from the med file to the local mesh for a given time.
Definition: cs_paramedmem_remapper.cxx:604
#define END_C_DECLS
Definition: cs_defs.h:496
void cs_paramedmem_remapper_translate(cs_paramedmem_remapper_t *r, cs_real_t translation[3])
translate the mesh using a given vector
Definition: cs_paramedmem_remapper.cxx:815