TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
IJK_Composantes_Connex.h
1/****************************************************************************
2* Copyright (c) 2023, 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 IJK_Composantes_Connex_included
17#define IJK_Composantes_Connex_included
18
19#include <Objet_U.h>
20#include <IJK_Field.h>
21#include <IJK_subres_constants.h>
22
23
25class IJK_Interfaces;
27{
28
29 Declare_instanciable( IJK_Composantes_Connex ) ;
30
31public :
32 void initialize(IJK_Interfaces& interfaces,
33 const bool is_switch);
34 void allocate_fields(const Domaine_IJK& splitting,
35 const int& compute_compo_fields);
36 void associer(const Probleme_FTD_IJK_base& ijk_ft);
40 const int& fill_rising_velocities,
41 const int& use_bubbles_velocities_from_interface,
42 const int& use_bubbles_velocities_from_barycentres);
46
47 const IJK_Field_double& get_eulerian_compo_connex_ft() const { return eulerian_compo_connex_ft_; }
48 const IJK_Field_double& get_eulerian_compo_connex() const { return eulerian_compo_connex_ns_; }
49 const IJK_Field_double& get_eulerian_compo_connex_ghost_ft() const { return eulerian_compo_connex_ghost_ft_; }
50 const IJK_Field_double& get_eulerian_compo_connex_ghost() const { return eulerian_compo_connex_ghost_ns_; }
57 const DoubleTab& get_bounding_box() const { return bounding_box_; }
58 const DoubleTab& get_bubbles_barycentre() const { return bubbles_barycentre_; }
59 const ArrOfDouble& get_bubbles_volume() const { return bubbles_volume_; }
60 const IJK_Field_double& get_eulerian_rising_velocities() const { return eulerian_rising_velocities_; }
61 const ArrOfDouble& get_rising_velocities() const { return rising_velocities_; }
62 const DoubleTab& get_rising_vectors() const { return rising_vectors_; }
65 const DoubleTab& get_min_max_larger_box() const { return min_max_larger_box_; }
67 const int& get_compute_compo_fields() const { return compute_compo_fields_; }
68
69protected :
73 bool is_switch_=false;
76
77 IJK_Field_double eulerian_compo_connex_ft_;
78 IJK_Field_double eulerian_compo_connex_ns_;
81
82 /*
83 * TODO: write redistribute for IJK_Field_int
84 */
92
93 DoubleTab bounding_box_;
95 ArrOfDouble bubbles_volume_;
97
99 ArrOfDouble rising_velocities_;
103
106
109
110 bool is_updated_ = false;
111};
112
113#endif /* IJK_Composantes_Connex_included */
This class encapsulates all the information related to the eulerian mesh for TrioIJK.
Definition Domaine_IJK.h:47
const int & get_compute_from_bounding_box() const
IJK_Field_double eulerian_compo_connex_from_interface_ghost_ft_
IJK_Field_double eulerian_compo_connex_ft_
IJK_Field_int eulerian_compo_connex_from_interface_int_ns_
void associate_rising_velocities_parameters(const Domaine_IJK &splitting, const int &compute_rising_velocities, const int &fill_rising_velocities, const int &use_bubbles_velocities_from_interface, const int &use_bubbles_velocities_from_barycentres)
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ns() const
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ft() const
const DoubleTab & get_bounding_box() const
const DoubleTab & get_min_max_larger_box() const
IJK_Field_double eulerian_compo_connex_from_interface_ghost_ns_
const DoubleTab & get_bubbles_barycentre() const
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ghost_ft() const
const IJK_Field_double & get_eulerian_compo_connex_ft() const
void initialize(IJK_Interfaces &interfaces, const bool is_switch)
const IJK_Field_double & get_eulerian_compo_connex_ghost_ft() const
void associer(const Probleme_FTD_IJK_base &ijk_ft)
const IJK_Field_double & get_eulerian_compo_connex_from_interface_ghost_ns() const
const IJK_Field_double & get_eulerian_compo_connex() const
const DoubleTab & get_rising_vectors() const
IJK_Field_double eulerian_compo_connex_from_interface_ns_
IJK_Field_double eulerian_compo_connex_ghost_ft_
IJK_Field_double eulerian_compo_connex_ghost_ns_
const IJK_Field_double & get_eulerian_rising_velocities() const
IJK_Field_int eulerian_compo_connex_valid_compo_field_
const IJK_Field_int & get_eulerian_compo_connex_int_from_interface_ghost_ns() const
const ArrOfDouble & get_bubbles_volume() const
const Vecteur3 & get_rising_velocity_overall() const
IJK_Field_double eulerian_rising_velocities_
void allocate_fields(const Domaine_IJK &splitting, const int &compute_compo_fields)
const ArrOfDouble & get_rising_velocities() const
IJK_Field_int eulerian_compo_connex_from_interface_ghost_int_ns_
const Vecteur3 & get_liquid_velocity() const
const IJK_Field_double & get_eulerian_compo_connex_ghost() const
const int & get_compute_compo_fields() const
OBS_PTR(Probleme_FTD_IJK_base) ref_ijk_ft_
IJK_Field_double eulerian_compo_connex_ns_
const IJK_Field_int & get_eulerian_compo_connex_int_from_interface_ns() const
IJK_Field_double eulerian_compo_connex_from_interface_ft_
: class IJK_Interfaces
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
Definition Objet_U.cpp:55