Commit ceb26e49 authored by Philipp Schäfer's avatar Philipp Schäfer
Browse files

Atmospheric Ray Tracing

- renaming of Eigenray related Classes - Part 1: Files
parent 41396cf7
/*
* ----------------------------------------------------------------
*
* ITA geometrical acoustics
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2019
*
* ----------------------------------------------------------------
* ____ __________ _______
* // / //__ ___/ // _ |
* // / // / // /_| |
* // / // / // ___ |
* //__/ //__/ //__/ |__|
*
* ----------------------------------------------------------------
*
*/
#ifndef IW_ITA_PROPAGATIONPATHSIM_ART_SIMULATION_SETTINGS
#define IW_ITA_PROPAGATIONPATHSIM_ART_SIMULATION_SETTINGS
#include <ITAPropagationPathSim/Definitions.h>
// ITA includes
#include <ITAPropagationPathSim/AtmosphericRayTracing/Rays.h>
// STD
#include <memory>
namespace ITAPropagationPathSim
{
namespace AtmosphericRayTracing
{
namespace Simulation {
class ITA_PROPAGATION_PATH_SIM_API IAbortCriterion
{
public:
//! Returns true if the abort criterion for tracing the given ray is reached
virtual bool AbortRequested(const std::shared_ptr<CRay>& pRay) = 0;
};
class ITA_PROPAGATION_PATH_SIM_API CAbortAtMaxTime : public IAbortCriterion
{
private:
double dTMax;
public:
CAbortAtMaxTime(double tMax = 30) : dTMax(tMax) {}
bool AbortRequested(const std::shared_ptr<CRay>& pRay) { return pRay->LastTimeStamp() >= dTMax; }
};
enum ITA_PROPAGATION_PATH_SIM_API SolverMethod
{
EULER = 0, //!< Euler method
RUNGE_KUTTA //!< Classical Runge_Kutta method (RK4)
};
struct ITA_PROPAGATION_PATH_SIM_API AdaptiveIntegrationSettings {
bool bActive = true; //!< If this is set to false, the adaptation is bypassed and the integration step size is therefore constant
double dMaxError = 0.015;
double dUncriticalError = 0.005;
unsigned int iMaxAdaptationLevel = 32; //! Maximum times, the time step is halfed
};
struct ITA_PROPAGATION_PATH_SIM_API SimulationSettings {
SolverMethod solverMethod = SolverMethod::EULER;
double dIntegrationTimeStep = 0.1;
AdaptiveIntegrationSettings adaptiveIntegration;
};
}
}
}
#endif //IW_ITA_PROPAGATIONPATHSIM_ART_SIMULATION_SETTINGS
\ No newline at end of file
# $Id:$
set( RelativeDir "include/ITAPropagationPathSim/AtmosphericRayTracing/EigenraySearch" )
set( RelativeSourceGroup "Header Files\\ITAPropagationPathSim\\AtmosphericRayTracing\\EigenraySearch" )
set( DirFiles
Settings.h
Engine.h
)
set( DirFiles_SourceGroup "${RelativeSourceGroup}" )
set( LocalSourceGroupFiles )
foreach( File ${DirFiles} )
list( APPEND LocalSourceGroupFiles "${RelativeDir}/${File}" )
list( APPEND ProjectSources "${RelativeDir}/${File}" )
endforeach()
source_group( ${DirFiles_SourceGroup} FILES ${LocalSourceGroupFiles} )
\ No newline at end of file
......@@ -7,7 +7,6 @@ set( RelativeSourceGroup "Header Files\\ITAPropagationPathSim\\AtmosphericRayTra
set( DirFiles
Settings.h
Engine.h
EigenrayFinder.h
)
set( DirFiles_SourceGroup "${RelativeSourceGroup}" )
......
......@@ -3,7 +3,7 @@
set( RelativeDir "include/ITAPropagationPathSim/AtmosphericRayTracing" )
set( RelativeSourceGroup "Header Files\\ITAPropagationPathSim\\AtmosphericRayTracing" )
set( SubDirs ODESolver Simulation Export)
set( SubDirs ODESolver Simulation Export EigenraySearch)
set( DirFiles
Rays.h
......
# $Id:$
set( RelativeDir "src/ITAPropagationPathSim/AtmosphericRayTracing/EigenraySearch" )
set( RelativeSourceGroup "Source Files\\ITAPropagationPathSim\\AtmosphericRayTracing\\EigenraySearch" )
set( DirFiles
Engine.cpp
RayResolutionAdapter.h
RayResolutionAdapter.cpp
)
set( DirFiles_SourceGroup "${RelativeSourceGroup}" )
set( LocalSourceGroupFiles )
foreach( File ${DirFiles} )
list( APPEND LocalSourceGroupFiles "${RelativeDir}/${File}" )
list( APPEND ProjectSources "${RelativeDir}/${File}" )
endforeach()
source_group( ${DirFiles_SourceGroup} FILES ${LocalSourceGroupFiles} )
......@@ -8,9 +8,6 @@ set( DirFiles
AdaptiveSolver.h
AdaptiveSolver.cpp
Engine.cpp
EigenrayFinder.cpp
RayResolutionAdapter.h
RayResolutionAdapter.cpp
)
set( DirFiles_SourceGroup "${RelativeSourceGroup}" )
......
......@@ -3,7 +3,7 @@
set( RelativeDir "src/ITAPropagationPathSim/AtmosphericRayTracing" )
set( RelativeSourceGroup "Source Files\\ITAPropagationPathSim\\AtmosphericRayTracing" )
set( SubDirs ODESolver Simulation)
set( SubDirs ODESolver Simulation EigenraySearch)
set( DirFiles
RayGrid.cpp
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment