Code_TYMPAN  4.4.0
Industrial site acoustic simulation
config.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2024> <EDF-DTG> <FRANCE>
3  * This file is part of Code_TYMPAN (R).
4  * Code_TYMPAN (R) is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * Code_TYMPAN (R) is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  * You should have received a copy of the GNU General Public License along
13  * with Code_TYMPAN (R). If not, see <https://www.gnu.org/licenses/>.
14  */
15 
21 #ifndef TY_MS_CONFIG
22 #define TY_MS_CONFIG
23 
24 #include <boost/shared_ptr.hpp>
25 
26 namespace tympan
27 {
28 
29 class SolverConfiguration;
30 typedef boost::shared_ptr<SolverConfiguration> LPSolverConfiguration;
31 
37 {
38 public:
39  double AtmosPressure;
41  double AtmosHygrometry;
42  double WindDirection;
43  double AnalyticGradC;
44  double AnalyticGradV;
45 
51  float MaxLength;
52  float SizeReceiver;
56  float AngleDiffMin;
58  float CylindreThick;
60  bool UseSol;
72  bool KeepDebugRay;
74 
79  float FinalAnglePhi;
81  double AnalyticTMax;
82  double AnalyticH;
83  double AnalyticDMax;
84 
88  bool RefineMesh;
90  bool showScene;
91 
92  float MinSRDistance;
93  int NbThreads;
95  // bool UseVegetation;
96  bool UseScreen;
104  bool KeepRays;
105 
106  float
109 
115 
118  static LPSolverConfiguration get();
119  static void set(LPSolverConfiguration config);
120 
121 private:
122  // singleton
124 };
125 
126 } // namespace tympan
127 
128 #endif // TY_MS_CONFIG
Class to define a solver configuration (contains all the data needed by the different Tympan solvers)
Definition: config.h:37
bool KeepRays
Flag to keep the rays in the results.
Definition: config.h:104
float MaxPathDifference
Parameter (by default 24) for path validations during diffraction.
Definition: config.h:69
float FinalAngleTheta
Ending angle theta for the curve ray sampler.
Definition: config.h:77
float MaxLength
LengthSelector Selector option (maximal length)
Definition: config.h:51
bool UsePathDifValidation
Flag to activate path validations during diffraction.
Definition: config.h:68
int NbThreads
Number of threads used by TYSolver.
Definition: config.h:93
float MinSRDistance
Not used.
Definition: config.h:92
int AnalyticNbRay
Rays number to launch for the curve ray sampler.
Definition: config.h:80
int MaxReflexion
Maximal reflection events.
Definition: config.h:61
bool UseSol
Flag to activate specular reflection on the ground.
Definition: config.h:60
static void set(LPSolverConfiguration config)
Set a configuration.
Definition: config.cpp:103
~SolverConfiguration()
Destructor.
Definition: config.cpp:108
bool KeepDebugRay
Flag to store rays into a debug_rays array after being invalidated.
Definition: config.h:72
int MaxTreeDepth
BvhAccelerator Accelerator option (Maximal tree depth)
Definition: config.h:55
float CylindreThick
Diffraction cylinder diameter.
Definition: config.h:58
double AtmosTemperature
Atmospheric temperature [°C].
Definition: config.h:40
bool DiffractionFilterRayAtCreation
Flag to filter the created rays during diffraction.
Definition: config.h:67
bool DebugUseFaceSelector
Flag to add the FaceSelector filter.
Definition: config.h:114
float InitialAnglePhi
Starting angle phi for the curve ray sampler.
Definition: config.h:78
double AtmosHygrometry
Atmospheric hygrometry.
Definition: config.h:41
float H1parameter
Multiplicative coefficient for the additional reflections if PropaConditions is true.
Definition: config.h:107
float InitialAngleTheta
Starting angle theta for the curve ray sampler.
Definition: config.h:76
bool DebugUseCloseEventSelector
Flag to add the the CloseEventSelector filter.
Definition: config.h:110
bool DiffractionUseDistanceAsFilter
Definition: config.h:70
int NbRayWithDiffraction
Number of rays to throw during diffraction.
Definition: config.h:64
static LPSolverConfiguration _pInstance
Definition: config.h:123
int CurveRaySampler
Not used.
Definition: config.h:75
float MeshElementSizeMax
Not used.
Definition: config.h:87
int NbRaysPerSource
Number of rays per source for the Sampler.
Definition: config.h:50
double WindDirection
Wind direction.
Definition: config.h:42
double AnalyticH
The propagation time step for the curve ray sampler.
Definition: config.h:82
static LPSolverConfiguration get()
Get the configuration.
Definition: config.cpp:94
bool ModSummation
Flag to activate in the acoustic model a calculation with interference.
Definition: config.h:108
double AnalyticGradV
Wind gradient.
Definition: config.h:44
bool DiffractionUseRandomSampler
Flag to enable random (and not regular) sampling for diffraction.
Definition: config.h:63
bool DebugUseDiffractionPathSelector
Flag to add the DiffractionPathSelector filter.
Definition: config.h:112
double AnalyticDMax
The maximal distance for the curve ray sampler.
Definition: config.h:83
bool DebugUseFermatSelector
Flag to add the FermatSelector filter.
Definition: config.h:113
SolverConfiguration()
Constructor.
Definition: config.cpp:24
bool UseRealGround
Flag to model ground into the acoustic model.
Definition: config.h:94
bool UsePostFilters
Flag to use some specifics Selector.
Definition: config.h:73
bool showScene
Flag to export Scene in order to visualize it.
Definition: config.h:90
double AnalyticGradC
Sound speed gradient.
Definition: config.h:43
bool DebugUseDiffractionAngleSelector
Flag to add the DiffractionAngleSelector filter.
Definition: config.h:111
double AtmosPressure
Atmospheric pressure [Pa].
Definition: config.h:39
bool UseReflection
Flag to use reflection on vertical walls.
Definition: config.h:98
int MaxProfondeur
Maximal number of events for ray validation in ANIME3D solver.
Definition: config.h:59
int MaxDiffraction
Maximal diffraction events.
Definition: config.h:62
bool UseLateralDiffraction
Flag to compute horizontal paths in the acoustic path finder.
Definition: config.h:97
double AnalyticTMax
The maximal propagation time for the curve ray sampler.
Definition: config.h:81
bool UseScreen
Not used.
Definition: config.h:96
float FinalAnglePhi
Ending angle phi for the curve ray sampler.
Definition: config.h:79
boost::shared_ptr< SolverConfiguration > LPSolverConfiguration
Definition: interfaces.h:25