|
Code_TYMPAN
4.4.0
Industrial site acoustic simulation
|
Acoustic model for the default solver. More...
#include <TYAcousticModelDefaultSolver.h>


Public Member Functions | |
| TYAcousticModelDefaultSolver (TYSolverDefaultSolver &solver) | |
| virtual void | compute (const std::deque< TYSIntersection > &tabIntersect, TYTrajetDefaultSolver &trajet, TabPoint3D &ptsTop, TabPoint3D &ptsLeft, TabPoint3D &ptsRight) |
| void | computeWaveLength () override |
| Compute the wave length for the default solver. More... | |
| virtual bool | computeCheminsAvecEcran (const OSegment3D &rayon, const tympan::AcousticSource &source, const TabPoint3D &pts, const bool vertical, TYTabCheminDefaultSolver &TabChemins, double distance, bool conditionFav=false) const |
| Compute the segment path from the list of the points of the TYTrajet journey. It takes in account the ground reflection. More... | |
| void | computeCheminReflexion (const std::deque< TYSIntersection > &tabIntersect, const OSegment3D &rayon, const tympan::AcousticSource &source, TYTabCheminDefaultSolver &TabChemins, double distance) const |
| Compute the list of path generated by reflection on the vertical walls. More... | |
| void | computeCheminSansEcran (const OSegment3D &rayon, const tympan::AcousticSource &source, TYTabCheminDefaultSolver &TabChemins, double distance, bool conditionFav=false) const |
| Compute the list of paths generated by reflection on the ground if there is no screen. More... | |
| void | computeCheminAPlat (const OSegment3D &rayon, const tympan::AcousticSource &source, TYTabCheminDefaultSolver &TabChemins, double distance) const |
| Compute the list of paths for a perfectly flat and reflective ground. More... | |
| OSpectre | calculC (const double &epaisseur) const |
| Compute the spectrum of the C factor used in the diffraction calculation. More... | |
| OSpectre | calculAttDiffraction (const OSegment3D &rayon, const OSegment3D &penteMoyenne, const bool &miroir, const double &re, const double &epaisseur, const bool &vertical, const bool &avantApres, bool &bDiffOk, bool conditionFav=false) const |
| Compute the attenuation from the diffraction on the screen. More... | |
| OSpectre | limAttDiffraction (const OSpectre &sNC, const OSpectre &C) const |
| Limit the screen attenuation value with a frequency dependent criteria. More... | |
| bool | addGroundSteps (const OPoint3D &ptDebut, const OPoint3D &ptFin, const OSegment3D &penteMoyenne, const tympan::AcousticSource &source, const bool &fromSource, const bool &toRecepteur, TYTabEtapeDefaultSolver &Etapes, double &longueur) const |
| Compute the different steps from a point to another via a reflection and a direct view. More... | |
| bool | solve (TYTrajetDefaultSolver &trajet) |
| Compute the source contribution to the point. More... | |
Public Member Functions inherited from TYAcousticModel | |
| TYAcousticModel () | |
| virtual | ~TYAcousticModel () |
| void | init () |
| Initialize the acoustic model. More... | |
| OPlan | buildMeanSlopePlan (const OSegment3D &penteMoyenne) const |
| void | meanSlope (const OSegment3D &director, OSegment3D &slope) const |
| Create a segment corresponding to the projection of "director" segment on the ground. More... | |
Public Member Functions inherited from AcousticModelInterface | |
| AcousticModelInterface () | |
| virtual | ~AcousticModelInterface () |
Private Member Functions | |
| OSpectreComplex | getReflexionSpectrumAt (const OSegment3D &incident, double length, const OSegment3D &segPente, const tympan::AcousticSource &source) const |
| Find Reflexion spectrum at point defined by the end of an incident segment. More... | |
| TYSolver & | getSolver () const override |
| FRIEND_TEST (test_TYAcousticModel, calculAttDiffraction) | |
| FRIEND_TEST (test_TYAcousticModel, calculC) | |
| FRIEND_TEST (test_TYAcousticModel, limAttDiffraction) | |
| FRIEND_TEST (test_TYAcousticModel, computeCheminReflexion) | |
Private Attributes | |
| OSpectre | _lambda |
| OSpectreComplex | _absoNulle |
| TYSolverDefaultSolver & | _solver |
| Reference to the solver. More... | |
Additional Inherited Members | |
Protected Attributes inherited from TYAcousticModel | |
| bool | _useSol |
| bool | _useReflex |
| int | _propaCond |
| bool | _useAtmo |
| bool | _interference |
| double | _paramH |
| std::unique_ptr< AtmosphericConditions > | _pSolverAtmos |
Acoustic model for the default solver.
Definition at line 34 of file TYAcousticModelDefaultSolver.h.
| TYAcousticModelDefaultSolver::TYAcousticModelDefaultSolver | ( | TYSolverDefaultSolver & | solver | ) |
Definition at line 27 of file TYAcousticModelDefaultSolver.cpp.

