Collect paired moving-pinball Fig2 research material
This commit is contained in:
1 parent
76873d911c
commit
63e5c3828b
8 files changed
+1284
No files matched your search
@@ -0,0 +1,36 @@
|
||||
"""Independent analytic data checks for offline estimands, no CFD context."""
|
||||
import unittest
|
||||
import numpy as np
|
||||
from research.fig2_collection.analyze import frequency, native_summary, compare_selected
|
||||
|
||||
|
||||
class AnalysisTests(unittest.TestCase):
|
||||
def test_frequency_units_and_no_dc(self):
|
||||
dt=.005/40;n=640000
|
||||
t=np.arange(n)*dt
|
||||
result=frequency(4+np.sin(2*np.pi*.2*t),dt)
|
||||
self.assertAlmostEqual(result['f_D_U'],.2)
|
||||
self.assertAlmostEqual(result['bin_width_D_U'],1/80)
|
||||
self.assertIsNone(frequency(np.ones(20),dt))
|
||||
|
||||
def test_motion_and_native_rhs_are_distinct_from_node_impulse(self):
|
||||
a=np.zeros((10,18));a[:,0]=np.arange(1,11);a[:,1]=40*np.tile([.5,-.5],5)
|
||||
a[:,3]=.001;a[:,6]=.002;a[:,9]=999
|
||||
result=native_summary(a,'taylor')
|
||||
self.assertEqual(result['motion']['centered_rms'],.5)
|
||||
self.assertEqual(result['motion']['half_range'],.5)
|
||||
self.assertAlmostEqual(result['structural_RHS_Cy_RMS'],6.)
|
||||
self.assertEqual(result['window_D_U'],[0.,10*.005/40])
|
||||
|
||||
def test_selected_vector_error_uses_common_roi_and_actual_flags(self):
|
||||
shape=(1,712,2162)
|
||||
target=dict(ux=np.zeros(shape,np.float32),uy=np.zeros(shape,np.float32),flags=np.ones(shape,np.uint16))
|
||||
current={k:v.copy() for k,v in target.items()}
|
||||
current['ux'][:,311:711,1360:2161]=.003
|
||||
current['uy'][:,311:711,1360:2161]=.004
|
||||
self.assertAlmostEqual(compare_selected(target,current)['aggregate_E'],1.,places=6)
|
||||
current['flags'][0,400,1500]=2
|
||||
with self.assertRaises(ValueError):compare_selected(target,current)
|
||||
|
||||
|
||||
if __name__=='__main__':unittest.main()
|
||||
Reference in new issue
Block a user