TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Probleme_FTD_IJK_cut_cell.h
1/****************************************************************************
2* Copyright (c) 2025, CEA
3* All rights reserved.
4*
5* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9*
10* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
12* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13*
14*****************************************************************************/
15
16#ifndef Probleme_FTD_IJK_cut_cell_included
17#define Probleme_FTD_IJK_cut_cell_included
18
19#include <Probleme_FTD_IJK_base.h>
20#include <Facettes_Interp_FT.h>
21#include <Cut_cell_FT_Disc.h>
22
24{
25 Declare_instanciable(Probleme_FTD_IJK_cut_cell) ;
26public:
27 void set_param(Param& param) const override;
28
29 void deplacer_interfaces(const double timestep, const int rk_step, ArrOfDouble& var_volume_par_bulle, const int first_step_interface_smoothing) override;
30 void deplacer_interfaces_rk3(const double timestep, const int rk_step, ArrOfDouble& var_volume_par_bulle) override;
31
32 void update_indicator_field() override;
33 void update_twice_indicator_field() override;
34
36
37 const Cut_field_vector3_double& get_cut_field_velocity() const;
38
39 /*! Getter des objets Facettes_Interp_FT, permettant d'acceder aux indices et coefficients des points d'interpolation a une certaine distance des facettes de l'interface
40 */
45
47 {
48 cut_cell_facettes_interpolation_.cut_cell_perform_interpolation_facettes_next(get_interface().next());
49 }
50
51
52protected:
54 DoubleTabFT_cut_cell_vector3 velocity_interface_;
55
56 TYPE_SURFACE_EFFICACE_FACE type_surface_efficace_face_ = TYPE_SURFACE_EFFICACE_FACE::NON_INITIALISE;
57 TYPE_SURFACE_EFFICACE_INTERFACE type_surface_efficace_interface_ = TYPE_SURFACE_EFFICACE_INTERFACE::NON_INITIALISE;
58
59 double seuil_indicatrice_petite_fixe_ = -1; // Valeur predefinie du seuil
60 double seuil_indicatrice_petite_facsec_ = -1; // Valeur du seuil exprimee relativement au facsec
61
62 // Stockage des indices et coefficients des points d'interpolation a une certaine distance des facettes de l'interface
64
65 void initialize() override;
66
67};
68
69#endif /* Probleme_FTD_IJK_cut_cell_included */
Helper class to factorize the readOn method of Objet_U classes.
Definition Param.h:112
const IJK_Interfaces & get_interface() const
void deplacer_interfaces_rk3(const double timestep, const int rk_step, ArrOfDouble &var_volume_par_bulle) override
DoubleTabFT_cut_cell_vector3 velocity_interface_
void set_param(Param &param) const override
const Cut_field_vector3_double & get_cut_field_velocity() const
void deplacer_interfaces(const double timestep, const int rk_step, ArrOfDouble &var_volume_par_bulle, const int first_step_interface_smoothing) override
Cut_cell_FT_Disc * get_cut_cell_disc() override
TYPE_SURFACE_EFFICACE_INTERFACE type_surface_efficace_interface_
TYPE_SURFACE_EFFICACE_FACE type_surface_efficace_face_
Facettes_Interp_FT cut_cell_facettes_interpolation_
void initialize() override
This method is called once at the beginning, before any other one of the interface Problem.
const Facettes_Interp_FT & get_cut_cell_facettes_interpolation() const