| bool TYAcousticModelDefaultSolver::addGroundSteps | ( | const OPoint3D & | ptDebut, |
| const OPoint3D & | ptFin, | ||
| const OSegment3D & | penteMoyenne, | ||
| const tympan::AcousticSource & | source, | ||
| const bool & | fromSource, | ||
| const bool & | toRecepteur, | ||
| TYTabEtapeDefaultSolver & | Etapes, | ||
| double & | longueur | ||
| ) | const |
Compute the different steps from a point to another via a reflection and a direct view.
| [in] | ptDebut | Starting point. |
| [in] | ptFin | Ending point. |
| [in] | penteMoyenne | Mean slope. |
| [in] | source | Acoustic source. |
| [in] | fromSource | Boolean if the starting point is the source. |
| [in] | toRecepteur | Boolean if the ending point is the receptor. |
| [out] | Etapes | Array of all the computed TYEtape steps. |
| [out] | longueur | Total length of the different steps |
true if succeeds; false if not. Definition at line 633 of file TYAcousticModelDefaultSolver.cpp.


| OSpectre TYAcousticModelDefaultSolver::calculAttDiffraction | ( | const OSegment3D & | rayon, |
| const OSegment3D & | penteMoyenne, | ||
| const bool & | miroir, | ||
| const double & | re, | ||
| const double & | epaisseur, | ||
| const bool & | vertical, | ||
| const bool & | avantApres, | ||
| bool & | bDiffOk, | ||
| bool | conditionFav = false |
||
| ) | const |
Compute the attenuation from the diffraction on the screen.
| [in] | rayon | A segment describing the direct path between source and receptor. |
| [in] | penteMoyenne | Mean slope between source and receptor |
| [in] | miroir | Boolean to indicate if we should use the source (false) or the image source (true) during the walking difference computation |
| [in] | re | Path length to take into account for the walking difference computation |
| [in] | epaisseur | Total thickness of the obstacle. |
| [in] | vertical | Boolean to indicate we deal with the vertical plane (maximal attenuation is limited) |
| [in] | avantApres | Boolean to indicate if we are before (false) or after (true) the obstacle |
| [out] | bDiffOk | Set to false if the walking difference is <=0, true otherwise |
| [in] | conditionFav | specify if favorite condition or not (false by default) |
Definition at line 977 of file TYAcousticModelDefaultSolver.cpp.


| OSpectre TYAcousticModelDefaultSolver::calculC | ( | const double & | epaisseur | ) | const |
Compute the spectrum of the C factor used in the diffraction calculation.
| epaisseur | Total thickness of the obstacle. |
Definition at line 950 of file TYAcousticModelDefaultSolver.cpp.


|
virtual |
Definition at line 41 of file TYAcousticModelDefaultSolver.cpp.


