更新了计算机模拟物理第2周作业代码,第1题和第2题
This commit is contained in:
parent
0156e490d9
commit
5d6837a8b9
20
computer-hw2-1/computer-hw2-1.sln
Normal file
20
computer-hw2-1/computer-hw2-1.sln
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "computer-hw2-1", "computer-hw2-1\computer-hw2-1.vfproj", "{E7E149AA-965F-4DBF-AE30-3D403FA464CA}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{E7E149AA-965F-4DBF-AE30-3D403FA464CA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{E7E149AA-965F-4DBF-AE30-3D403FA464CA}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{E7E149AA-965F-4DBF-AE30-3D403FA464CA}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{E7E149AA-965F-4DBF-AE30-3D403FA464CA}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
BIN
computer-hw2-1/computer-hw2-1.suo
Normal file
BIN
computer-hw2-1/computer-hw2-1.suo
Normal file
Binary file not shown.
101
computer-hw2-1/computer-hw2-1/AMPLITUDE-PERIOD_2-1.dat
Normal file
101
computer-hw2-1/computer-hw2-1/AMPLITUDE-PERIOD_2-1.dat
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
descriptor vx AMPLITUDE PERIOD
|
||||||
|
1.100000 2.200000 3.141593
|
||||||
|
1.200000 2.400000 3.141593
|
||||||
|
1.300000 2.600000 3.141593
|
||||||
|
1.400000 2.800000 3.141593
|
||||||
|
1.500000 3.000000 3.141593
|
||||||
|
1.600000 3.200000 3.141593
|
||||||
|
1.700000 3.400000 3.141593
|
||||||
|
1.800000 3.600000 3.141593
|
||||||
|
1.900000 3.800000 3.141593
|
||||||
|
2.000000 4.000000 3.141593
|
||||||
|
2.100000 4.200000 3.141593
|
||||||
|
2.200000 4.400000 3.141593
|
||||||
|
2.300000 4.600000 3.141593
|
||||||
|
2.400000 4.800000 3.141593
|
||||||
|
2.500000 5.000000 3.141593
|
||||||
|
2.600000 5.200000 3.141593
|
||||||
|
2.700000 5.400000 3.141593
|
||||||
|
2.800000 5.600000 3.141593
|
||||||
|
2.900000 5.800000 3.141593
|
||||||
|
3.000000 6.000000 3.141593
|
||||||
|
3.100000 6.200000 3.141593
|
||||||
|
3.200000 6.400000 3.141593
|
||||||
|
3.300000 6.600000 3.141593
|
||||||
|
3.400000 6.800000 3.141593
|
||||||
|
3.500000 7.000000 3.141593
|
||||||
|
3.600000 7.200000 3.141593
|
||||||
|
3.700000 7.400000 3.141593
|
||||||
|
3.800000 7.600000 3.141593
|
||||||
|
3.900000 7.800000 3.141593
|
||||||
|
4.000000 8.000000 3.141593
|
||||||
|
4.100000 8.200000 3.141593
|
||||||
|
4.200000 8.400000 3.141593
|
||||||
|
4.300000 8.600000 3.141593
|
||||||
|
4.400000 8.800000 3.141593
|
||||||
|
4.500000 9.000000 3.141593
|
||||||
|
4.600000 9.200000 3.141593
|
||||||
|
4.700000 9.400000 3.141593
|
||||||
|
4.800000 9.600000 3.141593
|
||||||
|
4.900000 9.800000 3.141593
|
||||||
|
5.000000 10.000000 3.141593
|
||||||
|
5.100000 10.200000 3.141593
|
||||||
|
5.200000 10.400000 3.141593
|
||||||
|
5.300000 10.600000 3.141593
|
||||||
|
5.400000 10.800000 3.141593
|
||||||
|
5.500000 11.000000 3.141593
|
||||||
|
5.600000 11.200000 3.141593
|
||||||
|
5.700000 11.400000 3.141593
|
||||||
|
5.800000 11.600000 3.141593
|
||||||
|
5.900000 11.800000 3.141593
|
||||||
|
6.000000 12.000000 3.141593
|
||||||
|
6.100000 12.200000 3.141593
|
||||||
|
6.200000 12.400000 3.141593
|
||||||
|
6.300000 12.600000 3.141593
|
||||||
|
6.400000 12.800000 3.141593
|
||||||
|
6.500000 13.000000 3.141593
|
||||||
|
6.600000 13.200000 3.141593
|
||||||
|
6.700000 13.400000 3.141593
|
||||||
|
6.800000 13.600000 3.141593
|
||||||
|
6.900000 13.800000 3.141593
|
||||||
|
7.000000 14.000000 3.141593
|
||||||
|
7.100000 14.200000 3.141593
|
||||||
|
7.200000 14.400000 3.141593
|
||||||
|
7.300000 14.600000 3.141593
|
||||||
|
7.400000 14.800000 3.141593
|
||||||
|
7.500000 15.000000 3.141593
|
||||||
|
7.600000 15.200000 3.141593
|
||||||
|
7.700000 15.400000 3.141593
|
||||||
|
7.800000 15.600000 3.141593
|
||||||
|
7.900000 15.800000 3.141593
|
||||||
|
8.000000 16.000000 3.141593
|
||||||
|
8.100000 16.200000 3.141593
|
||||||
|
8.200000 16.400000 3.141593
|
||||||
|
8.300000 16.600000 3.141593
|
||||||
|
8.400000 16.800000 3.141593
|
||||||
|
8.500000 17.000000 3.141593
|
||||||
|
8.600000 17.200000 3.141593
|
||||||
|
8.700000 17.400000 3.141593
|
||||||
|
8.800000 17.600000 3.141593
|
||||||
|
8.900000 17.800000 3.141593
|
||||||
|
9.000000 18.000000 3.141593
|
||||||
|
9.100000 18.200000 3.141593
|
||||||
|
9.200000 18.400000 3.141593
|
||||||
|
9.300000 18.600000 3.141593
|
||||||
|
9.400000 18.800000 3.141593
|
||||||
|
9.500000 19.000000 3.141593
|
||||||
|
9.600000 19.200000 3.141593
|
||||||
|
9.700000 19.400000 3.141593
|
||||||
|
9.800000 19.600000 3.141593
|
||||||
|
9.900000 19.800000 3.141593
|
||||||
|
10.000000 20.000000 3.141593
|
||||||
|
10.100000 20.200000 3.141593
|
||||||
|
10.200000 20.400000 3.141593
|
||||||
|
10.300000 20.600000 3.141593
|
||||||
|
10.400000 20.800000 3.141593
|
||||||
|
10.500000 21.000000 3.141593
|
||||||
|
10.600000 21.200000 3.141593
|
||||||
|
10.700000 21.400000 3.141593
|
||||||
|
10.800000 21.600000 3.141593
|
||||||
|
10.900000 21.800000 3.141593
|
||||||
|
11.000000 22.000000 3.141593
|
101
computer-hw2-1/computer-hw2-1/AMPLITUDE-PERIOD_2-2.dat
Normal file
101
computer-hw2-1/computer-hw2-1/AMPLITUDE-PERIOD_2-2.dat
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
descriptor vx AMPLITUDE PERIOD
|
||||||
|
1.100000 2.494502 2.973058
|
||||||
|
1.200000 2.605422 2.846486
|
||||||
|
1.300000 2.711809 2.734816
|
||||||
|
1.400000 2.814178 2.635334
|
||||||
|
1.500000 2.912951 2.545975
|
||||||
|
1.600000 3.008482 2.465129
|
||||||
|
1.700000 3.101073 2.391527
|
||||||
|
1.800000 3.190978 2.324146
|
||||||
|
1.900000 3.278418 2.262158
|
||||||
|
2.000000 3.363586 2.204879
|
||||||
|
2.100000 3.446650 2.151741
|
||||||
|
2.200000 3.527758 2.102269
|
||||||
|
2.300000 3.607044 2.056060
|
||||||
|
2.400000 3.684623 2.012770
|
||||||
|
2.500000 3.760603 1.972104
|
||||||
|
2.600000 3.835078 1.933807
|
||||||
|
2.700000 3.908133 1.897658
|
||||||
|
2.800000 3.979848 1.863463
|
||||||
|
2.900000 4.050293 1.831052
|
||||||
|
3.000000 4.119534 1.800276
|
||||||
|
3.100000 4.187629 1.771001
|
||||||
|
3.200000 4.254637 1.743110
|
||||||
|
3.300000 4.320604 1.716496
|
||||||
|
3.400000 4.385579 1.691065
|
||||||
|
3.500000 4.449606 1.666732
|
||||||
|
3.600000 4.512724 1.643420
|
||||||
|
3.700000 4.574971 1.621059
|
||||||
|
3.800000 4.636383 1.599587
|
||||||
|
3.900000 4.696992 1.578947
|
||||||
|
4.000000 4.756828 1.559085
|
||||||
|
4.100000 4.815922 1.539954
|
||||||
|
4.200000 4.874298 1.521511
|
||||||
|
4.300000 4.931985 1.503715
|
||||||
|
4.400000 4.989004 1.486529
|
||||||
|
4.500000 5.045378 1.469919
|
||||||
|
4.600000 5.101130 1.453854
|
||||||
|
4.700000 5.156279 1.438304
|
||||||
|
4.800000 5.210844 1.423243
|
||||||
|
4.900000 5.264844 1.408645
|
||||||
|
5.000000 5.318296 1.394488
|
||||||
|
5.100000 5.371215 1.380749
|
||||||
|
5.200000 5.423619 1.367408
|
||||||
|
5.300000 5.475521 1.354446
|
||||||
|
5.400000 5.526935 1.341847
|
||||||
|
5.500000 5.577876 1.329592
|
||||||
|
5.600000 5.628355 1.317667
|
||||||
|
5.700000 5.678386 1.306057
|
||||||
|
5.800000 5.727980 1.294749
|
||||||
|
5.900000 5.777148 1.283730
|
||||||
|
6.000000 5.825901 1.272987
|
||||||
|
6.100000 5.874249 1.262510
|
||||||
|
6.200000 5.922204 1.252287
|
||||||
|
6.300000 5.969772 1.242308
|
||||||
|
6.400000 6.016965 1.232565
|
||||||
|
6.500000 6.063790 1.223047
|
||||||
|
6.600000 6.110257 1.213746
|
||||||
|
6.700000 6.156373 1.204654
|
||||||
|
6.800000 6.202146 1.195763
|
||||||
|
6.900000 6.247583 1.187067
|
||||||
|
7.000000 6.292693 1.178557
|
||||||
|
7.100000 6.337481 1.170228
|
||||||
|
7.200000 6.381955 1.162073
|
||||||
|
7.300000 6.426121 1.154086
|
||||||
|
7.400000 6.469986 1.146262
|
||||||
|
7.500000 6.513556 1.138595
|
||||||
|
7.600000 6.556836 1.131079
|
||||||
|
7.700000 6.599832 1.123710
|
||||||
|
7.800000 6.642549 1.116484
|
||||||
|
7.900000 6.684994 1.109395
|
||||||
|
8.000000 6.727171 1.102439
|
||||||
|
8.100000 6.769086 1.095613
|
||||||
|
8.200000 6.810742 1.088912
|
||||||
|
8.300000 6.852144 1.082332
|
||||||
|
8.400000 6.893299 1.075871
|
||||||
|
8.500000 6.934209 1.069523
|
||||||
|
8.600000 6.974880 1.063287
|
||||||
|
8.700000 7.015314 1.057158
|
||||||
|
8.800000 7.055517 1.051135
|
||||||
|
8.900000 7.095492 1.045213
|
||||||
|
9.000000 7.135243 1.039390
|
||||||
|
9.100000 7.174773 1.033663
|
||||||
|
9.200000 7.214088 1.028030
|
||||||
|
9.300000 7.253188 1.022488
|
||||||
|
9.400000 7.292080 1.017035
|
||||||
|
9.500000 7.330764 1.011668
|
||||||
|
9.600000 7.369247 1.006385
|
||||||
|
9.700000 7.407529 1.001184
|
||||||
|
9.800000 7.445614 0.996063
|
||||||
|
9.900000 7.483506 0.991019
|
||||||
|
10.000000 7.521206 0.986052
|
||||||
|
10.100000 7.558719 0.981158
|
||||||
|
10.200000 7.596046 0.976337
|
||||||
|
10.300000 7.633191 0.971586
|
||||||
|
10.400000 7.670155 0.966903
|
||||||
|
10.500000 7.706943 0.962288
|
||||||
|
10.600000 7.743556 0.957738
|
||||||
|
10.700000 7.779996 0.953252
|
||||||
|
10.800000 7.816267 0.948829
|
||||||
|
10.900000 7.852370 0.944466
|
||||||
|
11.000000 7.888307 0.940163
|
BIN
computer-hw2-1/computer-hw2-1/Debug/BuildLog.htm
Normal file
BIN
computer-hw2-1/computer-hw2-1/Debug/BuildLog.htm
Normal file
Binary file not shown.
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||||
|
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges>
|
||||||
|
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
</assembly>
|
BIN
computer-hw2-1/computer-hw2-1/Debug/computer-hw2-1.pdb
Normal file
BIN
computer-hw2-1/computer-hw2-1/Debug/computer-hw2-1.pdb
Normal file
Binary file not shown.
BIN
computer-hw2-1/computer-hw2-1/Debug/vc100.pdb
Normal file
BIN
computer-hw2-1/computer-hw2-1/Debug/vc100.pdb
Normal file
Binary file not shown.
10
computer-hw2-1/computer-hw2-1/INPUT.dat
Normal file
10
computer-hw2-1/computer-hw2-1/INPUT.dat
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--# Initial conditions --
|
||||||
|
--dddddd.ddd- INITIAL X -----------------------
|
||||||
|
0.0
|
||||||
|
--dddddd.ddd- INITIAL VX ----------------------
|
||||||
|
1.0
|
||||||
|
--# Other settings --
|
||||||
|
--#d.dddE#dd-- DT(TIME STEP) ------------------
|
||||||
|
1.0E-3
|
||||||
|
--dddddd.ddd- ALPHA ----------------------
|
||||||
|
3.0
|
BIN
computer-hw2-1/computer-hw2-1/PLOT2-1-1-X0-V1-KM1.pdf
Normal file
BIN
computer-hw2-1/computer-hw2-1/PLOT2-1-1-X0-V1-KM1.pdf
Normal file
Binary file not shown.
BIN
computer-hw2-1/computer-hw2-1/PLOT2-1-1-vx-A-T.pdf
Normal file
BIN
computer-hw2-1/computer-hw2-1/PLOT2-1-1-vx-A-T.pdf
Normal file
Binary file not shown.
BIN
computer-hw2-1/computer-hw2-1/PLOT2-1-2-vx-A-T.pdf
Normal file
BIN
computer-hw2-1/computer-hw2-1/PLOT2-1-2-vx-A-T.pdf
Normal file
Binary file not shown.
BIN
computer-hw2-1/computer-hw2-1/PLOT2-1-2-xt-vt.pdf
Normal file
BIN
computer-hw2-1/computer-hw2-1/PLOT2-1-2-xt-vt.pdf
Normal file
Binary file not shown.
233
computer-hw2-1/computer-hw2-1/PLOT2-1.vsz
Normal file
233
computer-hw2-1/computer-hw2-1/PLOT2-1.vsz
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
# Veusz saved document (version 3.4)
|
||||||
|
# Saved at 2022-10-09T09:28:28.934110
|
||||||
|
|
||||||
|
SetCompatLevel(1)
|
||||||
|
AddImportPath('C:\\Users\\flyingPoint\\Documents\\Visual Studio 2010\\Projects\\computer-hw2-1\\computer-hw2-1')
|
||||||
|
ImportFile('AMPLITUDE-PERIOD_2-1.dat', '', ignoretext=True, linked=True, suffix='_21')
|
||||||
|
ImportFile('AMPLITUDE-PERIOD_2-2.dat', '', ignoretext=True, linked=True, suffix='_22')
|
||||||
|
ImportFile('data_problem_2-1.dat', '', ignoretext=True, linked=True)
|
||||||
|
ImportFile('data_problem_2-2.dat', '', ignoretext=True, linked=True, suffix='_2')
|
||||||
|
Set('colorTheme', 'default-latest')
|
||||||
|
Set('StyleSheet/axis-function/autoRange', 'next-tick')
|
||||||
|
Add('page', name='P2-1-XT-VT', autoadd=False)
|
||||||
|
To('P2-1-XT-VT')
|
||||||
|
Set('width', '14.174cm')
|
||||||
|
Set('height', '14.28cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.261cm')
|
||||||
|
Set('rightMargin', '0.707cm')
|
||||||
|
Set('topMargin', '0.708cm')
|
||||||
|
Set('bottomMargin', '0.494cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', 'time')
|
||||||
|
Set('min', 0.0)
|
||||||
|
Set('max', 32.0)
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', '\\textit{x} or \\textit{v_x}')
|
||||||
|
Set('min', -1.45)
|
||||||
|
Set('max', 1.055)
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'time')
|
||||||
|
Set('yData', 'x')
|
||||||
|
Set('key', '\\textit{x(t)}')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy2', autoadd=False)
|
||||||
|
To('xy2')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'time')
|
||||||
|
Set('yData', 'vx')
|
||||||
|
Set('key', '\\textit{v(t)}')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
Add('key', name='key1', autoadd=False)
|
||||||
|
To('key1')
|
||||||
|
Set('Border/hide', True)
|
||||||
|
Set('horzPosn', 'manual')
|
||||||
|
Set('vertPosn', 'manual')
|
||||||
|
Set('horzManual', 0.7160565476190476)
|
||||||
|
Set('vertManual', 0.03401785714285714)
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('page', name='p2-1-vx-A-T', autoadd=False)
|
||||||
|
To('p2-1-vx-A-T')
|
||||||
|
Set('width', '21.307cm')
|
||||||
|
Set('height', '15.021cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.418cm')
|
||||||
|
Set('rightMargin', '11.557cm')
|
||||||
|
Set('topMargin', '1.935cm')
|
||||||
|
Set('bottomMargin', '1.32cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', '\\textit{v_x}')
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', 'Amplitude')
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'vx_21')
|
||||||
|
Set('yData', 'AMPLITUDE_21')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('grid', name='grid2', autoadd=False)
|
||||||
|
To('grid2')
|
||||||
|
Set('leftMargin', '10.654cm')
|
||||||
|
Set('rightMargin', '0.834cm')
|
||||||
|
Set('topMargin', '1.936cm')
|
||||||
|
Set('bottomMargin', '1.129cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', 'Amplitude')
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', 'Period')
|
||||||
|
Set('min', 3.0)
|
||||||
|
Set('max', 3.336)
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'AMPLITUDE_21')
|
||||||
|
Set('yData', 'PERIOD_21')
|
||||||
|
Set('PlotLine/width', '2.5pt')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('page', name='p2-2-xt-vt', autoadd=False)
|
||||||
|
To('p2-2-xt-vt')
|
||||||
|
Set('width', '14.174cm')
|
||||||
|
Set('height', '14.28cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.261cm')
|
||||||
|
Set('rightMargin', '0.707cm')
|
||||||
|
Set('topMargin', '0.708cm')
|
||||||
|
Set('bottomMargin', '0.494cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', 'time')
|
||||||
|
Set('min', 0.0)
|
||||||
|
Set('max', 63.0)
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', '\\textit{x} or \\textit{v_x}')
|
||||||
|
Set('min', -1.718)
|
||||||
|
Set('max', 1.31)
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'time_2')
|
||||||
|
Set('yData', 'x_2')
|
||||||
|
Set('key', '\\textit{x(t)}')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy2', autoadd=False)
|
||||||
|
To('xy2')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'time')
|
||||||
|
Set('yData', 'vx_2')
|
||||||
|
Set('key', '\\textit{v(t)}')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
Add('key', name='key1', autoadd=False)
|
||||||
|
To('key1')
|
||||||
|
Set('Border/hide', True)
|
||||||
|
Set('horzPosn', 'right')
|
||||||
|
Set('vertPosn', 'bottom')
|
||||||
|
Set('horzManual', 0.0)
|
||||||
|
Set('vertManual', 0.0)
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('page', name='p2-2-vx-A-T', autoadd=False)
|
||||||
|
To('p2-2-vx-A-T')
|
||||||
|
Set('width', '21.307cm')
|
||||||
|
Set('height', '15.021cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.418cm')
|
||||||
|
Set('rightMargin', '11.557cm')
|
||||||
|
Set('topMargin', '1.935cm')
|
||||||
|
Set('bottomMargin', '1.32cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', '\\textit{v_x}')
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', 'Amplitude')
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'vx_22')
|
||||||
|
Set('yData', 'AMPLITUDE_22')
|
||||||
|
Set('PlotLine/width', '2.5pt')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('grid', name='grid2', autoadd=False)
|
||||||
|
To('grid2')
|
||||||
|
Set('leftMargin', '10.654cm')
|
||||||
|
Set('rightMargin', '0.834cm')
|
||||||
|
Set('topMargin', '1.936cm')
|
||||||
|
Set('bottomMargin', '1.129cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', 'Amplitude')
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', 'Period')
|
||||||
|
Set('min', 'Auto')
|
||||||
|
Set('max', 'Auto')
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'AMPLITUDE_22')
|
||||||
|
Set('yData', 'PERIOD_22')
|
||||||
|
Set('PlotLine/width', '2.5pt')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
BIN
computer-hw2-1/computer-hw2-1/computer-hw2-1.u2d
Normal file
BIN
computer-hw2-1/computer-hw2-1/computer-hw2-1.u2d
Normal file
Binary file not shown.
34
computer-hw2-1/computer-hw2-1/computer-hw2-1.vfproj
Normal file
34
computer-hw2-1/computer-hw2-1/computer-hw2-1.vfproj
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<VisualStudioProject ProjectCreator="Intel Fortran" Keyword="Console Application" Version="11.0" ProjectIdGuid="{E7E149AA-965F-4DBF-AE30-3D403FA464CA}">
|
||||||
|
<Platforms>
|
||||||
|
<Platform Name="Win32"/></Platforms>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration Name="Debug|Win32">
|
||||||
|
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" WarnInterfaces="true" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebug"/>
|
||||||
|
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" GenerateDebugInformation="true" SubSystem="subSystemConsole"/>
|
||||||
|
<Tool Name="VFResourceCompilerTool"/>
|
||||||
|
<Tool Name="VFMidlTool" SuppressStartupBanner="true"/>
|
||||||
|
<Tool Name="VFCustomBuildTool"/>
|
||||||
|
<Tool Name="VFPreLinkEventTool"/>
|
||||||
|
<Tool Name="VFPreBuildEventTool"/>
|
||||||
|
<Tool Name="VFPostBuildEventTool"/>
|
||||||
|
<Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
|
||||||
|
<Configuration Name="Release|Win32">
|
||||||
|
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true"/>
|
||||||
|
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" SubSystem="subSystemConsole"/>
|
||||||
|
<Tool Name="VFResourceCompilerTool"/>
|
||||||
|
<Tool Name="VFMidlTool" SuppressStartupBanner="true"/>
|
||||||
|
<Tool Name="VFCustomBuildTool"/>
|
||||||
|
<Tool Name="VFPreLinkEventTool"/>
|
||||||
|
<Tool Name="VFPreBuildEventTool"/>
|
||||||
|
<Tool Name="VFPostBuildEventTool"/>
|
||||||
|
<Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration></Configurations>
|
||||||
|
<Files>
|
||||||
|
<Filter Name="Header Files" Filter="fi;fd"/>
|
||||||
|
<Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"/>
|
||||||
|
<Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
|
||||||
|
<File RelativePath=".\INPUT.dat"/>
|
||||||
|
<File RelativePath=".\main.f90"/>
|
||||||
|
<File RelativePath=".\my_methods.f90"/>
|
||||||
|
<File RelativePath=".\my_parameters.f90"/></Filter></Files>
|
||||||
|
<Globals/></VisualStudioProject>
|
155511
computer-hw2-1/computer-hw2-1/data_problem_2-1.dat
Normal file
155511
computer-hw2-1/computer-hw2-1/data_problem_2-1.dat
Normal file
File diff suppressed because it is too large
Load Diff
154352
computer-hw2-1/computer-hw2-1/data_problem_2-2.dat
Normal file
154352
computer-hw2-1/computer-hw2-1/data_problem_2-2.dat
Normal file
File diff suppressed because it is too large
Load Diff
9
computer-hw2-1/computer-hw2-1/main.f90
Normal file
9
computer-hw2-1/computer-hw2-1/main.f90
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
PROGRAM MAIN
|
||||||
|
USE MY_METHODS
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
CALL GET_PROBLEM_21
|
||||||
|
|
||||||
|
PRINT*, "-----"
|
||||||
|
|
||||||
|
END PROGRAM
|
228
computer-hw2-1/computer-hw2-1/my_methods.f90
Normal file
228
computer-hw2-1/computer-hw2-1/my_methods.f90
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
MODULE MY_METHODS
|
||||||
|
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
CONTAINS
|
||||||
|
|
||||||
|
!4th RUNGE-KUTTA Method
|
||||||
|
SUBROUTINE RUNGE(NEQ,X,Y,H)
|
||||||
|
INTEGER :: NEQ, I
|
||||||
|
REAL*8 :: X, H
|
||||||
|
REAL*8 :: Y(NEQ),DELTAY1(NEQ),DELTAY2(NEQ),DELTAY3(NEQ),&
|
||||||
|
DELTAY4(NEQ),Z(NEQ)
|
||||||
|
|
||||||
|
!FIRST STEP
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Z(I) = Y(I)
|
||||||
|
END DO
|
||||||
|
CALL FUNC_RK(NEQ,X,Z,DELTAY1,H)
|
||||||
|
|
||||||
|
!SECOND STEP
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Z(I) = Y(I) + DELTAY1(I) / 2.
|
||||||
|
END DO
|
||||||
|
X = X + H / 2.
|
||||||
|
CALL FUNC_RK(NEQ,X,Z,DELTAY2,H)
|
||||||
|
|
||||||
|
!THIRD STEP
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Z(I) = Y(I) + DELTAY2(I) / 2.
|
||||||
|
END DO
|
||||||
|
CALL FUNC_RK(NEQ,X,Z,DELTAY3,H)
|
||||||
|
|
||||||
|
!FOURTH STEP
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Z(I) = Y(I) + DELTAY3(I)
|
||||||
|
END DO
|
||||||
|
X = X + H / 2.
|
||||||
|
CALL FUNC_RK(NEQ,X,Z,DELTAY4,H)
|
||||||
|
|
||||||
|
!SUMMARY
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Y(I) = Y(I) + (DELTAY1(I) + 2D0*DELTAY2(I) + 2D0*DELTAY3(I) + &
|
||||||
|
DELTAY4(I)) / 6D0
|
||||||
|
END DO
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
END SUBROUTINE RUNGE
|
||||||
|
|
||||||
|
SUBROUTINE FUNC_RK(NEQ,X,Y,DELTAY,H)
|
||||||
|
|
||||||
|
USE MY_PARAMETERS, ONLY: OMEGA, ALPHA
|
||||||
|
|
||||||
|
INTEGER :: NEQ
|
||||||
|
REAL*8 :: X, H
|
||||||
|
REAL*8 :: Y(NEQ),DELTAY(NEQ)
|
||||||
|
|
||||||
|
DELTAY(1) = (Y(2)) * H
|
||||||
|
DELTAY(2) = (-OMEGA**2 * Y(1)**ALPHA) * H
|
||||||
|
|
||||||
|
END SUBROUTINE
|
||||||
|
|
||||||
|
SUBROUTINE GET_INPUT
|
||||||
|
USE MY_PARAMETERS
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
CHARACTER (77) :: BUF
|
||||||
|
LOGICAL exist
|
||||||
|
|
||||||
|
INQUIRE(FILE="INPUT.dat", EXIST=exist)
|
||||||
|
OPEN(9, FILE="INPUT.dat")
|
||||||
|
IF(exist) THEN
|
||||||
|
READ (9, '(A77)') buf !--# Initial conditions --
|
||||||
|
READ (9, '(A77)') buf !--dddddd.ddd- INITIAL X ----
|
||||||
|
READ (9, '(2x,f10.3)') X0
|
||||||
|
READ (9, '(A77)') buf !--dddddd.ddd- INITIAL VX ----
|
||||||
|
READ (9, '(2x,f10.3)') VX0
|
||||||
|
|
||||||
|
READ (9, '(A77)') buf !--# Other settings --
|
||||||
|
READ (9, '(A77)') buf !--#d.dddE#dd-- DT(TIME STEP) ----
|
||||||
|
READ (9, '(2x,e10.3)') DT
|
||||||
|
READ (9, '(A77)') buf !--dddddd.ddd- ALPHA ----
|
||||||
|
READ (9, '(2x,f10.3)') ALPHA
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
PRINT*, "Input file NOT FOUND! Defaulted values used."
|
||||||
|
! # Initial conditions ---
|
||||||
|
X0 = 0D0
|
||||||
|
VX0 = 1D0
|
||||||
|
|
||||||
|
! # Other settings ---
|
||||||
|
DT = 1D-3
|
||||||
|
ALPHA = 1D0
|
||||||
|
|
||||||
|
END IF
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
END SUBROUTINE
|
||||||
|
|
||||||
|
SUBROUTINE GET_PROBLEM_21
|
||||||
|
USE MY_PARAMETERS
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
REAL*8 :: TIME, Y(2)
|
||||||
|
INTEGER :: NEQ
|
||||||
|
|
||||||
|
! to calculate the period
|
||||||
|
INTEGER, PARAMETER :: MAX_PERIODS = 50
|
||||||
|
REAL*8 :: TIME_OLD, VX_OLD
|
||||||
|
REAL*8 :: PERIOD(MAX_PERIODS), LOOP(MAX_PERIODS-1)
|
||||||
|
INTEGER :: INDEX_PERIOD, I
|
||||||
|
|
||||||
|
REAL*8 :: PERIOD_AVERAGE
|
||||||
|
|
||||||
|
! to calculate the amplitude
|
||||||
|
REAL*8 :: X_MAX, X_MIN, AMPLITUDE
|
||||||
|
|
||||||
|
|
||||||
|
NEQ = 2
|
||||||
|
|
||||||
|
CALL GET_INPUT
|
||||||
|
|
||||||
|
Y(1) = X0
|
||||||
|
Y(2) = VX0
|
||||||
|
TIME = 0D0
|
||||||
|
INDEX_PERIOD = 0
|
||||||
|
|
||||||
|
OPEN(UNIT=91, FILE="data_problem_2-2.dat")
|
||||||
|
WRITE(91, 100) "descriptor","time","x","vx"
|
||||||
|
WRITE(91,200) " ",TIME,Y(1),Y(2)
|
||||||
|
|
||||||
|
DO WHILE (INDEX_PERIOD .LT. MAX_PERIODS)
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
VX_OLD = Y(2)
|
||||||
|
TIME_OLD = TIME
|
||||||
|
|
||||||
|
CALL RUNGE(NEQ,TIME,Y,DT)
|
||||||
|
|
||||||
|
WRITE(91,200) " ",TIME,Y(1),Y(2)
|
||||||
|
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
IF (Y(2)*VX_OLD .LT. 0) THEN
|
||||||
|
INDEX_PERIOD = INDEX_PERIOD + 1
|
||||||
|
! to get the time when the speed get zero
|
||||||
|
PERIOD(INDEX_PERIOD) = TIME_OLD - &
|
||||||
|
VX_OLD * (TIME - TIME_OLD)/(Y(2)-VX_OLD)
|
||||||
|
IF (INDEX_PERIOD .GT. 1) THEN
|
||||||
|
LOOP(INDEX_PERIOD - 1) = PERIOD(INDEX_PERIOD) - &
|
||||||
|
PERIOD(INDEX_PERIOD - 1)
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
|
END DO
|
||||||
|
|
||||||
|
CLOSE(91)
|
||||||
|
|
||||||
|
PERIOD_AVERAGE = SUM(LOOP) / SIZE(LOOP)
|
||||||
|
|
||||||
|
PRINT*, PERIOD_AVERAGE
|
||||||
|
|
||||||
|
! change vx0, and see the change of the period
|
||||||
|
OPEN(UNIT=92, FILE="AMPLITUDE-PERIOD_2-2.dat")
|
||||||
|
WRITE(92,100) "descriptor","vx","AMPLITUDE","PERIOD"
|
||||||
|
|
||||||
|
DO I=1,100
|
||||||
|
Y(1) = X0
|
||||||
|
Y(2) = VX0+I/1D1
|
||||||
|
TIME = 0D0
|
||||||
|
INDEX_PERIOD = 0
|
||||||
|
X_MAX = X0
|
||||||
|
X_MIN = X0
|
||||||
|
|
||||||
|
|
||||||
|
DO WHILE (INDEX_PERIOD .LT. MAX_PERIODS)
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
VX_OLD = Y(2)
|
||||||
|
TIME_OLD = TIME
|
||||||
|
|
||||||
|
! TO CALCULATE AMPLITUDE
|
||||||
|
IF (Y(1) .GT. X_MAX) THEN
|
||||||
|
X_MAX = Y(1)
|
||||||
|
END IF
|
||||||
|
IF (Y(1) .LT. X_MIN) THEN
|
||||||
|
X_MIN = Y(1)
|
||||||
|
END IF
|
||||||
|
|
||||||
|
|
||||||
|
CALL RUNGE(NEQ,TIME,Y,DT)
|
||||||
|
|
||||||
|
WRITE(91,200) " ",TIME,Y(1),Y(2)
|
||||||
|
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
IF (Y(2)*VX_OLD .LT. 0) THEN
|
||||||
|
INDEX_PERIOD = INDEX_PERIOD + 1
|
||||||
|
! to get the time when the speed gets zero
|
||||||
|
PERIOD(INDEX_PERIOD) = TIME_OLD - &
|
||||||
|
VX_OLD * (TIME - TIME_OLD)/(Y(2)-VX_OLD)
|
||||||
|
IF (INDEX_PERIOD .GT. 1) THEN
|
||||||
|
LOOP(INDEX_PERIOD - 1) = PERIOD(INDEX_PERIOD) - &
|
||||||
|
PERIOD(INDEX_PERIOD - 1)
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
|
END DO
|
||||||
|
|
||||||
|
|
||||||
|
PERIOD_AVERAGE = SUM(LOOP) / SIZE(LOOP)
|
||||||
|
|
||||||
|
AMPLITUDE = X_MAX - X_MIN
|
||||||
|
|
||||||
|
WRITE(*,'("A = ",F12.6, ", T = ",F12.6)') &
|
||||||
|
AMPLITUDE, PERIOD_AVERAGE
|
||||||
|
|
||||||
|
WRITE(92,200) " ",VX0+I/1D1,AMPLITUDE,PERIOD_AVERAGE
|
||||||
|
END DO
|
||||||
|
|
||||||
|
CLOSE(92)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
! FORMATS
|
||||||
|
100 FORMAT(4(A12,2x))
|
||||||
|
200 FORMAT(A12, 2x, 3(F12.6,2x))
|
||||||
|
END SUBROUTINE
|
||||||
|
|
||||||
|
END MODULE
|
13
computer-hw2-1/computer-hw2-1/my_parameters.f90
Normal file
13
computer-hw2-1/computer-hw2-1/my_parameters.f90
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
MODULE MY_PARAMETERS
|
||||||
|
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
REAL*8, PARAMETER :: OMEGA = 1D0
|
||||||
|
|
||||||
|
REAL*8 :: X0,VX0
|
||||||
|
REAL*8 :: DT
|
||||||
|
|
||||||
|
REAL*8 :: ALPHA
|
||||||
|
|
||||||
|
|
||||||
|
END MODULE
|
20
computer-hw2-2/computer-hw2-2.sln
Normal file
20
computer-hw2-2/computer-hw2-2.sln
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
|
# Visual Studio 2010
|
||||||
|
Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "computer-hw2-2", "computer-hw2-2\computer-hw2-2.vfproj", "{D0785D61-C7AE-4628-95B8-6810AFCC8157}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Win32 = Debug|Win32
|
||||||
|
Release|Win32 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{D0785D61-C7AE-4628-95B8-6810AFCC8157}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{D0785D61-C7AE-4628-95B8-6810AFCC8157}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{D0785D61-C7AE-4628-95B8-6810AFCC8157}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{D0785D61-C7AE-4628-95B8-6810AFCC8157}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
BIN
computer-hw2-2/computer-hw2-2.suo
Normal file
BIN
computer-hw2-2/computer-hw2-2.suo
Normal file
Binary file not shown.
101
computer-hw2-2/computer-hw2-2/AMPLITUDE-PERIOD_22-2.dat
Normal file
101
computer-hw2-2/computer-hw2-2/AMPLITUDE-PERIOD_22-2.dat
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
descriptor vx AMPLITUDE PERIOD
|
||||||
|
1.100000 1.890373 3.145527
|
||||||
|
1.200000 2.062225 3.145527
|
||||||
|
1.300000 2.234077 3.145527
|
||||||
|
1.400000 2.405929 3.145527
|
||||||
|
1.500000 2.577781 3.145527
|
||||||
|
1.600000 2.749633 3.145527
|
||||||
|
1.700000 2.921485 3.145527
|
||||||
|
1.800000 3.093337 3.145527
|
||||||
|
1.900000 3.265189 3.145527
|
||||||
|
2.000000 3.437041 3.145527
|
||||||
|
2.100000 3.608893 3.145527
|
||||||
|
2.200000 3.780745 3.145527
|
||||||
|
2.300000 3.952597 3.145527
|
||||||
|
2.400000 4.124449 3.145527
|
||||||
|
2.500000 4.296301 3.145527
|
||||||
|
2.600000 4.468153 3.145527
|
||||||
|
2.700000 4.640005 3.145527
|
||||||
|
2.800000 4.811857 3.145527
|
||||||
|
2.900000 4.983710 3.145527
|
||||||
|
3.000000 5.155562 3.145527
|
||||||
|
3.100000 5.327414 3.145527
|
||||||
|
3.200000 5.499266 3.145527
|
||||||
|
3.300000 5.671118 3.145527
|
||||||
|
3.400000 5.842970 3.145527
|
||||||
|
3.500000 6.014822 3.145527
|
||||||
|
3.600000 6.186674 3.145527
|
||||||
|
3.700000 6.358526 3.145527
|
||||||
|
3.800000 6.530378 3.145527
|
||||||
|
3.900000 6.702230 3.145527
|
||||||
|
4.000000 6.874082 3.145527
|
||||||
|
4.100000 7.045934 3.145527
|
||||||
|
4.200000 7.217786 3.145527
|
||||||
|
4.300000 7.389638 3.145527
|
||||||
|
4.400000 7.561490 3.145527
|
||||||
|
4.500000 7.733342 3.145527
|
||||||
|
4.600000 7.905194 3.145527
|
||||||
|
4.700000 8.077047 3.145527
|
||||||
|
4.800000 8.248899 3.145527
|
||||||
|
4.900000 8.420751 3.145527
|
||||||
|
5.000000 8.592603 3.145527
|
||||||
|
5.100000 8.764455 3.145527
|
||||||
|
5.200000 8.936307 3.145527
|
||||||
|
5.300000 9.108159 3.145527
|
||||||
|
5.400000 9.280011 3.145527
|
||||||
|
5.500000 9.451863 3.145527
|
||||||
|
5.600000 9.623715 3.145527
|
||||||
|
5.700000 9.795567 3.145527
|
||||||
|
5.800000 9.967419 3.145527
|
||||||
|
5.900000 10.139271 3.145527
|
||||||
|
6.000000 10.311123 3.145527
|
||||||
|
6.100000 10.482975 3.145527
|
||||||
|
6.200000 10.654827 3.145527
|
||||||
|
6.300000 10.826679 3.145527
|
||||||
|
6.400000 10.998531 3.145527
|
||||||
|
6.500000 11.170383 3.145527
|
||||||
|
6.600000 11.342236 3.145527
|
||||||
|
6.700000 11.514088 3.145527
|
||||||
|
6.800000 11.685940 3.145527
|
||||||
|
6.900000 11.857792 3.145527
|
||||||
|
7.000000 12.029644 3.145527
|
||||||
|
7.100000 12.201496 3.145527
|
||||||
|
7.200000 12.373348 3.145527
|
||||||
|
7.300000 12.545200 3.145527
|
||||||
|
7.400000 12.717052 3.145527
|
||||||
|
7.500000 12.888904 3.145527
|
||||||
|
7.600000 13.060756 3.145527
|
||||||
|
7.700000 13.232608 3.145527
|
||||||
|
7.800000 13.404460 3.145527
|
||||||
|
7.900000 13.576312 3.145527
|
||||||
|
8.000000 13.748164 3.145527
|
||||||
|
8.100000 13.920016 3.145527
|
||||||
|
8.200000 14.091868 3.145527
|
||||||
|
8.300000 14.263720 3.145527
|
||||||
|
8.400000 14.435572 3.145527
|
||||||
|
8.500000 14.607425 3.145527
|
||||||
|
8.600000 14.779277 3.145527
|
||||||
|
8.700000 14.951129 3.145527
|
||||||
|
8.800000 15.122981 3.145527
|
||||||
|
8.900000 15.294833 3.145527
|
||||||
|
9.000000 15.466685 3.145527
|
||||||
|
9.100000 15.638537 3.145527
|
||||||
|
9.200000 15.810389 3.145527
|
||||||
|
9.300000 15.982241 3.145527
|
||||||
|
9.400000 16.154093 3.145527
|
||||||
|
9.500000 16.325945 3.145527
|
||||||
|
9.600000 16.497797 3.145527
|
||||||
|
9.700000 16.669649 3.145527
|
||||||
|
9.800000 16.841501 3.145527
|
||||||
|
9.900000 17.013353 3.145527
|
||||||
|
10.000000 17.185205 3.145527
|
||||||
|
10.100000 17.357057 3.145527
|
||||||
|
10.200000 17.528909 3.145527
|
||||||
|
10.300000 17.700762 3.145527
|
||||||
|
10.400000 17.872614 3.145527
|
||||||
|
10.500000 18.044466 3.145527
|
||||||
|
10.600000 18.216318 3.145527
|
||||||
|
10.700000 18.388170 3.145527
|
||||||
|
10.800000 18.560022 3.145527
|
||||||
|
10.900000 18.731874 3.145527
|
||||||
|
11.000000 18.903726 3.145527
|
BIN
computer-hw2-2/computer-hw2-2/Debug/BuildLog.htm
Normal file
BIN
computer-hw2-2/computer-hw2-2/Debug/BuildLog.htm
Normal file
Binary file not shown.
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||||
|
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
|
||||||
|
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<security>
|
||||||
|
<requestedPrivileges>
|
||||||
|
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
|
||||||
|
</requestedPrivileges>
|
||||||
|
</security>
|
||||||
|
</trustInfo>
|
||||||
|
</assembly>
|
BIN
computer-hw2-2/computer-hw2-2/Debug/computer-hw2-2.pdb
Normal file
BIN
computer-hw2-2/computer-hw2-2/Debug/computer-hw2-2.pdb
Normal file
Binary file not shown.
BIN
computer-hw2-2/computer-hw2-2/Debug/vc100.pdb
Normal file
BIN
computer-hw2-2/computer-hw2-2/Debug/vc100.pdb
Normal file
Binary file not shown.
16
computer-hw2-2/computer-hw2-2/INPUT.dat
Normal file
16
computer-hw2-2/computer-hw2-2/INPUT.dat
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
--# Initial conditions --
|
||||||
|
--dddddd.ddd- INITIAL X -----------------------
|
||||||
|
0.0
|
||||||
|
--dddddd.ddd- INITIAL VX ----------------------
|
||||||
|
1.0
|
||||||
|
--# Other settings --
|
||||||
|
--#d.dddE#dd-- DT(TIME STEP) ------------------
|
||||||
|
1.0E-3
|
||||||
|
--dddddd.ddd- ALPHA ----------------------
|
||||||
|
3.0
|
||||||
|
--dddddd.ddd- GAMMA ----------------------
|
||||||
|
0.1
|
||||||
|
--dddddd.ddd- H (FORCE) ------------------
|
||||||
|
1.0
|
||||||
|
--dddddd.ddd- OMEGA (FORCE) --------------
|
||||||
|
1.0
|
@ -0,0 +1,151 @@
|
|||||||
|
descriptor OMEGA AMPLITUDE
|
||||||
|
0.510000 3.305108
|
||||||
|
0.520000 3.336526
|
||||||
|
0.530000 3.341346
|
||||||
|
0.540000 3.251872
|
||||||
|
0.550000 3.274194
|
||||||
|
0.560000 3.184650
|
||||||
|
0.570000 3.228674
|
||||||
|
0.580000 3.353603
|
||||||
|
0.590000 3.362552
|
||||||
|
0.600000 3.310125
|
||||||
|
0.610000 3.313259
|
||||||
|
0.620000 3.323300
|
||||||
|
0.630000 3.352510
|
||||||
|
0.640000 3.350216
|
||||||
|
0.650000 3.377983
|
||||||
|
0.660000 3.396924
|
||||||
|
0.670000 3.413946
|
||||||
|
0.680000 3.366656
|
||||||
|
0.690000 3.322554
|
||||||
|
0.700000 3.333375
|
||||||
|
0.710000 3.343784
|
||||||
|
0.720000 3.353791
|
||||||
|
0.730000 3.364704
|
||||||
|
0.740000 3.399799
|
||||||
|
0.750000 3.420074
|
||||||
|
0.760000 3.416064
|
||||||
|
0.770000 3.398094
|
||||||
|
0.780000 3.405861
|
||||||
|
0.790000 3.440897
|
||||||
|
0.800000 3.493484
|
||||||
|
0.810000 3.544634
|
||||||
|
0.820000 3.592710
|
||||||
|
0.830000 3.635622
|
||||||
|
0.840000 3.670746
|
||||||
|
0.850000 3.695027
|
||||||
|
0.860000 3.705443
|
||||||
|
0.870000 3.699733
|
||||||
|
0.880000 3.677786
|
||||||
|
0.890000 3.642866
|
||||||
|
0.900000 3.604978
|
||||||
|
0.910000 3.573215
|
||||||
|
0.920000 3.552358
|
||||||
|
0.930000 3.564774
|
||||||
|
0.940000 3.594691
|
||||||
|
0.950000 3.623527
|
||||||
|
0.960000 3.651314
|
||||||
|
0.970000 3.678080
|
||||||
|
0.980000 3.703850
|
||||||
|
0.990000 3.728646
|
||||||
|
1.000000 3.752491
|
||||||
|
1.010000 3.775400
|
||||||
|
1.020000 3.797392
|
||||||
|
1.030000 3.818483
|
||||||
|
1.040000 3.838685
|
||||||
|
1.050000 3.858009
|
||||||
|
1.060000 3.876471
|
||||||
|
1.070000 3.894078
|
||||||
|
1.080000 3.910839
|
||||||
|
1.090000 3.926762
|
||||||
|
1.100000 3.941854
|
||||||
|
1.110000 3.956124
|
||||||
|
1.120000 3.969574
|
||||||
|
1.130000 3.982209
|
||||||
|
1.140000 3.994036
|
||||||
|
1.150000 4.005056
|
||||||
|
1.160000 4.015271
|
||||||
|
1.170000 4.024686
|
||||||
|
1.180000 4.033300
|
||||||
|
1.190000 4.042319
|
||||||
|
1.200000 4.052543
|
||||||
|
1.210000 4.079429
|
||||||
|
1.220000 4.111731
|
||||||
|
1.230000 4.142599
|
||||||
|
1.240000 4.172030
|
||||||
|
1.250000 4.200021
|
||||||
|
1.260000 4.226561
|
||||||
|
1.270000 4.251644
|
||||||
|
1.280000 4.275254
|
||||||
|
1.290000 4.297377
|
||||||
|
1.300000 4.317997
|
||||||
|
1.310000 4.337096
|
||||||
|
1.320000 4.354647
|
||||||
|
1.330000 4.370629
|
||||||
|
1.340000 4.385017
|
||||||
|
1.350000 4.397776
|
||||||
|
1.360000 4.408877
|
||||||
|
1.370000 4.418283
|
||||||
|
1.380000 4.425956
|
||||||
|
1.390000 4.455094
|
||||||
|
1.400000 4.489389
|
||||||
|
1.410000 4.521289
|
||||||
|
1.420000 4.550697
|
||||||
|
1.430000 4.577499
|
||||||
|
1.440000 4.601571
|
||||||
|
1.450000 4.622779
|
||||||
|
1.460000 4.640964
|
||||||
|
1.470000 4.655959
|
||||||
|
1.480000 4.667572
|
||||||
|
1.490000 4.675590
|
||||||
|
1.500000 4.684178
|
||||||
|
1.510000 4.723467
|
||||||
|
1.520000 4.758113
|
||||||
|
1.530000 4.787598
|
||||||
|
1.540000 4.811308
|
||||||
|
1.550000 4.828522
|
||||||
|
1.560000 4.838363
|
||||||
|
1.570000 4.839782
|
||||||
|
1.580000 4.874657
|
||||||
|
1.590000 4.911870
|
||||||
|
1.600000 4.935846
|
||||||
|
1.610000 4.942905
|
||||||
|
1.620000 4.952144
|
||||||
|
1.630000 4.997062
|
||||||
|
1.640000 5.002942
|
||||||
|
1.650000 5.034784
|
||||||
|
1.660000 5.033803
|
||||||
|
1.670000 5.075859
|
||||||
|
1.680000 3.447818
|
||||||
|
1.690000 3.316096
|
||||||
|
1.700000 3.233659
|
||||||
|
1.710000 3.186633
|
||||||
|
1.720000 3.137806
|
||||||
|
1.730000 3.087113
|
||||||
|
1.740000 3.034485
|
||||||
|
1.750000 2.979849
|
||||||
|
1.760000 2.925641
|
||||||
|
1.770000 2.929076
|
||||||
|
1.780000 2.917472
|
||||||
|
1.790000 2.879450
|
||||||
|
1.800000 2.863713
|
||||||
|
1.810000 2.847809
|
||||||
|
1.820000 2.831740
|
||||||
|
1.830000 2.815510
|
||||||
|
1.840000 2.799120
|
||||||
|
1.850000 2.782574
|
||||||
|
1.860000 2.765875
|
||||||
|
1.870000 2.749026
|
||||||
|
1.880000 2.732029
|
||||||
|
1.890000 2.723076
|
||||||
|
1.900000 2.732507
|
||||||
|
1.910000 2.719822
|
||||||
|
1.920000 2.681927
|
||||||
|
1.930000 2.652420
|
||||||
|
1.940000 2.627199
|
||||||
|
1.950000 2.609296
|
||||||
|
1.960000 2.591286
|
||||||
|
1.970000 2.573174
|
||||||
|
1.980000 2.554968
|
||||||
|
1.990000 2.536676
|
||||||
|
2.000000 2.518306
|
@ -0,0 +1,101 @@
|
|||||||
|
descriptor OMEGA AMPLITUDE
|
||||||
|
0.100000 2.825449
|
||||||
|
0.200000 3.055030
|
||||||
|
0.300000 3.141017
|
||||||
|
0.400000 3.278995
|
||||||
|
0.500000 3.292963
|
||||||
|
0.600000 3.310125
|
||||||
|
0.700000 3.333375
|
||||||
|
0.800000 3.493484
|
||||||
|
0.900000 3.604978
|
||||||
|
1.000000 3.752491
|
||||||
|
1.100000 3.941854
|
||||||
|
1.200000 4.052543
|
||||||
|
1.300000 4.317997
|
||||||
|
1.400000 4.489389
|
||||||
|
1.500000 4.684178
|
||||||
|
1.600000 4.935846
|
||||||
|
1.700000 3.233659
|
||||||
|
1.800000 2.863713
|
||||||
|
1.900000 2.732507
|
||||||
|
2.000000 2.518306
|
||||||
|
2.100000 2.333192
|
||||||
|
2.200000 2.299223
|
||||||
|
2.300000 2.426793
|
||||||
|
2.400000 2.458688
|
||||||
|
2.500000 2.415765
|
||||||
|
2.600000 2.322769
|
||||||
|
2.700000 2.206070
|
||||||
|
2.800000 2.087607
|
||||||
|
2.900000 1.981122
|
||||||
|
3.000000 2.012777
|
||||||
|
3.100000 2.067932
|
||||||
|
3.200000 2.102075
|
||||||
|
3.300000 2.122883
|
||||||
|
3.400000 2.134345
|
||||||
|
3.500000 2.138514
|
||||||
|
3.600000 2.136506
|
||||||
|
3.700000 2.129055
|
||||||
|
3.800000 2.116860
|
||||||
|
3.900000 2.100855
|
||||||
|
4.000000 2.082753
|
||||||
|
4.100000 2.068104
|
||||||
|
4.200000 2.058189
|
||||||
|
4.300000 2.047275
|
||||||
|
4.400000 2.043152
|
||||||
|
4.500000 2.088086
|
||||||
|
4.600000 2.127264
|
||||||
|
4.700000 2.158399
|
||||||
|
4.800000 2.181132
|
||||||
|
4.900000 2.195708
|
||||||
|
5.000000 2.202693
|
||||||
|
5.100000 2.202844
|
||||||
|
5.200000 2.197047
|
||||||
|
5.300000 2.186287
|
||||||
|
5.400000 2.171670
|
||||||
|
5.500000 2.154557
|
||||||
|
5.600000 2.137239
|
||||||
|
5.700000 2.143487
|
||||||
|
5.800000 2.161239
|
||||||
|
5.900000 2.175302
|
||||||
|
6.000000 2.184881
|
||||||
|
6.100000 2.189923
|
||||||
|
6.200000 2.190651
|
||||||
|
6.300000 2.187422
|
||||||
|
6.400000 2.180673
|
||||||
|
6.500000 2.170907
|
||||||
|
6.600000 2.158709
|
||||||
|
6.700000 2.144821
|
||||||
|
6.800000 2.130463
|
||||||
|
6.900000 2.125749
|
||||||
|
7.000000 2.134358
|
||||||
|
7.100000 2.141587
|
||||||
|
7.200000 2.146471
|
||||||
|
7.300000 2.148779
|
||||||
|
7.400000 2.148527
|
||||||
|
7.500000 2.145860
|
||||||
|
7.600000 2.141011
|
||||||
|
7.700000 2.134292
|
||||||
|
7.800000 2.126120
|
||||||
|
7.900000 2.117079
|
||||||
|
8.000000 2.108152
|
||||||
|
8.100000 2.101597
|
||||||
|
8.200000 2.110601
|
||||||
|
8.300000 2.120664
|
||||||
|
8.400000 2.129563
|
||||||
|
8.500000 2.136740
|
||||||
|
8.600000 2.141991
|
||||||
|
8.700000 2.145271
|
||||||
|
8.800000 2.146629
|
||||||
|
8.900000 2.146178
|
||||||
|
9.000000 2.144092
|
||||||
|
9.100000 2.140618
|
||||||
|
9.200000 2.136133
|
||||||
|
9.300000 2.131408
|
||||||
|
9.400000 2.133446
|
||||||
|
9.500000 2.140157
|
||||||
|
9.600000 2.145981
|
||||||
|
9.700000 2.150430
|
||||||
|
9.800000 2.153354
|
||||||
|
9.900000 2.154726
|
||||||
|
10.000000 2.154583
|
@ -0,0 +1,41 @@
|
|||||||
|
descriptor OMEGA AMPLITUDE
|
||||||
|
0.905000 12.085499
|
||||||
|
0.910000 12.422363
|
||||||
|
0.915000 12.740557
|
||||||
|
0.920000 13.099505
|
||||||
|
0.925000 13.457396
|
||||||
|
0.930000 13.859707
|
||||||
|
0.935000 14.270755
|
||||||
|
0.940000 14.704798
|
||||||
|
0.945000 15.167957
|
||||||
|
0.950000 15.660081
|
||||||
|
0.955000 16.176160
|
||||||
|
0.960000 16.714228
|
||||||
|
0.965000 17.273636
|
||||||
|
0.970000 17.845065
|
||||||
|
0.975000 18.415615
|
||||||
|
0.980000 18.961048
|
||||||
|
0.985000 19.442496
|
||||||
|
0.990000 19.804405
|
||||||
|
0.995000 19.993648
|
||||||
|
1.000000 19.991937
|
||||||
|
1.005000 19.797459
|
||||||
|
1.010000 19.422543
|
||||||
|
1.015000 18.902529
|
||||||
|
1.020000 18.299116
|
||||||
|
1.025000 17.659022
|
||||||
|
1.030000 17.014179
|
||||||
|
1.035000 16.381118
|
||||||
|
1.040000 15.770871
|
||||||
|
1.045000 15.186660
|
||||||
|
1.050000 14.634482
|
||||||
|
1.055000 14.110685
|
||||||
|
1.060000 13.615959
|
||||||
|
1.065000 13.146414
|
||||||
|
1.070000 12.702318
|
||||||
|
1.075000 12.294442
|
||||||
|
1.080000 11.890654
|
||||||
|
1.085000 11.532959
|
||||||
|
1.090000 11.167810
|
||||||
|
1.095000 10.851848
|
||||||
|
1.100000 10.535632
|
Binary file not shown.
Binary file not shown.
BIN
computer-hw2-2/computer-hw2-2/PLOT2-2-VX-A-T-NOFORCE-ALPHA1.pdf
Normal file
BIN
computer-hw2-2/computer-hw2-2/PLOT2-2-VX-A-T-NOFORCE-ALPHA1.pdf
Normal file
Binary file not shown.
BIN
computer-hw2-2/computer-hw2-2/PLOT2-2-XT-VT-FORCE-ALPHA1.pdf
Normal file
BIN
computer-hw2-2/computer-hw2-2/PLOT2-2-XT-VT-FORCE-ALPHA1.pdf
Normal file
Binary file not shown.
BIN
computer-hw2-2/computer-hw2-2/PLOT2-2-XT-VT-NO-FORCE-ALPHA1.pdf
Normal file
BIN
computer-hw2-2/computer-hw2-2/PLOT2-2-XT-VT-NO-FORCE-ALPHA1.pdf
Normal file
Binary file not shown.
286
computer-hw2-2/computer-hw2-2/PLOT2-2.vsz
Normal file
286
computer-hw2-2/computer-hw2-2/PLOT2-2.vsz
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
# Veusz saved document (version 3.4)
|
||||||
|
# Saved at 2022-10-14T15:52:01.836444
|
||||||
|
|
||||||
|
SetCompatLevel(1)
|
||||||
|
AddImportPath('C:\\Users\\flyingPoint\\Documents\\visual studio 2010\\Projects\\computer-hw2-2\\computer-hw2-2')
|
||||||
|
ImportFile('../../../../Visual Studio 2010/Projects/computer-hw2-2/computer-hw2-2/AMPLITUDE-PERIOD_22-2.dat', '', ignoretext=True, linked=True, suffix='_21')
|
||||||
|
ImportFile('../../../../Visual Studio 2010/Projects/computer-hw2-2/computer-hw2-2/OMEGA-AMPLITUDE_22-2_withForce.dat', '', ignoretext=True, linked=True, suffix='_ALPHA1')
|
||||||
|
ImportFile('../../../../Visual Studio 2010/Projects/computer-hw2-2/computer-hw2-2/OMEGA-AMPLITUDE_22-2_withForce-alpha3-fine.dat', '', ignoretext=True, linked=True, suffix='_ALPHA3_fine')
|
||||||
|
ImportFile('../../../../Visual Studio 2010/Projects/computer-hw2-2/computer-hw2-2/OMEGA-AMPLITUDE_22-2_withForce-alpha3.dat', '', ignoretext=True, linked=True, suffix='_ALPHA3_rough')
|
||||||
|
ImportFile('../../../../Visual Studio 2010/Projects/computer-hw2-2/computer-hw2-2/data_problem_22.dat', '', ignoretext=True, linked=True)
|
||||||
|
ImportFile('../../../../Visual Studio 2010/Projects/computer-hw2-2/computer-hw2-2/data_problem_22_withForce.dat', '', ignoretext=True, linked=True, suffix='_WITH_FORCE')
|
||||||
|
Set('colorTheme', 'default-latest')
|
||||||
|
Set('StyleSheet/axis-function/autoRange', 'next-tick')
|
||||||
|
Add('page', name='P2-2-XT-VT-NOFORCE-ALPHA1', autoadd=False)
|
||||||
|
To('P2-2-XT-VT-NOFORCE-ALPHA1')
|
||||||
|
Set('width', '14.174cm')
|
||||||
|
Set('height', '14.28cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.261cm')
|
||||||
|
Set('rightMargin', '0.707cm')
|
||||||
|
Set('topMargin', '0.708cm')
|
||||||
|
Set('bottomMargin', '0.494cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', 'time')
|
||||||
|
Set('min', 0.0)
|
||||||
|
Set('max', 32.0)
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', '\\textit{x} or \\textit{v_x}')
|
||||||
|
Set('min', -1.45)
|
||||||
|
Set('max', 1.055)
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'time')
|
||||||
|
Set('yData', 'x')
|
||||||
|
Set('key', '\\textit{x(t)}')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy2', autoadd=False)
|
||||||
|
To('xy2')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'time')
|
||||||
|
Set('yData', 'vx')
|
||||||
|
Set('key', '\\textit{v(t)}')
|
||||||
|
Set('PlotLine/color', '#0055ff')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
Add('key', name='key1', autoadd=False)
|
||||||
|
To('key1')
|
||||||
|
Set('Border/hide', True)
|
||||||
|
Set('horzPosn', 'manual')
|
||||||
|
Set('vertPosn', 'manual')
|
||||||
|
Set('horzManual', 0.7160565476190476)
|
||||||
|
Set('vertManual', 0.03401785714285714)
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('page', name='P2-2-NOFORCE-ALPHA1-vx-A-T', autoadd=False)
|
||||||
|
To('P2-2-NOFORCE-ALPHA1-vx-A-T')
|
||||||
|
Set('width', '21.307cm')
|
||||||
|
Set('height', '15.021cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.418cm')
|
||||||
|
Set('rightMargin', '11.557cm')
|
||||||
|
Set('topMargin', '1.935cm')
|
||||||
|
Set('bottomMargin', '1.32cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', '\\textit{v_x}')
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', 'Amplitude')
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'vx_21')
|
||||||
|
Set('yData', 'AMPLITUDE_21')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('grid', name='grid2', autoadd=False)
|
||||||
|
To('grid2')
|
||||||
|
Set('leftMargin', '10.654cm')
|
||||||
|
Set('rightMargin', '0.834cm')
|
||||||
|
Set('topMargin', '1.936cm')
|
||||||
|
Set('bottomMargin', '1.129cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', 'Amplitude')
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', 'Period')
|
||||||
|
Set('min', 3.0)
|
||||||
|
Set('max', 3.336)
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'AMPLITUDE_21')
|
||||||
|
Set('yData', 'PERIOD_21')
|
||||||
|
Set('PlotLine/width', '2.5pt')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('page', name='p2-2-xt-vt-FORCE-ALPHA1', autoadd=False)
|
||||||
|
To('p2-2-xt-vt-FORCE-ALPHA1')
|
||||||
|
Set('width', '14.174cm')
|
||||||
|
Set('height', '14.28cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.261cm')
|
||||||
|
Set('rightMargin', '0.707cm')
|
||||||
|
Set('topMargin', '0.708cm')
|
||||||
|
Set('bottomMargin', '0.494cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', 'time')
|
||||||
|
Set('min', -2.220446049250313e-16)
|
||||||
|
Set('max', 166.7)
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', '\\textit{x} or \\textit{v_x}')
|
||||||
|
Set('min', -14.15)
|
||||||
|
Set('max', 10.49)
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'time_WITH_FORCE')
|
||||||
|
Set('yData', 'x_WITH_FORCE')
|
||||||
|
Set('key', '\\textit{x(t)}')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy2', autoadd=False)
|
||||||
|
To('xy2')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'time_WITH_FORCE')
|
||||||
|
Set('yData', 'vx_WITH_FORCE')
|
||||||
|
Set('key', '\\textit{v(t)}')
|
||||||
|
Set('PlotLine/color', '#00aaff')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
Add('key', name='key1', autoadd=False)
|
||||||
|
To('key1')
|
||||||
|
Set('Border/hide', True)
|
||||||
|
Set('horzPosn', 'manual')
|
||||||
|
Set('vertPosn', 'manual')
|
||||||
|
Set('horzManual', 0.7318238103661775)
|
||||||
|
Set('vertManual', 0.03597840997196875)
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('page', name='P2-2-OMEGA-A-FORCE-ALPHA1-rough-fine', autoadd=False)
|
||||||
|
To('P2-2-OMEGA-A-FORCE-ALPHA1-rough-fine')
|
||||||
|
Set('width', '14.174cm')
|
||||||
|
Set('height', '14.28cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.261cm')
|
||||||
|
Set('rightMargin', '0.707cm')
|
||||||
|
Set('topMargin', '0.708cm')
|
||||||
|
Set('bottomMargin', '0.494cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', '\\textit{\\omega}')
|
||||||
|
Set('min', 'Auto')
|
||||||
|
Set('max', 'Auto')
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', 'Amplitude')
|
||||||
|
Set('min', 10.0)
|
||||||
|
Set('max', 20.17)
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'OMEGA_ALPHA1')
|
||||||
|
Set('yData', 'AMPLITUDE_ALPHA1')
|
||||||
|
Set('key', '\\textit{x(t)}')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('page', name='p2-2-omega-A-alpha3-rough', autoadd=False)
|
||||||
|
To('p2-2-omega-A-alpha3-rough')
|
||||||
|
Set('width', '14.174cm')
|
||||||
|
Set('height', '14.28cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.261cm')
|
||||||
|
Set('rightMargin', '0.707cm')
|
||||||
|
Set('topMargin', '0.708cm')
|
||||||
|
Set('bottomMargin', '0.494cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', '\\textit{\\omega}')
|
||||||
|
Set('min', 'Auto')
|
||||||
|
Set('max', 'Auto')
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', 'Amplitude')
|
||||||
|
Set('min', 'Auto')
|
||||||
|
Set('max', 'Auto')
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'OMEGA_ALPHA3_rough')
|
||||||
|
Set('yData', 'AMPLITUDE_ALPHA3_rough')
|
||||||
|
Set('key', '\\textit{x(t)}')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
Add('page', name='p2-2-omega-A-alpha3-fine', autoadd=False)
|
||||||
|
To('p2-2-omega-A-alpha3-fine')
|
||||||
|
Set('width', '14.174cm')
|
||||||
|
Set('height', '14.28cm')
|
||||||
|
Add('grid', name='grid1', autoadd=False)
|
||||||
|
To('grid1')
|
||||||
|
Set('leftMargin', '0.261cm')
|
||||||
|
Set('rightMargin', '0.707cm')
|
||||||
|
Set('topMargin', '0.708cm')
|
||||||
|
Set('bottomMargin', '0.494cm')
|
||||||
|
Add('graph', name='graph1', autoadd=False)
|
||||||
|
To('graph1')
|
||||||
|
Add('axis', name='x', autoadd=False)
|
||||||
|
To('x')
|
||||||
|
Set('label', '\\textit{\\omega}')
|
||||||
|
Set('min', 'Auto')
|
||||||
|
Set('max', 'Auto')
|
||||||
|
To('..')
|
||||||
|
Add('axis', name='y', autoadd=False)
|
||||||
|
To('y')
|
||||||
|
Set('label', 'Amplitude')
|
||||||
|
Set('min', 2.5)
|
||||||
|
Set('max', 5.14)
|
||||||
|
Set('direction', 'vertical')
|
||||||
|
To('..')
|
||||||
|
Add('xy', name='xy1', autoadd=False)
|
||||||
|
To('xy1')
|
||||||
|
Set('marker', 'none')
|
||||||
|
Set('xData', 'OMEGA_ALPHA3_fine')
|
||||||
|
Set('yData', 'AMPLITUDE_ALPHA3_fine')
|
||||||
|
Set('key', '\\textit{x(t)}')
|
||||||
|
Set('PlotLine/width', '1.5pt')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
||||||
|
To('..')
|
BIN
computer-hw2-2/computer-hw2-2/computer-hw2-2.u2d
Normal file
BIN
computer-hw2-2/computer-hw2-2/computer-hw2-2.u2d
Normal file
Binary file not shown.
34
computer-hw2-2/computer-hw2-2/computer-hw2-2.vfproj
Normal file
34
computer-hw2-2/computer-hw2-2/computer-hw2-2.vfproj
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<VisualStudioProject ProjectCreator="Intel Fortran" Keyword="Console Application" Version="11.0" ProjectIdGuid="{D0785D61-C7AE-4628-95B8-6810AFCC8157}">
|
||||||
|
<Platforms>
|
||||||
|
<Platform Name="Win32"/></Platforms>
|
||||||
|
<Configurations>
|
||||||
|
<Configuration Name="Debug|Win32">
|
||||||
|
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" WarnInterfaces="true" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebug"/>
|
||||||
|
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" GenerateDebugInformation="true" SubSystem="subSystemConsole"/>
|
||||||
|
<Tool Name="VFResourceCompilerTool"/>
|
||||||
|
<Tool Name="VFMidlTool" SuppressStartupBanner="true"/>
|
||||||
|
<Tool Name="VFCustomBuildTool"/>
|
||||||
|
<Tool Name="VFPreLinkEventTool"/>
|
||||||
|
<Tool Name="VFPreBuildEventTool"/>
|
||||||
|
<Tool Name="VFPostBuildEventTool"/>
|
||||||
|
<Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration>
|
||||||
|
<Configuration Name="Release|Win32">
|
||||||
|
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true"/>
|
||||||
|
<Tool Name="VFLinkerTool" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" SubSystem="subSystemConsole"/>
|
||||||
|
<Tool Name="VFResourceCompilerTool"/>
|
||||||
|
<Tool Name="VFMidlTool" SuppressStartupBanner="true"/>
|
||||||
|
<Tool Name="VFCustomBuildTool"/>
|
||||||
|
<Tool Name="VFPreLinkEventTool"/>
|
||||||
|
<Tool Name="VFPreBuildEventTool"/>
|
||||||
|
<Tool Name="VFPostBuildEventTool"/>
|
||||||
|
<Tool Name="VFManifestTool" SuppressStartupBanner="true"/></Configuration></Configurations>
|
||||||
|
<Files>
|
||||||
|
<Filter Name="Header Files" Filter="fi;fd"/>
|
||||||
|
<Filter Name="Resource Files" Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"/>
|
||||||
|
<Filter Name="Source Files" Filter="f90;for;f;fpp;ftn;def;odl;idl">
|
||||||
|
<File RelativePath=".\INPUT.dat"/>
|
||||||
|
<File RelativePath=".\main.f90"/>
|
||||||
|
<File RelativePath=".\my_methods.f90"/>
|
||||||
|
<File RelativePath=".\my_parameters.f90"/></Filter></Files>
|
||||||
|
<Globals/></VisualStudioProject>
|
155656
computer-hw2-2/computer-hw2-2/data_problem_22.dat
Normal file
155656
computer-hw2-2/computer-hw2-2/data_problem_22.dat
Normal file
File diff suppressed because it is too large
Load Diff
154085
computer-hw2-2/computer-hw2-2/data_problem_22_withForce-alpha3.dat
Normal file
154085
computer-hw2-2/computer-hw2-2/data_problem_22_withForce-alpha3.dat
Normal file
File diff suppressed because it is too large
Load Diff
155511
computer-hw2-2/computer-hw2-2/data_problem_22_withForce.dat
Normal file
155511
computer-hw2-2/computer-hw2-2/data_problem_22_withForce.dat
Normal file
File diff suppressed because it is too large
Load Diff
9
computer-hw2-2/computer-hw2-2/main.f90
Normal file
9
computer-hw2-2/computer-hw2-2/main.f90
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
PROGRAM MAIN
|
||||||
|
USE MY_METHODS
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
CALL GET_PROBLEM_22_WITH_FORCE
|
||||||
|
|
||||||
|
PRINT*, "-----"
|
||||||
|
|
||||||
|
END PROGRAM
|
376
computer-hw2-2/computer-hw2-2/my_methods.f90
Normal file
376
computer-hw2-2/computer-hw2-2/my_methods.f90
Normal file
@ -0,0 +1,376 @@
|
|||||||
|
MODULE MY_METHODS
|
||||||
|
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
CONTAINS
|
||||||
|
|
||||||
|
!4th RUNGE-KUTTA Method
|
||||||
|
SUBROUTINE RUNGE(NEQ,X,Y,H)
|
||||||
|
INTEGER :: NEQ, I
|
||||||
|
REAL*8 :: X, H
|
||||||
|
REAL*8 :: Y(NEQ),DELTAY1(NEQ),DELTAY2(NEQ),DELTAY3(NEQ),&
|
||||||
|
DELTAY4(NEQ),Z(NEQ)
|
||||||
|
|
||||||
|
!FIRST STEP
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Z(I) = Y(I)
|
||||||
|
END DO
|
||||||
|
CALL FUNC_RK(NEQ,X,Z,DELTAY1,H)
|
||||||
|
|
||||||
|
!SECOND STEP
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Z(I) = Y(I) + DELTAY1(I) / 2.
|
||||||
|
END DO
|
||||||
|
X = X + H / 2.
|
||||||
|
CALL FUNC_RK(NEQ,X,Z,DELTAY2,H)
|
||||||
|
|
||||||
|
!THIRD STEP
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Z(I) = Y(I) + DELTAY2(I) / 2.
|
||||||
|
END DO
|
||||||
|
CALL FUNC_RK(NEQ,X,Z,DELTAY3,H)
|
||||||
|
|
||||||
|
!FOURTH STEP
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Z(I) = Y(I) + DELTAY3(I)
|
||||||
|
END DO
|
||||||
|
X = X + H / 2.
|
||||||
|
CALL FUNC_RK(NEQ,X,Z,DELTAY4,H)
|
||||||
|
|
||||||
|
!SUMMARY
|
||||||
|
DO I = 1, NEQ
|
||||||
|
Y(I) = Y(I) + (DELTAY1(I) + 2D0*DELTAY2(I) + 2D0*DELTAY3(I) + &
|
||||||
|
DELTAY4(I)) / 6D0
|
||||||
|
END DO
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
END SUBROUTINE RUNGE
|
||||||
|
|
||||||
|
SUBROUTINE FUNC_RK(NEQ,X,Y,DELTAY,H)
|
||||||
|
|
||||||
|
USE MY_PARAMETERS, ONLY: OMEGA_0,ALPHA,GAMMA &
|
||||||
|
,H_FORCE,OMEGA
|
||||||
|
|
||||||
|
INTEGER :: NEQ
|
||||||
|
REAL*8 :: X, H
|
||||||
|
REAL*8 :: Y(NEQ),DELTAY(NEQ)
|
||||||
|
|
||||||
|
DELTAY(1) = (Y(2)) * H
|
||||||
|
! WITHOUT FORCE:
|
||||||
|
! -OMEGA_0**2 * Y(1)**ALPHA - GAMMA*Y(2)
|
||||||
|
! WIHT FORCE:
|
||||||
|
! -OMEGA_0**2 * Y(1)**ALPHA - GAMMA*Y(2) + H_FORCE*DCOS(OMEGA*X)
|
||||||
|
DELTAY(2) = (-OMEGA_0**2 * Y(1)**ALPHA - GAMMA*Y(2) &
|
||||||
|
+ H_FORCE*DCOS(OMEGA*X) &
|
||||||
|
) * H
|
||||||
|
|
||||||
|
END SUBROUTINE
|
||||||
|
|
||||||
|
SUBROUTINE GET_INPUT
|
||||||
|
USE MY_PARAMETERS
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
CHARACTER (77) :: BUF
|
||||||
|
LOGICAL exist
|
||||||
|
|
||||||
|
INQUIRE(FILE="INPUT.dat", EXIST=exist)
|
||||||
|
OPEN(9, FILE="INPUT.dat")
|
||||||
|
IF(exist) THEN
|
||||||
|
READ (9, '(A77)') buf !--# Initial conditions --
|
||||||
|
READ (9, '(A77)') buf !--dddddd.ddd- INITIAL X ----
|
||||||
|
READ (9, '(2x,f10.3)') X0
|
||||||
|
READ (9, '(A77)') buf !--dddddd.ddd- INITIAL VX ----
|
||||||
|
READ (9, '(2x,f10.3)') VX0
|
||||||
|
|
||||||
|
READ (9, '(A77)') buf !--# Other settings --
|
||||||
|
READ (9, '(A77)') buf !--#d.dddE#dd-- DT(TIME STEP) ----
|
||||||
|
READ (9, '(2x,e10.3)') DT
|
||||||
|
READ (9, '(A77)') buf !--dddddd.ddd- ALPHA ----
|
||||||
|
READ (9, '(2x,f10.3)') ALPHA
|
||||||
|
READ (9, '(A77)') buf !--dddddd.ddd- GAMMA ----
|
||||||
|
READ (9, '(2x,f10.3)') GAMMA
|
||||||
|
READ (9, '(A77)') buf !--dddddd.ddd- H (FORCE) ----
|
||||||
|
READ (9, '(2x,f10.3)') H_FORCE
|
||||||
|
READ (9, '(A77)') buf !--dddddd.ddd- OMEGA (FORCE) ----
|
||||||
|
READ (9, '(2x,f10.3)') OMEGA
|
||||||
|
ELSE
|
||||||
|
PRINT*, "Input file NOT FOUND! Defaulted values used."
|
||||||
|
! # Initial conditions ---
|
||||||
|
X0 = 0D0
|
||||||
|
VX0 = 1D0
|
||||||
|
|
||||||
|
! # Other settings ---
|
||||||
|
DT = 1D-3
|
||||||
|
ALPHA = 1D0
|
||||||
|
GAMMA = 1D-1
|
||||||
|
H_FORCE = 1D0
|
||||||
|
OMEGA = 1D0
|
||||||
|
|
||||||
|
END IF
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
END SUBROUTINE
|
||||||
|
|
||||||
|
SUBROUTINE GET_PROBLEM_22
|
||||||
|
USE MY_PARAMETERS
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
REAL*8 :: TIME, Y(2)
|
||||||
|
INTEGER :: NEQ
|
||||||
|
|
||||||
|
! to calculate the period
|
||||||
|
INTEGER, PARAMETER :: MAX_PERIODS = 50
|
||||||
|
REAL*8 :: TIME_OLD, VX_OLD
|
||||||
|
REAL*8 :: PERIOD(MAX_PERIODS), LOOP(MAX_PERIODS-1)
|
||||||
|
INTEGER :: INDEX_PERIOD, I
|
||||||
|
|
||||||
|
REAL*8 :: PERIOD_AVERAGE
|
||||||
|
|
||||||
|
! to calculate the amplitude
|
||||||
|
REAL*8 :: X_MAX, X_MIN, AMPLITUDE
|
||||||
|
|
||||||
|
|
||||||
|
NEQ = 2
|
||||||
|
|
||||||
|
CALL GET_INPUT
|
||||||
|
|
||||||
|
Y(1) = X0
|
||||||
|
Y(2) = VX0
|
||||||
|
TIME = 0D0
|
||||||
|
INDEX_PERIOD = 0
|
||||||
|
|
||||||
|
OPEN(UNIT=91, FILE="data_problem_22.dat")
|
||||||
|
WRITE(91, 100) "descriptor","time","x","vx"
|
||||||
|
WRITE(91,200) " ",TIME,Y(1),Y(2)
|
||||||
|
|
||||||
|
DO WHILE ((INDEX_PERIOD .LT. MAX_PERIODS) .AND. TIME < 1000)
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
VX_OLD = Y(2)
|
||||||
|
TIME_OLD = TIME
|
||||||
|
|
||||||
|
CALL RUNGE(NEQ,TIME,Y,DT)
|
||||||
|
|
||||||
|
WRITE(91,200) " ",TIME,Y(1),Y(2)
|
||||||
|
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
IF (Y(2)*VX_OLD .LT. 0) THEN
|
||||||
|
INDEX_PERIOD = INDEX_PERIOD + 1
|
||||||
|
! to get the time when the speed get zero
|
||||||
|
PERIOD(INDEX_PERIOD) = TIME_OLD - &
|
||||||
|
VX_OLD * (TIME - TIME_OLD)/(Y(2)-VX_OLD)
|
||||||
|
IF (INDEX_PERIOD .GT. 1) THEN
|
||||||
|
LOOP(INDEX_PERIOD - 1) = PERIOD(INDEX_PERIOD) - &
|
||||||
|
PERIOD(INDEX_PERIOD - 1)
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
|
END DO
|
||||||
|
|
||||||
|
CLOSE(91)
|
||||||
|
|
||||||
|
PERIOD_AVERAGE = SUM(LOOP) / SIZE(LOOP)
|
||||||
|
|
||||||
|
PRINT*, PERIOD_AVERAGE
|
||||||
|
|
||||||
|
! change vx0, and see the change of the period
|
||||||
|
OPEN(UNIT=92, FILE="AMPLITUDE-PERIOD_22-2.dat")
|
||||||
|
WRITE(92,100) "descriptor","vx","AMPLITUDE","PERIOD"
|
||||||
|
|
||||||
|
DO I=1,100
|
||||||
|
Y(1) = X0
|
||||||
|
Y(2) = VX0+I/1D1
|
||||||
|
TIME = 0D0
|
||||||
|
INDEX_PERIOD = 0
|
||||||
|
X_MAX = X0
|
||||||
|
X_MIN = X0
|
||||||
|
|
||||||
|
|
||||||
|
DO WHILE ((INDEX_PERIOD .LT. MAX_PERIODS) .AND. TIME < 1000)
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
VX_OLD = Y(2)
|
||||||
|
TIME_OLD = TIME
|
||||||
|
|
||||||
|
! TO CALCULATE AMPLITUDE
|
||||||
|
IF (Y(1) .GT. X_MAX) THEN
|
||||||
|
X_MAX = Y(1)
|
||||||
|
END IF
|
||||||
|
IF (Y(1) .LT. X_MIN) THEN
|
||||||
|
X_MIN = Y(1)
|
||||||
|
END IF
|
||||||
|
|
||||||
|
|
||||||
|
CALL RUNGE(NEQ,TIME,Y,DT)
|
||||||
|
|
||||||
|
WRITE(91,200) " ",TIME,Y(1),Y(2)
|
||||||
|
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
IF (Y(2)*VX_OLD .LT. 0) THEN
|
||||||
|
INDEX_PERIOD = INDEX_PERIOD + 1
|
||||||
|
! to get the time when the speed gets zero
|
||||||
|
PERIOD(INDEX_PERIOD) = TIME_OLD - &
|
||||||
|
VX_OLD * (TIME - TIME_OLD)/(Y(2)-VX_OLD)
|
||||||
|
IF (INDEX_PERIOD .GT. 1) THEN
|
||||||
|
LOOP(INDEX_PERIOD - 1) = PERIOD(INDEX_PERIOD) - &
|
||||||
|
PERIOD(INDEX_PERIOD - 1)
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
|
END DO
|
||||||
|
|
||||||
|
|
||||||
|
PERIOD_AVERAGE = SUM(LOOP) / SIZE(LOOP)
|
||||||
|
|
||||||
|
AMPLITUDE = X_MAX - X_MIN
|
||||||
|
|
||||||
|
WRITE(*,'("A = ",F12.6, ", T = ",F12.6)') &
|
||||||
|
AMPLITUDE, PERIOD_AVERAGE
|
||||||
|
|
||||||
|
WRITE(92,200) " ",VX0+I/1D1,AMPLITUDE,PERIOD_AVERAGE
|
||||||
|
END DO
|
||||||
|
|
||||||
|
CLOSE(92)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
! FORMATS
|
||||||
|
100 FORMAT(4(A12,2x))
|
||||||
|
200 FORMAT(A12, 2x, 3(F12.6,2x))
|
||||||
|
END SUBROUTINE
|
||||||
|
|
||||||
|
SUBROUTINE GET_PROBLEM_22_WITH_FORCE
|
||||||
|
USE MY_PARAMETERS
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
REAL*8 :: TIME, Y(2)
|
||||||
|
INTEGER :: NEQ
|
||||||
|
|
||||||
|
! to calculate the period
|
||||||
|
INTEGER, PARAMETER :: MAX_PERIODS = 50
|
||||||
|
REAL*8 :: TIME_OLD, VX_OLD
|
||||||
|
REAL*8 :: PERIOD(MAX_PERIODS), LOOP(MAX_PERIODS-1)
|
||||||
|
INTEGER :: INDEX_PERIOD, I
|
||||||
|
|
||||||
|
REAL*8 :: PERIOD_AVERAGE
|
||||||
|
|
||||||
|
! to calculate the amplitude
|
||||||
|
REAL*8 :: X_MAX, X_MIN, AMPLITUDE
|
||||||
|
|
||||||
|
|
||||||
|
NEQ = 2
|
||||||
|
|
||||||
|
CALL GET_INPUT
|
||||||
|
|
||||||
|
Y(1) = X0
|
||||||
|
Y(2) = VX0
|
||||||
|
TIME = 0D0
|
||||||
|
INDEX_PERIOD = 0
|
||||||
|
|
||||||
|
OPEN(UNIT=91, FILE="data_problem_22_withForce-alpha3.dat")
|
||||||
|
WRITE(91,100) "descriptor","time","x","vx"
|
||||||
|
WRITE(91,200) " ",TIME,Y(1),Y(2)
|
||||||
|
|
||||||
|
DO WHILE ((INDEX_PERIOD .LT. MAX_PERIODS) .AND. TIME < 1000)
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
VX_OLD = Y(2)
|
||||||
|
TIME_OLD = TIME
|
||||||
|
|
||||||
|
CALL RUNGE(NEQ,TIME,Y,DT)
|
||||||
|
|
||||||
|
WRITE(91,200) " ",TIME,Y(1),Y(2)
|
||||||
|
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
IF (Y(2)*VX_OLD .LT. 0) THEN
|
||||||
|
INDEX_PERIOD = INDEX_PERIOD + 1
|
||||||
|
! to get the time when the speed get zero
|
||||||
|
PERIOD(INDEX_PERIOD) = TIME_OLD - &
|
||||||
|
VX_OLD * (TIME - TIME_OLD)/(Y(2)-VX_OLD)
|
||||||
|
IF (INDEX_PERIOD .GT. 1) THEN
|
||||||
|
LOOP(INDEX_PERIOD - 1) = PERIOD(INDEX_PERIOD) - &
|
||||||
|
PERIOD(INDEX_PERIOD - 1)
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
|
END DO
|
||||||
|
|
||||||
|
CLOSE(91)
|
||||||
|
|
||||||
|
PERIOD_AVERAGE = SUM(LOOP) / SIZE(LOOP)
|
||||||
|
|
||||||
|
PRINT*, PERIOD_AVERAGE
|
||||||
|
|
||||||
|
! change OMEGA, and see the change of the AMPLITUDE
|
||||||
|
! rough scan
|
||||||
|
! fine scan
|
||||||
|
OPEN(UNIT=92, FILE="OMEGA-AMPLITUDE_22-2_withForce-alpha3-fine.dat")
|
||||||
|
WRITE(92,101) "descriptor","OMEGA","AMPLITUDE"
|
||||||
|
|
||||||
|
DO I=1,150
|
||||||
|
Y(1) = X0
|
||||||
|
Y(2) = VX0
|
||||||
|
OMEGA = 5D-1 + I/1D2
|
||||||
|
TIME = 0D0
|
||||||
|
INDEX_PERIOD = 0
|
||||||
|
X_MAX = X0
|
||||||
|
X_MIN = X0
|
||||||
|
|
||||||
|
|
||||||
|
DO WHILE ((INDEX_PERIOD .LT. MAX_PERIODS) .AND. TIME < 1000)
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
VX_OLD = Y(2)
|
||||||
|
TIME_OLD = TIME
|
||||||
|
|
||||||
|
! TO CALCULATE AMPLITUDE
|
||||||
|
IF (Y(1) .GT. X_MAX) THEN
|
||||||
|
X_MAX = Y(1)
|
||||||
|
END IF
|
||||||
|
IF (Y(1) .LT. X_MIN) THEN
|
||||||
|
X_MIN = Y(1)
|
||||||
|
END IF
|
||||||
|
|
||||||
|
|
||||||
|
CALL RUNGE(NEQ,TIME,Y,DT)
|
||||||
|
|
||||||
|
WRITE(91,200) " ",TIME,Y(1),Y(2)
|
||||||
|
|
||||||
|
! TO CALCULATE PERIOD
|
||||||
|
IF (Y(2)*VX_OLD .LT. 0) THEN
|
||||||
|
INDEX_PERIOD = INDEX_PERIOD + 1
|
||||||
|
!! to get the time when the speed gets zero
|
||||||
|
!PERIOD(INDEX_PERIOD) = TIME_OLD - &
|
||||||
|
! VX_OLD * (TIME - TIME_OLD)/(Y(2)-VX_OLD)
|
||||||
|
!IF (INDEX_PERIOD .GT. 1) THEN
|
||||||
|
! LOOP(INDEX_PERIOD - 1) = PERIOD(INDEX_PERIOD) - &
|
||||||
|
! PERIOD(INDEX_PERIOD - 1)
|
||||||
|
!END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
|
END DO
|
||||||
|
|
||||||
|
|
||||||
|
!PERIOD_AVERAGE = SUM(LOOP) / SIZE(LOOP)
|
||||||
|
|
||||||
|
AMPLITUDE = X_MAX - X_MIN
|
||||||
|
|
||||||
|
WRITE(*,'("OMEGA = ",F12.6, ", AMPLITUDE = ",F12.6)') &
|
||||||
|
OMEGA,AMPLITUDE
|
||||||
|
|
||||||
|
WRITE(92,201) " ",OMEGA,AMPLITUDE
|
||||||
|
END DO
|
||||||
|
|
||||||
|
CLOSE(92)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
! FORMATS
|
||||||
|
100 FORMAT(4(A12,2x))
|
||||||
|
200 FORMAT(A12, 2x, 3(F12.6,2x))
|
||||||
|
101 FORMAT(3(A12,2x))
|
||||||
|
201 FORMAT(A12, 2x, 2(F12.6,2x))
|
||||||
|
END SUBROUTINE
|
||||||
|
|
||||||
|
END MODULE
|
19
computer-hw2-2/computer-hw2-2/my_parameters.f90
Normal file
19
computer-hw2-2/computer-hw2-2/my_parameters.f90
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
MODULE MY_PARAMETERS
|
||||||
|
|
||||||
|
IMPLICIT NONE
|
||||||
|
|
||||||
|
REAL*8, PARAMETER :: OMEGA_0 = 1D0
|
||||||
|
|
||||||
|
REAL*8 :: X0,VX0
|
||||||
|
REAL*8 :: DT
|
||||||
|
|
||||||
|
REAL*8 :: ALPHA
|
||||||
|
|
||||||
|
REAL*8 :: GAMMA
|
||||||
|
! THE DAMPING FACTOR
|
||||||
|
|
||||||
|
REAL*8 :: OMEGA, H_FORCE
|
||||||
|
! THE FORCE, H_FORCE MEANS H/m
|
||||||
|
|
||||||
|
|
||||||
|
END MODULE
|
BIN
computer-hw2-2/computer-hw2-2/p2-2-omega-A-alpha3-fine.pdf
Normal file
BIN
computer-hw2-2/computer-hw2-2/p2-2-omega-A-alpha3-fine.pdf
Normal file
Binary file not shown.
BIN
computer-hw2-2/computer-hw2-2/p2-2-omega-A-alpha3-rough.pdf
Normal file
BIN
computer-hw2-2/computer-hw2-2/p2-2-omega-A-alpha3-rough.pdf
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user