Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
PreciseOutputChecker.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* PreciseOutputChecker.h (C) 2000-2020 */
9/* */
10/* Sorties basées sur un temps (physique ou CPU) ou un nombre d'itération. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_PRECISEOUTPUTCHECKER_H
13#define ARCANE_PRECISEOUTPUTCHECKER_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/VariableTypes.h"
18#include "arcane/ICaseFunction.h"
19
20/*---------------------------------------------------------------------------*/
21/*---------------------------------------------------------------------------*/
22
23namespace Arcane
24{
25
26/*---------------------------------------------------------------------------*/
27/*---------------------------------------------------------------------------*/
28
34{
35 public:
41
42 void initializeOutputIteration(Integer output_period);
43 void initializeOutputIteration(ICaseFunction* output_period);
44
46 bool checkIfOutput(double old_time,double current_time,Integer current_iteration);
47
48 private:
49
51 bool _compareTime(Real current_time, Real compar_time);
52
54 bool _checkTime(Real old_time, Real current_time, Real output_period);
55
58
60 bool _checkTimeInterval(Real output_period, Real current_time, Real period);
61
62 double m_output_period_physical_time = 0.0;
63 ICaseFunction* m_table_values_physical_time = nullptr;
64 Integer m_output_period_iteration = -1;
65 ICaseFunction* m_table_values_iteration = nullptr;
66};
67
68/*---------------------------------------------------------------------------*/
69/*---------------------------------------------------------------------------*/
70
71} // namespace Arcane
72
73/*---------------------------------------------------------------------------*/
74/*---------------------------------------------------------------------------*/
75
76#endif
Interface d'une fonction du jeu de données.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
bool checkIfOutput(double old_time, double current_time, Integer current_iteration)
Indique s'il faut ou non faire une sortie.
bool _checkTime(Real old_time, Real current_time, Real output_period)
Méthode pour contrôler un output fixé
void initializeOutputPhysicalTime(double output_period)
bool _checkOldTime(Real old_time, Real output_period, Integer curr_number_of_outputs)
Méthode pour vérifier si un temps précédent ne provoque pas d'output.
bool _compareTime(Real current_time, Real compar_time)
Méthode interne de comparaison des temps.
bool _checkTimeInterval(Real output_period, Real current_time, Real period)
Méthode pour contrôler un output par encadrement.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-