TRUST 1.9.8
HPC thermohydraulic platform
Loading...
Searching...
No Matches
Champ_Generique_Extraction.h
1/****************************************************************************
2* Copyright (c) 2026, 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 Champ_Generique_Extraction_included
17#define Champ_Generique_Extraction_included
18
19#include <Champ_Gen_de_Champs_Gen.h>
20
21
22/*! @brief Un champ generique qui effctue l extraction d un champ sur une frontiere
23 *
24 */
25
26//// Syntaxe a respecter pour jdd
27//
28// "nom_champ" Extraction { domaine "nom_dom" nom_frontiere "nom_fr" [ methode ] "type_methode"
29// source "type_champ_gen" { ...source ref_Champ { Pb_champ "nom_pb" "nom_champ_discret" } }
30// }
31// "nom_champ" fixe par utilisateur sera le nom du champ generique
32// "nom_dom" nom du doamine a laquelle appartient la frontiere
33// "nom_fr" nom de la frontiere sur laquelle on veut faire l extraction
34// "type_methode" type de methode pour effectuer l extraction
35// ("trace" methode par defaut ou "champ_frontiere" pour extraire le_champ_front)
36// "type_champ_gen" type d'un champ generique
37
39{
40 Declare_instanciable_sans_constructeur(Champ_Generique_Extraction);
41
42public:
44 void set_param(Param& param) const override;
45 Entity get_localisation(const int index = -1) const override;
46 const Champ_base& get_champ(OWN_PTR(Champ_base)& espace_stockage) const override;
47 const Champ_base& get_champ_without_evaluation(OWN_PTR(Champ_base)& espace_stockage) const override;
48 const Noms get_property(const Motcle& query) const override;
49 void nommer_source() override;
50 void completer(const Postraitement_base& post) override;
51 const Domaine& get_ref_domain() const override;
52 void get_copy_domain(Domaine&) const override;
53 const Domaine_dis_base& get_ref_domaine_dis_base() const override;
55 const Motcle get_directive_pour_discr() const override;
56
57protected :
58 Nom dom_extrac_; // Nom du domaine d extraction
59 Nom nom_fr_; // Nom de la frontiere sur laquelle on fait l extraction
60 Nom methode_; // Type de methode pour extraire ("trace" ou "champ_frontiere")
61 OBS_PTR(Domaine) domaine_; // Reference sur le domaine d extraction
62 OBS_PTR(Domaine_dis_base) le_dom_dis; // Le domaine discretise - real owner is Domaine_dis_cache
63};
64
65#endif
Classe de base des champs generiques ayant comme source d'autres champs generiques L'utilisation des ...
virtual OWN_PTR(Champ_Fonc_base) &creer_espace_stockage(const Nature_du_champ &nature
const Noms get_property(const Motcle &query) const override
Renvoie la propriete demandee.
OBS_PTR(Domaine) domaine_
void completer(const Postraitement_base &post) override
const Champ_base & get_champ(OWN_PTR(Champ_base)&espace_stockage) const override
Extraction des valeurs d un champ (trace ou champ frontiere) sur un bord du domaine.
const Domaine & get_ref_domain() const override
Renvoie une ref au domaine sur lequel sera evalue l espace de stockage.
const Domaine_dis_base & get_ref_domaine_dis_base() const override
Renvoie une ref au domaine_discretisee du domaine sur lequel sera evalue l espace de stockage.
Entity get_localisation(const int index=-1) const override
Renvoie le type des entites geometriques sur auxquelles les valeurs discretes sont attachees (NODE po...
void set_param(Param &param) const override
OBS_PTR(Domaine_dis_base) le_dom_dis
const Champ_base & get_champ_without_evaluation(OWN_PTR(Champ_base)&espace_stockage) const override
void get_copy_domain(Domaine &) const override
Cree une copie du domaine sur lequel sera evalue l espace de stockage.
const Motcle get_directive_pour_discr() const override
Renvoie la directive (champ_elem, champ_sommets, champ_face ou pression) pour lancer la discretisatio...
classe Champ_base Cette classe est la base de la hierarchie des champs.
Definition Champ_base.h:43
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
Une chaine de caractere (Nom) en majuscules.
Definition Motcle.h:26
class Nom Une chaine de caractere pour nommer les objets de TRUST
Definition Nom.h:31
Un tableau de chaine de caracteres (VECT(Nom)).
Definition Noms.h:26
Helper class to factorize the readOn method of Objet_U classes.
Definition Param.h:112
Classe de base pour l'ensemble des postraitements.