| void TYAcousticModelDefaultSolver::computeCheminAPlat | ( | const OSegment3D & | rayon, |
| const tympan::AcousticSource & | source, | ||
| TYTabCheminDefaultSolver & | TabChemins, | ||
| double | distance | ||
| ) | const |
Compute the list of paths for a perfectly flat and reflective ground.
| [in] | rayon | A segment describing the acoustic ray. |
| [in] | source | The acoustic source. |
| [out] | TabChemins | Paths list of the journey generated. |
| [out] | distance | Journey distance |
Definition at line 114 of file TYAcousticModelDefaultSolver.cpp.


| void TYAcousticModelDefaultSolver::computeCheminReflexion | ( | const std::deque< TYSIntersection > & | tabIntersect, |
| const OSegment3D & | rayon, | ||
| const tympan::AcousticSource & | source, | ||
| TYTabCheminDefaultSolver & | TabChemins, | ||
| double | distance | ||
| ) | const |
Compute the list of path generated by reflection on the vertical walls.
| [in] | tabIntersect | Array of intersections |
| [in] | rayon | A segment describing the acoustic ray. |
| [in] | source | The acoustic source. |
| [out] | TabChemins | Paths list of the journey generated by reflection. |
| [out] | distance | Journey distance |
Definition at line 812 of file TYAcousticModelDefaultSolver.cpp.


| void TYAcousticModelDefaultSolver::computeCheminSansEcran | ( | const OSegment3D & | rayon, |
| const tympan::AcousticSource & | source, | ||
| TYTabCheminDefaultSolver & | TabChemins, | ||
| double | distance, | ||
| bool | conditionFav = false |
||
| ) | const |
Compute the list of paths generated by reflection on the ground if there is no screen.
| [in] | rayon | A segment describing the acoustic ray. |
| [in] | source | The acoustic source. |
| [out] | TabChemins | Paths list of the journey generated (1 or 2 under favorables conditions). |
| [out] | distance | Journey distance |
| [in] | conditionFav | specify if favorite condition or not (false by default) |
Definition at line 210 of file TYAcousticModelDefaultSolver.cpp.


|
virtual |
Compute the segment path from the list of the points of the TYTrajet journey. It takes in account the ground reflection.
| [in] | rayon | A segment describing the acoustic ray. |
| [in] | source | The acoustic source. |
| [in] | pts | The list of points of the journey. |
| [in] | vertical | boolean to indicate we deal with the vertical plane |
| [out] | TabChemins | Paths list of the journey |
| [out] | distance | Journey distance |
| [in] | conditionFav | specify if favorite condition or not (false by default) |
true if succeeds; false otherwise. Definition at line 438 of file TYAcousticModelDefaultSolver.cpp.


|
overridevirtual |
Compute the wave length for the default solver.
Implements TYAcousticModel.
Definition at line 34 of file TYAcousticModelDefaultSolver.cpp.

|
private |
|
private |
|
private |
|
private |
|
private |
Find Reflexion spectrum at point defined by the end of an incident segment.
Definition at line 1129 of file TYAcousticModelDefaultSolver.cpp.


|
inlineoverrideprivatevirtual |
Implements TYAcousticModel.
Definition at line 170 of file TYAcousticModelDefaultSolver.h.
| OSpectre TYAcousticModelDefaultSolver::limAttDiffraction | ( | const OSpectre & | sNC, |
| const OSpectre & | C | ||
| ) | const |
Limit the screen attenuation value with a frequency dependent criteria.
| sNC | Non corrected spectrum |
| C |
Definition at line 1065 of file TYAcousticModelDefaultSolver.cpp.


| bool TYAcousticModelDefaultSolver::solve | ( | TYTrajetDefaultSolver & | trajet | ) |
Compute the source contribution to the point.
| trajet | Journey |
Definition at line 1097 of file TYAcousticModelDefaultSolver.cpp.


|
private |
Definition at line 182 of file TYAcousticModelDefaultSolver.h.
|
private |
Definition at line 181 of file TYAcousticModelDefaultSolver.h.
|
private |
Reference to the solver.
Definition at line 185 of file TYAcousticModelDefaultSolver.h.