16#ifndef IJK_tools_included
17#define IJK_tools_included
20#include <IJK_Field_vector.h>
22#include <Probleme_base.h>
24#define select_dir(a,x,y,z) ((a==0)?(x):((a==1)?(y):(z)))
30void ijk_interpolate(
const IJK_Field_double& field,
const DoubleTab& coordinates, ArrOfDouble& result);
31void ijk_interpolate_skip_unknown_points(
const IJK_Field_double& field,
const DoubleTab& coordinates, ArrOfDouble& result,
const double value_for_bad_points);
33double ijk_interpolate(
const IJK_Field_double& field,
const Vecteur3& coordinates);
34double ijk_interpolate_skip_unknown_points(
const IJK_Field_double& field,
const Vecteur3& coordinates,
const double value_for_bad_points);
38void compose_field_data(IJK_Field_double& f,
const Nom& parser_expression_of_x_y_z);
40void set_field_data(IJK_Field_double& f,
const Nom& parser_expression_of_x_y_z);
41void set_field_data(IJK_Field_double& f,
const Nom& parser_expression_of_x_y_z_and_t,
const double current_time);
42void set_field_data(IJK_Field_double& f,
const Nom& parser_expression_of_x_y_z_and_t,
43 const IJK_Field_double& input_f,
const double current_time);
44void set_field_data(IJK_Field_double& f,
const Nom& parser_expression_of_x_y_z_and_t,
45 const IJK_Field_double& input_f1,
const IJK_Field_double& input_f2,
const double current_time);
47void set_field_data(IJK_Field_double& f,
double func(
double,
double,
double));
48void set_field_data(IJK_Field_double& f,
const Nom& parser_expression_of_x_y_z_and_t,
49 const IJK_Field_double& input_f1,
const IJK_Field_double& input_f2,
const double current_time);
52void build_local_coords(
const IJK_Field_double& f, ArrOfDouble& coord_i, ArrOfDouble& coord_j, ArrOfDouble& coord_k);
55void complex_to_trig(
const double re,
const double im,
double& modul,
double& arg);
56void squared_3x3(
double& a11,
double& a12,
double& a13,
57 double& a21,
double& a22,
double& a23,
58 double& a31,
double& a32,
double& a33);
61double maxValue(IJK_Field_double& indic);
63void interpolate_to_center(IJK_Field_vector3_double& cell_center_field,
const IJK_Field_vector3_double& face_field);
64void interpolate_to_center_compo(IJK_Field_double& cell_center_field_compo,
const IJK_Field_double& face_field_compo);
This class encapsulates all the information related to the eulerian mesh for TrioIJK.
class Nom Une chaine de caractere pour nommer les objets de TRUST
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.