100 lines
3.2 KiB
Python
100 lines
3.2 KiB
Python
import sys
|
|
print(sys.version)
|
|
sys.dont_write_bytecode = True
|
|
|
|
|
|
#
|
|
# initial stuff
|
|
|
|
from adcploader import *
|
|
|
|
p_raw = RawProfileObj('../testfiles/demodata.txt')
|
|
|
|
startingpoint = dict(start=Vector(0,0,0), offset=Vector(0,0))
|
|
processing_settings = dict(proj_method=3)
|
|
|
|
p0 = ProcessedProfileObj(p_raw, processing_settings, startingpoint)
|
|
|
|
#plot_profile_2d(p0)
|
|
|
|
plot_2d_cfg = dict(saveas='../testfiles/tut_demo1.pdf')
|
|
# which is the same as
|
|
plot_2d_cfg = {'saveas':'../testfiles/tut_demo1.pdf'}
|
|
#plot_profile_2d(p0)
|
|
|
|
|
|
|
|
import math
|
|
startingpoint_1a = dict(start=Vector(0,0,0), dir=0.5*math.pi)
|
|
startingpoint_1b = dict(start=Vector(0,0,0), end=Vector(0,1,0))
|
|
processing_settings_1a = dict(proj_method=1)
|
|
processing_settings_1b = dict(proj_method=3)
|
|
p1a = ProcessedProfileObj(p_raw, processing_settings_1a, startingpoint_1a)
|
|
p1b = ProcessedProfileObj(p_raw, processing_settings_1b, startingpoint_1b)
|
|
#plot_profile_2d(thin_out(p1a, {'keep_ensemble':5}), {'saveas':'../testfiles/tut_demo1a.pdf', 'title':'demo 1a'})
|
|
#plot_profile_2d(thin_out(p1b, {'keep_ensemble':15}), {'saveas':'../testfiles/tut_demo1b.pdf', 'title':'demo 1b'})
|
|
|
|
|
|
#plot_profile_3d(p0, cfg={'saveas':'../testfiles/tut_demo0_3d.pdf'})
|
|
|
|
#
|
|
# outliers
|
|
|
|
p2 = interpolate_outliers(p0, cfg={'limit':2.5, 'radius_h':10})
|
|
#plot_profile_3d(p2, cfg={'saveas':'../testfiles/tut_demo2.pdf'})
|
|
|
|
#
|
|
# averaging
|
|
p3 = get_averaged_profile(p2, cfg={'order':21})
|
|
#plot_profile_3d(p3, cfg={'saveas':'../testfiles/tut_demo3.pdf'})
|
|
|
|
|
|
#
|
|
# roughness
|
|
cfg_logfit = {'logheight':0.30, 'component':3}
|
|
p4 = logfit_profile(p3, cfg_logfit)
|
|
#plot_logfit_profile(p4, cfg=cfg_logfit)
|
|
# save as tut_demo4.pdf manually
|
|
|
|
#
|
|
# extrapolation
|
|
p5 = extrapolate_profile(p4, cfg={'topcells':5, 'forcepowerlaw':True})
|
|
#plot_profile_3d(p5, cfg={'saveas':'../testfiles/tut_demo5.pdf'})
|
|
|
|
# runs into numerical problems:
|
|
#p5a = extrapolate_profile(p4, cfg={'topcells':5, 'forcepowerlaw':False})
|
|
#plot_profile_3d(p5a, cfg={'saveas':'../testfiles/tut_demo_p5a.pdf'})
|
|
|
|
|
|
#
|
|
# visualization
|
|
|
|
#plot_profile_3d(p3, cfg=dict(style='contour', saveas='../testfiles/tut_demo6a.pdf', title='contour demo'))
|
|
|
|
#
|
|
# visualization: secondary flow
|
|
p0_sf = ProcessedProfileObj(p_raw, dict(proj_method=3, uv_rot=1), startingpoint)
|
|
p1_sf = get_averaged_profile(p2, cfg={'order':5})
|
|
#plot_profile_3d(thin_out(p1_sf, dict(keep_ensemble=5)), cfg=dict(style='vector', components=['y','z'], saveas='../testfiles/tut_demo6b.pdf', title='vector demo'))
|
|
|
|
|
|
#
|
|
# DXF output
|
|
writeDXF3D(p5, '../testfiles/tut_demo7_p5_3d.dxf', vel_scale=40)
|
|
writeDXF2D(p5, '../testfiles/tut_demo7_p5_2d.dxf', vel_scale=40)
|
|
|
|
|
|
#
|
|
# ASCII output
|
|
writeAscii3D(p5, '{x} {y} {z} {vx} {vy} {vz}', '../testfiles/tut_demo8_velocities_simple.txt')
|
|
import datetime
|
|
header='# generated on: {} \n# x y z v_x v_y v_z\n'.format(datetime.datetime.now().strftime('%x %X'))
|
|
writeAscii3D(p5, '{x:6.2f} {y:6.2f} {z:6.2f} {vx:9.2e} {vy:9.2e} {vz:9.2e}', '../testfiles/tut_demo8_velocities_awesome.txt', header=header)
|
|
|
|
|
|
header2d='# generated on: {} \n# x y ks tau_shear v_shear\n'.format(datetime.datetime.now().strftime('%x %X'))
|
|
writeAscii2D(p4, '{x:6.2f} {y:6.2f} {ks:9.2e} {tau_shear:9.2e} {v_shear:9.2e}', '../testfiles/tut_demo8_rouhgness.txt', header=header2d, voidtext=-999)
|
|
|
|
|
|
|
|
print('end.') |