Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Institute of Technical Acoustics (ITA)
ITAPropagationPathSim
Commits
2e849e31
Commit
2e849e31
authored
Jun 10, 2020
by
Philipp Schäfer
Browse files
ART - Tests
- added Eigenray Test with source at ground level
parent
32c030be
Changes
1
Hide whitespace changes
Inline
Side-by-side
tests/AtmosphericRayTracing/EigenraySearch/EigenrayEngineTest.cpp
View file @
2e849e31
...
...
@@ -108,6 +108,37 @@ void TestReceiverNearGroundSourceAzimuth(const CStratifiedAtmosphere& atmosphere
runTestReceiverNearGround
(
atmosphere
,
theta
,
sourceAzimuth
,
atmosphereSuffix
);
}
void
TestSourceAtGround
(
const
CStratifiedAtmosphere
&
atmosphere
,
const
string
&
atmosphereSuffix
)
{
VistaVector3D
sourcePosition
=
VistaVector3D
(
0
,
0
,
0
);
VistaVector3D
receiverPosition
=
VistaVector3D
(
6500
,
0
,
1.8
);
const
string
filename
=
"SourceAtGround"
+
atmosphereSuffix
;
//runTest(atmosphere, sourcePosition, receiverPosition, filename);
EigenraySearch
::
CEngine
engine
;
engine
.
eigenraySettings
.
rayAdaptation
.
abort
.
maxNAdaptations
=
30
;
engine
.
eigenraySettings
.
rayAdaptation
.
abort
.
minAngleResolutionDeg
=
0.0001
;
engine
.
eigenraySettings
.
rayAdaptation
.
accuracy
.
maxReceiverRadius
=
1
;
engine
.
eigenraySettings
.
rayAdaptation
.
accuracy
.
maxSourceReceiverAngle
=
1
;
engine
.
eigenraySettings
.
rayAdaptation
.
accuracy
.
maxAngleForGeomSpreading
=
0.01
;
engine
.
eigenraySettings
.
rayAdaptation
.
advancedRayZooming
.
bActive
=
false
;
//engine.eigenraySettings.rayAdaptation.advancedRayZooming.threshold = 1.0;
engine
.
eigenraySettings
.
rayTracing
.
bAbortOnReceiverDistIncrease
=
false
;
engine
.
eigenraySettings
.
rayTracing
.
maxReflectionOrder
=
1
;
engine
.
eigenraySettings
.
rayTracing
.
maxTime
=
30
;
cout
<<
filename
<<
":"
<<
endl
;
cout
<<
"Starting Simulation-Engine..."
<<
endl
;
std
::
vector
<
std
::
shared_ptr
<
CRay
>>
eigenrays
=
engine
.
Run
(
atmosphere
,
sourcePosition
,
receiverPosition
);
}
CStratifiedAtmosphere
GetHomogeneousAtmosphere
()
{
auto
humidProfile
=
std
::
make_shared
<
HumidityProfiles
::
CConstant
>
(
50
);
...
...
@@ -145,6 +176,8 @@ int main(int iNumInArgs, char* pcInArgs[])
const
CStratifiedAtmosphere
homAtmosphere
=
GetHomogeneousAtmosphere
();
const
CStratifiedAtmosphere
inhomAtmosphere
=
GetInhomogeneousAtmosphere
();
TestSourceAtGround
(
inhomAtmosphere
,
"Inhomogeneous"
);
TestReceiverNearGroundSourceElevation
(
homAtmosphere
,
"Homogeneous"
);
TestReceiverNearGroundSourceElevation
(
inhomAtmosphere
,
"Inhomogeneous"
);
TestReceiverNearGroundSourceAzimuth
(
inhomAtmosphere
,
"Inhomogeneous"
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment