Compare commits

...

16 Commits

Author SHA1 Message Date
54bc6d8403 Add inkscape directory 2025-04-18 17:49:05 +02:00
1f82647b2d Tangle Matlab files without comments 2025-03-28 16:44:38 +01:00
80a99f9d22 Change APA force notation from "tau" to "f" 2025-02-12 09:53:45 +01:00
f40c33d702 Correct footnote 2025-02-04 15:26:58 +01:00
001b064240 Rename footnotes 2025-02-04 14:23:26 +01:00
61850dad99 Simscape => multi-body model 2024-11-18 11:46:34 +01:00
ccbc7ff363 Correct latex preamble 2024-10-29 12:37:11 +01:00
439845d529 Correct wrong reference to figure 2024-10-29 09:48:07 +01:00
bb16921b59 Change two damping values 2024-10-26 12:10:54 +02:00
5a8997d155 Correct typo 2024-10-26 10:46:47 +02:00
e4d39e63ec Grammar check 2024-04-30 17:25:33 +02:00
49609fc810 Christophe's reviews 2024-04-30 16:38:27 +02:00
07eaeefa9b Finish first report version 2024-04-04 11:16:22 +02:00
7bb02c89c2 Change biber configuration 2024-04-03 18:17:01 +02:00
5b0a4001bb Update report 2024-04-03 18:16:54 +02:00
e24e43416f Update IFF plant 2024-04-02 09:35:44 +02:00
61 changed files with 4317 additions and 4396 deletions

18
figs/inkscape/convert_svg.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Directory containing SVG files
INPUT_DIR="."
# Loop through all SVG files in the directory
for svg_file in "$INPUT_DIR"/*.svg; do
# Check if there are SVG files in the directory
if [ -f "$svg_file" ]; then
# Output PDF file name
pdf_file="../${svg_file%.svg}.pdf"
png_file="../${svg_file%.svg}"
# Convert SVG to PDF using Inkscape
inkscape "$svg_file" --export-filename="$pdf_file" && \
pdftocairo -png -singlefile -cropbox "$pdf_file" "$png_file"
fi
done

View File

@@ -6,7 +6,7 @@
version="1.1"
id="svg3816"
sodipodi:docname="test_apa_2dof_model.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
@@ -23,16 +23,16 @@
inkscape:pageshadow="2"
inkscape:zoom="5.6"
inkscape:cx="125.71429"
inkscape:cy="98.125"
inkscape:cy="98.214286"
inkscape:document-units="mm"
inkscape:current-layer="layer5"
inkscape:current-layer="layer6"
inkscape:document-rotation="0"
showgrid="false"
inkscape:snap-midpoints="true"
inkscape:window-width="2534"
inkscape:window-height="1367"
inkscape:window-x="11"
inkscape:window-y="60"
inkscape:window-width="2560"
inkscape:window-height="1440"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
@@ -412,6 +412,15 @@
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path6140-7" />
</marker>
<g
id="g8810">
<g
id="g1074">
<path
d="m 3.65625,-3.984375 h 0.859375 c 0.203125,0 0.296875,0 0.296875,-0.203125 0,-0.109375 -0.09375,-0.109375 -0.265625,-0.109375 H 3.71875 L 3.921875,-5.4375 c 0.046875,-0.203125 0.1875,-0.90625 0.25,-1.03125 0.078125,-0.1875 0.25,-0.34375 0.46875,-0.34375 0.03125,0 0.296875,0 0.484375,0.1875 -0.4375,0.03125 -0.546875,0.390625 -0.546875,0.53125 0,0.234375 0.1875,0.359375 0.375,0.359375 C 5.21875,-5.734375 5.5,-5.96875 5.5,-6.34375 c 0,-0.453125 -0.453125,-0.6875 -0.859375,-0.6875 -0.34375,0 -0.96875,0.1875 -1.265625,1.171875 -0.0625,0.203125 -0.09375,0.3125 -0.328125,1.5625 h -0.6875 c -0.203125,0 -0.3125,0 -0.3125,0.1875 0,0.125 0.09375,0.125 0.28125,0.125 h 0.65625 L 2.25,-0.046875 c -0.1875,0.96875 -0.359375,1.875 -0.875,1.875 -0.046875,0 -0.28125,0 -0.484375,-0.1875 C 1.359375,1.609375 1.453125,1.25 1.453125,1.109375 1.453125,0.875 1.265625,0.75 1.078125,0.75 0.8125,0.75 0.53125,0.984375 0.53125,1.359375 c 0,0.4375 0.4375,0.6875 0.84375,0.6875 0.546875,0 0.953125,-0.59375 1.125,-0.96875 0.328125,-0.625 0.546875,-1.828125 0.5625,-1.90625 z m 0,0"
id="path8091" />
</g>
</g>
</defs>
<metadata
id="metadata3813">
@@ -723,7 +732,7 @@
width="38.718697"
height="16.183527"
x="15.21064"
y="19.260626"
y="19.35512"
rx="0.076119758"
ry="0.076119766" />
<text
@@ -951,24 +960,6 @@
</g>
</g>
</g>
<g
inkscape:label=""
transform="translate(36.551226,24.635454)"
id="g35">
<g
fill="#000000"
fill-opacity="1"
id="g34"
transform="matrix(0.352778,0,0,0.352778,-78.4308,-3.97995)">
<g
id="use1"
transform="translate(222.011,16.438)">
<path
d="m 3.4375,-4.5 h 1.984375 c 0.140625,0 0.546875,0 0.546875,-0.390625 0,-0.265625 -0.234375,-0.265625 -0.453125,-0.265625 h -3.28125 c -0.28125,0 -0.6875,0 -1.234375,0.59375 -0.3125,0.34375 -0.6875,0.984375 -0.6875,1.046875 0,0.078125 0.0625,0.09375 0.125,0.09375 0.09375,0 0.09375,-0.03125 0.15625,-0.109375 C 1.21875,-4.5 1.84375,-4.5 2.140625,-4.5 H 3.125 l -1.234375,4.09375 c -0.0625,0.171875 -0.0625,0.203125 -0.0625,0.234375 0,0.140625 0.078125,0.296875 0.328125,0.296875 0.359375,0 0.421875,-0.3125 0.46875,-0.5 z m 0,0"
id="path2" />
</g>
</g>
</g>
<g
inkscape:label=""
transform="translate(55.142421,23.297371)"
@@ -1062,5 +1053,23 @@
</g>
</g>
</g>
<g
inkscape:label=""
transform="translate(36.348066,23.363614)"
id="g5">
<g
fill="#000000"
fill-opacity="1"
id="g2-1"
transform="matrix(0.352778,0,0,0.352778,-65.4658,-2.43972)">
<g
id="use1-1"
transform="translate(185.041,13.947)">
<path
d="m 3.65625,-3.984375 h 0.859375 c 0.203125,0 0.296875,0 0.296875,-0.203125 0,-0.109375 -0.09375,-0.109375 -0.265625,-0.109375 H 3.71875 L 3.921875,-5.4375 c 0.046875,-0.203125 0.1875,-0.90625 0.25,-1.03125 0.078125,-0.1875 0.25,-0.34375 0.46875,-0.34375 0.03125,0 0.296875,0 0.484375,0.1875 -0.4375,0.03125 -0.546875,0.390625 -0.546875,0.53125 0,0.234375 0.1875,0.359375 0.375,0.359375 C 5.21875,-5.734375 5.5,-5.96875 5.5,-6.34375 c 0,-0.453125 -0.453125,-0.6875 -0.859375,-0.6875 -0.34375,0 -0.96875,0.1875 -1.265625,1.171875 -0.0625,0.203125 -0.09375,0.3125 -0.328125,1.5625 h -0.6875 c -0.203125,0 -0.3125,0 -0.3125,0.1875 0,0.125 0.09375,0.125 0.28125,0.125 h 0.65625 L 2.25,-0.046875 c -0.1875,0.96875 -0.359375,1.875 -0.875,1.875 -0.046875,0 -0.28125,0 -0.484375,-0.1875 C 1.359375,1.609375 1.453125,1.25 1.453125,1.109375 1.453125,0.875 1.265625,0.75 1.078125,0.75 0.8125,0.75 0.53125,0.984375 0.53125,1.359375 c 0,0.4375 0.4375,0.6875 0.84375,0.6875 0.546875,0 0.953125,-0.59375 1.125,-0.96875 0.328125,-0.625 0.546875,-1.828125 0.5625,-1.90625 z m 0,0"
id="path2-1" />
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -6,7 +6,7 @@
version="1.1"
id="svg3816"
sodipodi:docname="test_apa_2dof_model_simscape.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
@@ -21,18 +21,18 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="188.92857"
inkscape:cy="134.82143"
inkscape:zoom="3.959798"
inkscape:cx="164.65486"
inkscape:cy="132.07745"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:current-layer="layer5"
inkscape:document-rotation="0"
showgrid="false"
inkscape:snap-midpoints="true"
inkscape:window-width="2534"
inkscape:window-height="1367"
inkscape:window-x="11"
inkscape:window-y="60"
inkscape:window-width="2560"
inkscape:window-height="1440"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
@@ -454,6 +454,15 @@
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path6140-2" />
</marker>
<g
id="g1793">
<g
id="g362">
<path
d="m 3.65625,-3.984375 h 0.859375 c 0.203125,0 0.296875,0 0.296875,-0.203125 0,-0.109375 -0.09375,-0.109375 -0.265625,-0.109375 H 3.71875 L 3.921875,-5.4375 c 0.046875,-0.203125 0.1875,-0.90625 0.25,-1.03125 0.078125,-0.1875 0.25,-0.34375 0.46875,-0.34375 0.03125,0 0.296875,0 0.484375,0.1875 -0.4375,0.03125 -0.546875,0.390625 -0.546875,0.53125 0,0.234375 0.1875,0.359375 0.375,0.359375 C 5.21875,-5.734375 5.5,-5.96875 5.5,-6.34375 c 0,-0.453125 -0.453125,-0.6875 -0.859375,-0.6875 -0.34375,0 -0.96875,0.1875 -1.265625,1.171875 -0.0625,0.203125 -0.09375,0.3125 -0.328125,1.5625 h -0.6875 c -0.203125,0 -0.3125,0 -0.3125,0.1875 0,0.125 0.09375,0.125 0.28125,0.125 h 0.65625 L 2.25,-0.046875 c -0.1875,0.96875 -0.359375,1.875 -0.875,1.875 -0.046875,0 -0.28125,0 -0.484375,-0.1875 C 1.359375,1.609375 1.453125,1.25 1.453125,1.109375 1.453125,0.875 1.265625,0.75 1.078125,0.75 0.8125,0.75 0.53125,0.984375 0.53125,1.359375 c 0,0.4375 0.4375,0.6875 0.84375,0.6875 0.546875,0 0.953125,-0.59375 1.125,-0.96875 0.328125,-0.625 0.546875,-1.828125 0.5625,-1.90625 z m 0,0"
id="path8413" />
</g>
</g>
</defs>
<metadata
id="metadata3813">
@@ -848,7 +857,7 @@
inkscape:groupmode="layer"
id="layer5"
inkscape:label="text"
transform="translate(15.517906,12.168219)">
transform="translate(15.5179, 12.1682)">
<g
inkscape:label=""
transform="translate(-2.1167635,17.133502)"
@@ -1035,24 +1044,6 @@
</g>
</g>
</g>
<g
inkscape:label=""
transform="translate(36.551226,24.635454)"
id="g35">
<g
fill="#000000"
fill-opacity="1"
id="g34"
transform="matrix(0.352778,0,0,0.352778,-78.4308,-3.97995)">
<g
id="g85"
transform="translate(222.011,16.438)">
<path
d="m 3.4375,-4.5 h 1.984375 c 0.140625,0 0.546875,0 0.546875,-0.390625 0,-0.265625 -0.234375,-0.265625 -0.453125,-0.265625 h -3.28125 c -0.28125,0 -0.6875,0 -1.234375,0.59375 -0.3125,0.34375 -0.6875,0.984375 -0.6875,1.046875 0,0.078125 0.0625,0.09375 0.125,0.09375 0.09375,0 0.09375,-0.03125 0.15625,-0.109375 C 1.21875,-4.5 1.84375,-4.5 2.140625,-4.5 H 3.125 l -1.234375,4.09375 c -0.0625,0.171875 -0.0625,0.203125 -0.0625,0.234375 0,0.140625 0.078125,0.296875 0.328125,0.296875 0.359375,0 0.421875,-0.3125 0.46875,-0.5 z m 0,0"
id="path84" />
</g>
</g>
</g>
<g
inkscape:label=""
transform="translate(55.142421,23.297371)"
@@ -1115,5 +1106,23 @@
</g>
</g>
</g>
<g
inkscape:label=""
transform="translate(36.449303,23.245)"
id="g5">
<g
fill="#000000"
fill-opacity="1"
id="g2-1"
transform="matrix(0.352778,0,0,0.352778,-65.4658,-2.43972)">
<g
id="use1-1"
transform="translate(185.041,13.947)">
<path
d="m 3.65625,-3.984375 h 0.859375 c 0.203125,0 0.296875,0 0.296875,-0.203125 0,-0.109375 -0.09375,-0.109375 -0.265625,-0.109375 H 3.71875 L 3.921875,-5.4375 c 0.046875,-0.203125 0.1875,-0.90625 0.25,-1.03125 0.078125,-0.1875 0.25,-0.34375 0.46875,-0.34375 0.03125,0 0.296875,0 0.484375,0.1875 -0.4375,0.03125 -0.546875,0.390625 -0.546875,0.53125 0,0.234375 0.1875,0.359375 0.375,0.359375 C 5.21875,-5.734375 5.5,-5.96875 5.5,-6.34375 c 0,-0.453125 -0.453125,-0.6875 -0.859375,-0.6875 -0.34375,0 -0.96875,0.1875 -1.265625,1.171875 -0.0625,0.203125 -0.09375,0.3125 -0.328125,1.5625 h -0.6875 c -0.203125,0 -0.3125,0 -0.3125,0.1875 0,0.125 0.09375,0.125 0.28125,0.125 h 0.65625 L 2.25,-0.046875 c -0.1875,0.96875 -0.359375,1.875 -0.875,1.875 -0.046875,0 -0.28125,0 -0.484375,-0.1875 C 1.359375,1.609375 1.453125,1.25 1.453125,1.109375 1.453125,0.875 1.265625,0.75 1.078125,0.75 0.8125,0.75 0.53125,0.984375 0.53125,1.359375 c 0,0.4375 0.4375,0.6875 0.84375,0.6875 0.546875,0 0.953125,-0.59375 1.125,-0.96875 0.328125,-0.625 0.546875,-1.828125 0.5625,-1.90625 z m 0,0"
id="path2-1" />
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 80 KiB

View File

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 264 KiB

View File

Before

Width:  |  Height:  |  Size: 254 KiB

After

Width:  |  Height:  |  Size: 254 KiB

View File

Before

Width:  |  Height:  |  Size: 254 KiB

After

Width:  |  Height:  |  Size: 254 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 MiB

After

Width:  |  Height:  |  Size: 2.5 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 621 KiB

After

Width:  |  Height:  |  Size: 547 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

@@ -0,0 +1,36 @@
1.744402696391601562e+08,1.173046853524446487e+04,-1.969436961065530777e+05,2.501017098440788686e+02,-2.560579583892583847e+06,-1.899893907159566879e+02,1.752544851888548955e+07,-2.823264051224628929e+03,2.536675589742744341e+04,5.932569664288348577e+01,2.585690718283675960e+05,1.535942065353383441e+02,-9.579453944435191154e+07,-5.166229400217183866e+03,-1.450978033041961119e+07,8.502649080017397409e+01,-6.072457395437035011e+05,1.069146866389201023e+01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-9.617117871302969754e+07,-3.740975046028171619e+03,1.468135727062481828e+07,1.305061695147310274e+01,-6.086246289691759739e+05,-1.705391376733786757e+01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
1.173046853524446487e+04,3.380881940276336670e+07,-2.904061509445309639e+02,6.429955422680377960e+05,-1.805951826442033052e+02,-1.721230121768265963e+04,8.767926680533855688e+02,2.139992294824984856e+06,-1.334165130902401870e+02,-3.680227672435727436e+04,1.153694332698808012e+01,-1.200429118606130942e+03,-5.748325323460194340e+03,-1.828295581201418862e+07,-6.034463249195978278e+02,1.421803861242151761e+05,-3.139749116546579444e+01,-1.095427582235363661e+05,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-6.858935878766094902e+03,-1.766585588561022282e+07,1.027269122215824154e+03,1.383535108383237093e+05,-5.452573088538952106e+01,1.094424907674457354e+05,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-1.969436961065530777e+05,-2.904061509445309639e+02,7.180228948753356934e+06,-4.191198939457535744e+00,3.348216503895819187e+03,-5.723647825978696346e+01,-2.564568953003105707e+04,-2.251276071782485815e+02,-7.065558524079563795e+05,6.076555855249353044e+00,-3.930580146726879320e+02,4.587947019869559995e+00,-1.991787934829686582e+07,-5.235887496248033131e+02,-3.229564589008683339e+06,5.262529540712023390e+00,-1.208744926620664046e+05,1.424312293847378896e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,2.014046873393118009e+07,1.039122652330098390e+03,-3.244108507233656943e+06,-8.975687908473821253e+00,1.222793608300175110e+05,4.342871241200932708e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
2.501017098440788686e+02,6.429955422680377960e+05,-4.191198939457535744e+00,1.257837617977801710e+04,-3.860365137683402281e+00,-3.153544715064927004e+02,1.335800304787062487e+01,3.680604728527541738e+04,-2.599195946453221495e+00,-6.267107432629717323e+02,1.744027112364179288e-01,-2.084929454160896967e+01,-1.230212997972084850e+02,-3.455396809652444790e+05,-1.447027866731582435e+01,2.545374036461411833e+03,-7.290869690213988008e-01,-1.434654668054021613e+03,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-1.404384124149315767e+02,-3.342619085884379456e+05,2.126067515522382223e+01,2.476266453216099308e+03,-1.141845778900164809e+00,1.432525262796827292e+03,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-2.560579583892583847e+06,-1.805951826442033052e+02,3.348216503895819187e+03,-3.860365137683402281e+00,3.790471155559550971e+04,3.697536068793851882e+00,-2.585831415196759335e+05,4.159282586899098533e+01,-3.891622113227713271e+02,-8.741525898193742705e-01,-3.815129732011501801e+03,-2.254397219928608642e+00,1.406250232242587022e+06,9.437971849929999735e+01,2.063777277245984878e+05,-1.389856252396208802e+00,8.934224411231405611e+03,-1.940140841564073071e-01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.412912493169219932e+06,4.462263810720907031e+01,-2.093367820160742558e+05,-9.689028389860054880e-02,8.960659112550843929e+03,2.435876178151705207e-01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-1.899893907159566879e+02,-1.721230121768265963e+04,-5.723647825978696346e+01,-3.153544715064927004e+02,3.697536068793851882e+00,2.059473986569233239e+04,-3.453490463707362323e+01,-1.265841550565414764e+03,2.583577134001870945e-01,2.181001658191178194e+01,-5.047887470928991149e-01,1.853817766482919751e+02,2.465670512631395468e+02,3.345554343318864703e+05,2.476297489781632066e+01,-2.241609259264927459e+03,1.681638225351537841e+00,-5.883385698611023145e+02,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-2.204275533754648109e+01,-3.160772915639634593e+05,3.221514036837085371e+01,2.088652841762301705e+03,-2.980949524682580121e-01,-6.728012955789077978e+02,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
1.752544851888548955e+07,8.767926680533855688e+02,-2.564568953003105707e+04,1.335800304787062487e+01,-2.585831415196759335e+05,-3.453490463707362323e+01,1.741333286506042480e+08,-2.827626410622242838e+04,2.097095107223987579e+05,6.085684825120260939e+02,2.555920665538191795e+06,1.436628528188914061e+03,-9.560541327547924221e+07,3.414384224411527975e+04,1.447832450459527783e+07,2.620078190217518568e+02,6.057699273815253982e+05,-1.734505509271484698e+02,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-9.605336389409454167e+07,-6.744370821682321548e+03,-1.466238832584385946e+07,-6.764871118026709951e+01,6.076918246019518701e+05,-1.996680892124047091e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-2.823264051224628929e+03,2.139992294824984856e+06,-2.251276071782485815e+02,3.680604728527541738e+04,4.159282586899098533e+01,-1.265841550565414764e+03,-2.827626410622242838e+04,3.382764337400054932e+07,3.454605852067470551e+03,-6.434279082531034946e+05,-4.463350027288543060e+02,-1.681527257143333554e+04,2.545570466924470384e+04,-1.828134027596507594e+07,-3.347235020817402983e+03,-1.421411263422719494e+05,-1.669346087804744911e+02,-1.092597634176448482e+05,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,5.643823467662790790e+03,-1.768629539284346625e+07,1.177566606439067982e+02,-1.384912463906705088e+05,-3.705746951032824654e+01,1.094895310465261718e+05,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
2.536675589742744341e+04,-1.334165130902401870e+02,-7.065558524079563795e+05,-2.599195946453221495e+00,-3.891622113227713271e+02,2.583577134001870945e-01,2.097095107223987579e+05,3.454605852067470551e+03,7.180346490249633789e+06,-7.385389286838471889e+01,3.531009459540247917e+03,-6.341057244432158768e+01,1.991169969156065956e+07,-2.099897554177860002e+03,-3.228328971143316943e+06,-1.788570826001569003e+01,-1.208227002702799218e+05,2.507738365892498678e+01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-2.014677595821649581e+07,-1.221291899086289504e+03,-3.245461666698290035e+06,-6.125832596248569573e+00,1.223284693116245908e+05,1.171666539050030842e+01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
5.932569664288348577e+01,-3.680227672435727436e+04,6.076555855249353044e+00,-6.267107432629717323e+02,-8.741525898193742705e-01,2.181001658191178194e+01,6.085684825120260939e+02,-6.434279082531034946e+05,-7.385389286838471889e+01,1.258805480963783339e+04,9.579858319146296708e+00,3.075899537462100852e+02,-5.483342708688905986e+02,3.455493795960730058e+05,7.177579635330130259e+01,2.545187530338771921e+03,3.555045113840542115e+00,1.429904939957392116e+03,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-1.195599074089100213e+02,3.346808053823320661e+05,-3.998459191473443752e+00,2.478986152822093572e+03,8.448195578476358492e-01,-1.433247683861512314e+03,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
2.585690718283675960e+05,1.153694332698808012e+01,-3.930580146726879320e+02,1.744027112364179288e-01,-3.815129732011501801e+03,-5.047887470928991149e-01,2.555920665538191795e+06,-4.463350027288543060e+02,3.531009459540247917e+03,9.579858319146296708e+00,3.783404339120723307e+04,2.209793612576322630e+01,-1.403404072635334684e+06,5.327763254027486255e+02,2.059056985502665630e+05,4.073050497035751505e+00,8.912120484085759017e+03,-2.587147655221556874e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-1.411085664731516037e+06,-9.797826752269980943e+01,-2.090436499957474880e+05,-1.006897005356855557e+00,8.946330276896916985e+03,-8.336194119191131513e-02,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
1.535942065353383441e+02,-1.200429118606130942e+03,4.587947019869559995e+00,-2.084929454160896967e+01,-2.254397219928608642e+00,1.853817766482919751e+02,1.436628528188914061e+03,-1.681527257143333554e+04,-6.341057244432158768e+01,3.075899537462100852e+02,2.209793612576322630e+01,2.052738350544311106e+04,-9.826208642368133042e+02,3.332244938553936663e+05,1.282877013019194692e+02,2.232822273964662600e+03,6.291592578123225366e+00,-5.890633051628398107e+02,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-6.076018703957838625e+02,-3.152087921652187943e+05,-6.946507203107393025e+01,-2.082347314756840206e+03,3.857246463516023738e+00,-6.707033963158243068e+02,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-9.579453944435191154e+07,-5.748325323460194340e+03,-1.991787934829686582e+07,-1.230212997972084850e+02,1.406250232242587022e+06,2.465670512631395468e+02,-9.560541327547924221e+07,2.545570466924470384e+04,1.991169969156065956e+07,-5.483342708688905986e+02,-1.403404072635334684e+06,-9.826208642368133042e+02,3.318434552094860077e+08,-1.915875347960824365e+04,1.929944502499242662e+04,-2.343921825459110551e+02,8.810312069528708889e+02,1.493617980736307800e+02,-1.259285941881640702e+08,-2.296693025931494958e+01,-4.973869092907989398e+01,-8.523117686490877531e-02,-9.672426468659978127e-01,1.531747000561665573e+00,-1.451490830136055127e+07,-5.256591036211029859e+02,-1.307004955561656971e+04,3.212014037927704635e+01,5.977269552894540539e+02,2.639711023698038161e+01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-5.166229400217183866e+03,-1.828295581201418862e+07,-5.235887496248033131e+02,-3.455396809652444790e+05,9.437971849929999735e+01,3.345554343318864703e+05,3.414384224411527975e+04,-1.828134027596507594e+07,-2.099897554177860002e+03,3.455493795960730058e+05,5.327763254027486255e+02,3.332244938553936663e+05,-1.915875347960824365e+04,4.004816925317478180e+07,3.974420270413160324e+03,-2.098224071812960574e+02,2.055384607449149996e+02,3.627257703706470784e+05,-2.296693026366983759e+01,-6.715601323315028101e+06,-1.442663612688193098e+01,4.786333283097121694e-02,-3.841205565074119477e-01,1.343559704962231335e+05,-9.795892588531307410e+03,3.231728158194186632e+06,-1.336507186684277258e+03,1.548409030579605314e+02,1.088995400351595890e+02,6.787577024925049045e+03,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-1.450978033041961119e+07,-6.034463249195978278e+02,-3.229564589008683339e+06,-1.447027866731582435e+01,2.063777277245984878e+05,2.476297489781632066e+01,1.447832450459527783e+07,-3.347235020817402983e+03,-3.228328971143316943e+06,7.177579635330130259e+01,2.059056985502665630e+05,1.282877013019194692e+02,1.929944502499242662e+04,3.974420270413160324e+03,1.295414612709236145e+07,2.081154361320659518e+01,9.672403445114847273e+04,-2.841886639493168332e+01,-4.973869074427057058e+01,-1.442663422199257184e+01,-6.718615125007174909e+06,1.837393573841836769e-01,-1.344307193039822450e+05,4.038975173798462492e-01,1.220611952837056015e+04,-9.312150998954166425e+00,2.223625580527911079e+05,-1.474716818839482357e+00,-1.204946117271472031e+04,-5.379471302812643074e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
8.502649080017397409e+01,1.421803861242151761e+05,5.262529540712023390e+00,2.545374036461411833e+03,-1.389856252396208802e+00,-2.241609259264927459e+03,2.620078190217518568e+02,-1.421411263422719494e+05,-1.788570826001569003e+01,2.545187530338771921e+03,4.073050497035751505e+00,2.232822273964662600e+03,-2.343921825459110551e+02,-2.098224071812960574e+02,2.081154361320659518e+01,3.381814565817359835e+03,9.823988482544336875e-01,-2.842683595091330062e+00,-8.523117754180020711e-02,4.786333032647860364e-02,1.837393532623536885e-01,-6.704960212853733310e+02,3.633307055224577198e-03,-8.352815187562256938e-04,-1.125568968279865203e+02,1.705147617358943535e+02,-8.372104263790760115e+00,1.591222690050299775e+02,4.125787712216713032e-01,2.199104840673911099e-01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-6.072457395437035011e+05,-3.139749116546579444e+01,-1.208744926620664046e+05,-7.290869690213988008e-01,8.934224411231405611e+03,1.681638225351537841e+00,6.057699273815253982e+05,-1.669346087804744911e+02,-1.208227002702799218e+05,3.555045113840542115e+00,8.912120484085759017e+03,6.291592578123225366e+00,8.810312069528708889e+02,2.055384607449149996e+02,9.672403445114847273e+04,9.823988482544336875e-01,1.381730899367682287e+04,-1.306263250609540627e+00,1.022304989247004414e+00,1.929450832886629996e-01,1.343138856962799036e+05,-3.716267020195118675e-03,1.641871488571831833e+03,-5.428851641340770584e-03,5.937586501856167160e+02,-7.399306012645411101e+00,1.065927278588290574e+04,-9.601414140480102333e-03,-5.798905631820359758e+02,-2.753351424750548615e-01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
1.069146866389201023e+01,-1.095427582235363661e+05,1.424312293847378896e+00,-1.434654668054021613e+03,-1.940140841564073071e-01,-5.883385698611023145e+02,-1.734505509271484698e+02,-1.092597634176448482e+05,2.507738365892498678e+01,1.429904939957392116e+03,-2.587147655221556874e+00,-5.890633051628398107e+02,1.493617980736307800e+02,3.627257703706470784e+05,-2.841886639493168332e+01,-2.842683595091330062e+00,-1.306263250609540627e+00,1.205923870277627429e+04,6.130700091207046398e-01,-1.342680824364233995e+05,-1.731681374066056378e-01,1.079251872367681386e-03,-4.637772997335254388e-03,1.640742048754984125e+03,1.278421439422345429e+01,-9.655166294015903986e+03,2.090339405928489214e+00,-3.325221534590916406e-01,-1.503692905719020700e-01,-8.469952154732245830e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-1.259285941881640702e+08,-2.296693026366983759e+01,-4.973869074427057058e+01,-8.523117754180020711e-02,1.022304989247004414e+00,6.130700091207046398e-01,3.822965004465780258e+08,-1.336739949432667345e+03,6.378588031604886055e+01,3.082174140613460622e-01,4.234272648245678283e-01,-1.571383308310032589e+01,-2.563679062584076226e+08,1.359706857164242138e+03,-1.404718861915171146e+01,-2.229862451404187595e-01,2.628715968057804275e-01,-1.301205084079992957e+01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-2.296693025931494958e+01,-6.715601323315028101e+06,-1.442663422199257184e+01,4.786333032647860364e-02,1.929450832886629996e-01,-1.342680824364233995e+05,-1.336739949432667345e+03,4.350122705347800255e+07,1.957856860056053847e+02,2.515907289466667862e-01,-1.085888424234440208e+00,2.337212338764142478e+05,1.359706857430019227e+03,-3.678562573015485704e+07,-1.813590182308544172e+02,-2.994540605795350530e-01,-2.157171074360348939e+00,3.676353102304631611e+05,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-4.973869092907989398e+01,-1.442663612688193098e+01,-6.718615125007174909e+06,1.837393532623536885e-01,1.343138856962799036e+05,-1.731681374066056378e-01,6.378588031604886055e+01,1.957856860056053847e+02,4.353685975719666481e+07,-1.861295283670187928e-01,-2.340673813938918756e+05,7.870346611261993530e-01,-1.404718921438325197e+01,-1.813590182334592100e+02,-3.681824463219259679e+07,2.390194742474704981e-03,-3.678667919459957629e+05,2.436247889698279323e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-8.523117686490877531e-02,4.786333283097121694e-02,1.837393573841836769e-01,-6.704960212853733310e+02,-3.716267020195118675e-03,1.079251872367681386e-03,3.082174140613460622e-01,2.515907289466667862e-01,-1.861295283670187928e-01,2.024423914250182861e+03,5.360606194457773199e-04,4.276630340245723971e-03,-2.229862417234471650e-01,-2.994540613010485686e-01,2.390195302723441273e-03,-1.353927892964923103e+03,-4.121563467805344771e-03,2.547732451613882176e-03,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-9.672426468659978127e-01,-3.841205565074119477e-01,-1.344307193039822450e+05,3.633307055224577198e-03,1.641871488571831833e+03,-4.637772997335254388e-03,4.234272648245678283e-01,-1.085888424234440208e+00,-2.340673813938918756e+05,5.360606194457773199e-04,9.543837582828324230e+03,-2.567880640081732224e-02,5.438153770273856935e-01,1.470009281300860948e+00,3.684981006978523219e+05,-4.169367396855250263e-03,1.561481714715517001e+03,-1.444843311415766607e-02,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.531747000561665573e+00,1.343559704962231335e+05,4.038975173798462492e-01,-8.352815187562256938e-04,-5.428851641340770584e-03,1.640742048754984125e+03,-1.571383308310032589e+01,2.337212338764142478e+05,7.870346611261993530e-01,4.276630340245723971e-03,-2.567880640081732224e-02,9.536749916310538538e+03,1.418208630493782607e+01,-3.680772043726553093e+05,-1.190932464348406938e+00,-3.441348781025865833e-03,-8.866896793763956452e-03,1.558290942237508489e+03,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-9.617117871302969754e+07,-6.858935878766094902e+03,2.014046873393118009e+07,-1.404384124149315767e+02,1.412912493169219932e+06,-2.204275533754648109e+01,-9.605336389409454167e+07,5.643823467662790790e+03,-2.014677595821649581e+07,-1.195599074089100213e+02,-1.411085664731516037e+06,-6.076018703957838625e+02,-1.451490830136055127e+07,-9.795892588531307410e+03,1.220611952837056015e+04,-1.125568968279865203e+02,5.937586501856167160e+02,1.278421439422345429e+01,-2.563679062584076226e+08,1.359706857430019227e+03,-1.404718921438325197e+01,-2.229862417234471650e-01,5.438153770273856935e-01,1.418208630493782607e+01,4.631073571672515869e+08,9.651298126757144928e+03,-5.884848077749134973e+03,2.270093894418096170e+01,3.348145406302064657e+02,5.665534762665629387e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-3.740975046028171619e+03,-1.766585588561022282e+07,1.039122652330098390e+03,-3.342619085884379456e+05,4.462263810720907031e+01,-3.160772915639634593e+05,-6.744370821682321548e+03,-1.768629539284346625e+07,-1.221291899086289504e+03,3.346808053823320661e+05,-9.797826752269980943e+01,-3.152087921652187943e+05,-5.256591036211029859e+02,3.231728158194186632e+06,-9.312150998954166425e+00,1.705147617358943535e+02,-7.399306012645411101e+00,-9.655166294015903986e+03,1.359706857164242138e+03,-3.678562573015485704e+07,-1.813590182334592100e+02,-2.994540613010485686e-01,1.470009281300860948e+00,-3.680772043726553093e+05,9.651298126757144928e+03,6.890604885045289993e+07,3.728403375111520290e+02,-1.680589605796023989e+01,-1.515916765250676690e+01,-5.933549090688759461e+05,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
1.468135727062481828e+07,1.027269122215824154e+03,-3.244108507233656943e+06,2.126067515522382223e+01,-2.093367820160742558e+05,3.221514036837085371e+01,-1.466238832584385946e+07,1.177566606439067982e+02,-3.245461666698290035e+06,-3.998459191473443752e+00,-2.090436499957474880e+05,-6.946507203107393025e+01,-1.307004955561656971e+04,-1.336507186684277258e+03,2.223625580527911079e+05,-8.372104263790760115e+00,1.065927278588290574e+04,2.090339405928489214e+00,-1.404718861915171146e+01,-1.813590182308544172e+02,-3.681824463219259679e+07,2.390195302723441273e-03,3.684981006978523219e+05,-1.190932464348406938e+00,-5.884848077749134973e+03,3.728403375111520290e+02,4.308545224823570251e+07,1.657384812602685997e+01,1.353084229763732292e+05,-1.311631346036301693e+01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
1.305061695147310274e+01,1.383535108383237093e+05,-8.975687908473821253e+00,2.476266453216099308e+03,-9.689028389860054880e-02,2.088652841762301705e+03,-6.764871118026709951e+01,-1.384912463906705088e+05,-6.125832596248569573e+00,2.478986152822093572e+03,-1.006897005356855557e+00,-2.082347314756840206e+03,3.212014037927704635e+01,1.548409030579605314e+02,-1.474716818839482357e+00,1.591222690050299775e+02,-9.601414140480102333e-03,-3.325221534590916406e-01,-2.229862451404187595e-01,-2.994540605795350530e-01,2.390194742474704981e-03,-1.353927892964923103e+03,-4.169367396855250263e-03,-3.441348781025865833e-03,2.270093894418096170e+01,-1.680589605796023989e+01,1.657384812602685997e+01,3.991206250780451228e+03,-6.005423099344966431e-01,-8.171649694413645193e-01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-6.086246289691759739e+05,-5.452573088538952106e+01,1.222793608300175110e+05,-1.141845778900164809e+00,8.960659112550843929e+03,-2.980949524682580121e-01,6.076918246019518701e+05,-3.705746951032824654e+01,1.223284693116245908e+05,8.448195578476358492e-01,8.946330276896916985e+03,3.857246463516023738e+00,5.977269552894540539e+02,1.088995400351595890e+02,-1.204946117271472031e+04,4.125787712216713032e-01,-5.798905631820359758e+02,-1.503692905719020700e-01,2.628715968057804275e-01,-2.157171074360348939e+00,-3.678667919459957629e+05,-4.121563467805344771e-03,1.561481714715517001e+03,-8.866896793763956452e-03,3.348145406302064657e+02,-1.515916765250676690e+01,1.353084229763732292e+05,-6.005423099344966431e-01,1.591034889785207633e+04,3.434176472019743187e-01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-1.705391376733786757e+01,1.094424907674457354e+05,4.342871241200932708e+00,1.432525262796827292e+03,2.435876178151705207e-01,-6.728012955789077978e+02,-1.996680892124047091e+00,1.094895310465261718e+05,1.171666539050030842e+01,-1.433247683861512314e+03,-8.336194119191131513e-02,-6.707033963158243068e+02,2.639711023698038161e+01,6.787577024925049045e+03,-5.379471302812643074e+00,2.199104840673911099e-01,-2.753351424750548615e-01,-8.469952154732245830e+00,-1.301205084079992957e+01,3.676353102304631611e+05,2.436247889698279323e+00,2.547732451613882176e-03,-1.444843311415766607e-02,1.558290942237508489e+03,5.665534762665629387e+00,-5.933549090688759461e+05,-1.311631346036301693e+01,-8.171649694413645193e-01,3.434176472019743187e-01,1.412160518234821211e+04,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.469688321340944767e+09,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.472551825290932655e+09,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.638369111490185499e+09,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.644348420887326717e+09,0.000000000000000000e+00,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,3.335297040023203850e+09,0.000000000000000000e+00
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,3.378175081680267811e+09
1 1.744402696391601562e+08 1.173046853524446487e+04 -1.969436961065530777e+05 2.501017098440788686e+02 -2.560579583892583847e+06 -1.899893907159566879e+02 1.752544851888548955e+07 -2.823264051224628929e+03 2.536675589742744341e+04 5.932569664288348577e+01 2.585690718283675960e+05 1.535942065353383441e+02 -9.579453944435191154e+07 -5.166229400217183866e+03 -1.450978033041961119e+07 8.502649080017397409e+01 -6.072457395437035011e+05 1.069146866389201023e+01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -9.617117871302969754e+07 -3.740975046028171619e+03 1.468135727062481828e+07 1.305061695147310274e+01 -6.086246289691759739e+05 -1.705391376733786757e+01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
2 1.173046853524446487e+04 3.380881940276336670e+07 -2.904061509445309639e+02 6.429955422680377960e+05 -1.805951826442033052e+02 -1.721230121768265963e+04 8.767926680533855688e+02 2.139992294824984856e+06 -1.334165130902401870e+02 -3.680227672435727436e+04 1.153694332698808012e+01 -1.200429118606130942e+03 -5.748325323460194340e+03 -1.828295581201418862e+07 -6.034463249195978278e+02 1.421803861242151761e+05 -3.139749116546579444e+01 -1.095427582235363661e+05 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -6.858935878766094902e+03 -1.766585588561022282e+07 1.027269122215824154e+03 1.383535108383237093e+05 -5.452573088538952106e+01 1.094424907674457354e+05 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
3 -1.969436961065530777e+05 -2.904061509445309639e+02 7.180228948753356934e+06 -4.191198939457535744e+00 3.348216503895819187e+03 -5.723647825978696346e+01 -2.564568953003105707e+04 -2.251276071782485815e+02 -7.065558524079563795e+05 6.076555855249353044e+00 -3.930580146726879320e+02 4.587947019869559995e+00 -1.991787934829686582e+07 -5.235887496248033131e+02 -3.229564589008683339e+06 5.262529540712023390e+00 -1.208744926620664046e+05 1.424312293847378896e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 2.014046873393118009e+07 1.039122652330098390e+03 -3.244108507233656943e+06 -8.975687908473821253e+00 1.222793608300175110e+05 4.342871241200932708e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
4 2.501017098440788686e+02 6.429955422680377960e+05 -4.191198939457535744e+00 1.257837617977801710e+04 -3.860365137683402281e+00 -3.153544715064927004e+02 1.335800304787062487e+01 3.680604728527541738e+04 -2.599195946453221495e+00 -6.267107432629717323e+02 1.744027112364179288e-01 -2.084929454160896967e+01 -1.230212997972084850e+02 -3.455396809652444790e+05 -1.447027866731582435e+01 2.545374036461411833e+03 -7.290869690213988008e-01 -1.434654668054021613e+03 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -1.404384124149315767e+02 -3.342619085884379456e+05 2.126067515522382223e+01 2.476266453216099308e+03 -1.141845778900164809e+00 1.432525262796827292e+03 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
5 -2.560579583892583847e+06 -1.805951826442033052e+02 3.348216503895819187e+03 -3.860365137683402281e+00 3.790471155559550971e+04 3.697536068793851882e+00 -2.585831415196759335e+05 4.159282586899098533e+01 -3.891622113227713271e+02 -8.741525898193742705e-01 -3.815129732011501801e+03 -2.254397219928608642e+00 1.406250232242587022e+06 9.437971849929999735e+01 2.063777277245984878e+05 -1.389856252396208802e+00 8.934224411231405611e+03 -1.940140841564073071e-01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.412912493169219932e+06 4.462263810720907031e+01 -2.093367820160742558e+05 -9.689028389860054880e-02 8.960659112550843929e+03 2.435876178151705207e-01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
6 -1.899893907159566879e+02 -1.721230121768265963e+04 -5.723647825978696346e+01 -3.153544715064927004e+02 3.697536068793851882e+00 2.059473986569233239e+04 -3.453490463707362323e+01 -1.265841550565414764e+03 2.583577134001870945e-01 2.181001658191178194e+01 -5.047887470928991149e-01 1.853817766482919751e+02 2.465670512631395468e+02 3.345554343318864703e+05 2.476297489781632066e+01 -2.241609259264927459e+03 1.681638225351537841e+00 -5.883385698611023145e+02 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -2.204275533754648109e+01 -3.160772915639634593e+05 3.221514036837085371e+01 2.088652841762301705e+03 -2.980949524682580121e-01 -6.728012955789077978e+02 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
7 1.752544851888548955e+07 8.767926680533855688e+02 -2.564568953003105707e+04 1.335800304787062487e+01 -2.585831415196759335e+05 -3.453490463707362323e+01 1.741333286506042480e+08 -2.827626410622242838e+04 2.097095107223987579e+05 6.085684825120260939e+02 2.555920665538191795e+06 1.436628528188914061e+03 -9.560541327547924221e+07 3.414384224411527975e+04 1.447832450459527783e+07 2.620078190217518568e+02 6.057699273815253982e+05 -1.734505509271484698e+02 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -9.605336389409454167e+07 -6.744370821682321548e+03 -1.466238832584385946e+07 -6.764871118026709951e+01 6.076918246019518701e+05 -1.996680892124047091e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
8 -2.823264051224628929e+03 2.139992294824984856e+06 -2.251276071782485815e+02 3.680604728527541738e+04 4.159282586899098533e+01 -1.265841550565414764e+03 -2.827626410622242838e+04 3.382764337400054932e+07 3.454605852067470551e+03 -6.434279082531034946e+05 -4.463350027288543060e+02 -1.681527257143333554e+04 2.545570466924470384e+04 -1.828134027596507594e+07 -3.347235020817402983e+03 -1.421411263422719494e+05 -1.669346087804744911e+02 -1.092597634176448482e+05 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 5.643823467662790790e+03 -1.768629539284346625e+07 1.177566606439067982e+02 -1.384912463906705088e+05 -3.705746951032824654e+01 1.094895310465261718e+05 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
9 2.536675589742744341e+04 -1.334165130902401870e+02 -7.065558524079563795e+05 -2.599195946453221495e+00 -3.891622113227713271e+02 2.583577134001870945e-01 2.097095107223987579e+05 3.454605852067470551e+03 7.180346490249633789e+06 -7.385389286838471889e+01 3.531009459540247917e+03 -6.341057244432158768e+01 1.991169969156065956e+07 -2.099897554177860002e+03 -3.228328971143316943e+06 -1.788570826001569003e+01 -1.208227002702799218e+05 2.507738365892498678e+01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -2.014677595821649581e+07 -1.221291899086289504e+03 -3.245461666698290035e+06 -6.125832596248569573e+00 1.223284693116245908e+05 1.171666539050030842e+01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
10 5.932569664288348577e+01 -3.680227672435727436e+04 6.076555855249353044e+00 -6.267107432629717323e+02 -8.741525898193742705e-01 2.181001658191178194e+01 6.085684825120260939e+02 -6.434279082531034946e+05 -7.385389286838471889e+01 1.258805480963783339e+04 9.579858319146296708e+00 3.075899537462100852e+02 -5.483342708688905986e+02 3.455493795960730058e+05 7.177579635330130259e+01 2.545187530338771921e+03 3.555045113840542115e+00 1.429904939957392116e+03 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -1.195599074089100213e+02 3.346808053823320661e+05 -3.998459191473443752e+00 2.478986152822093572e+03 8.448195578476358492e-01 -1.433247683861512314e+03 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
11 2.585690718283675960e+05 1.153694332698808012e+01 -3.930580146726879320e+02 1.744027112364179288e-01 -3.815129732011501801e+03 -5.047887470928991149e-01 2.555920665538191795e+06 -4.463350027288543060e+02 3.531009459540247917e+03 9.579858319146296708e+00 3.783404339120723307e+04 2.209793612576322630e+01 -1.403404072635334684e+06 5.327763254027486255e+02 2.059056985502665630e+05 4.073050497035751505e+00 8.912120484085759017e+03 -2.587147655221556874e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -1.411085664731516037e+06 -9.797826752269980943e+01 -2.090436499957474880e+05 -1.006897005356855557e+00 8.946330276896916985e+03 -8.336194119191131513e-02 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
12 1.535942065353383441e+02 -1.200429118606130942e+03 4.587947019869559995e+00 -2.084929454160896967e+01 -2.254397219928608642e+00 1.853817766482919751e+02 1.436628528188914061e+03 -1.681527257143333554e+04 -6.341057244432158768e+01 3.075899537462100852e+02 2.209793612576322630e+01 2.052738350544311106e+04 -9.826208642368133042e+02 3.332244938553936663e+05 1.282877013019194692e+02 2.232822273964662600e+03 6.291592578123225366e+00 -5.890633051628398107e+02 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -6.076018703957838625e+02 -3.152087921652187943e+05 -6.946507203107393025e+01 -2.082347314756840206e+03 3.857246463516023738e+00 -6.707033963158243068e+02 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
13 -9.579453944435191154e+07 -5.748325323460194340e+03 -1.991787934829686582e+07 -1.230212997972084850e+02 1.406250232242587022e+06 2.465670512631395468e+02 -9.560541327547924221e+07 2.545570466924470384e+04 1.991169969156065956e+07 -5.483342708688905986e+02 -1.403404072635334684e+06 -9.826208642368133042e+02 3.318434552094860077e+08 -1.915875347960824365e+04 1.929944502499242662e+04 -2.343921825459110551e+02 8.810312069528708889e+02 1.493617980736307800e+02 -1.259285941881640702e+08 -2.296693025931494958e+01 -4.973869092907989398e+01 -8.523117686490877531e-02 -9.672426468659978127e-01 1.531747000561665573e+00 -1.451490830136055127e+07 -5.256591036211029859e+02 -1.307004955561656971e+04 3.212014037927704635e+01 5.977269552894540539e+02 2.639711023698038161e+01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
14 -5.166229400217183866e+03 -1.828295581201418862e+07 -5.235887496248033131e+02 -3.455396809652444790e+05 9.437971849929999735e+01 3.345554343318864703e+05 3.414384224411527975e+04 -1.828134027596507594e+07 -2.099897554177860002e+03 3.455493795960730058e+05 5.327763254027486255e+02 3.332244938553936663e+05 -1.915875347960824365e+04 4.004816925317478180e+07 3.974420270413160324e+03 -2.098224071812960574e+02 2.055384607449149996e+02 3.627257703706470784e+05 -2.296693026366983759e+01 -6.715601323315028101e+06 -1.442663612688193098e+01 4.786333283097121694e-02 -3.841205565074119477e-01 1.343559704962231335e+05 -9.795892588531307410e+03 3.231728158194186632e+06 -1.336507186684277258e+03 1.548409030579605314e+02 1.088995400351595890e+02 6.787577024925049045e+03 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
15 -1.450978033041961119e+07 -6.034463249195978278e+02 -3.229564589008683339e+06 -1.447027866731582435e+01 2.063777277245984878e+05 2.476297489781632066e+01 1.447832450459527783e+07 -3.347235020817402983e+03 -3.228328971143316943e+06 7.177579635330130259e+01 2.059056985502665630e+05 1.282877013019194692e+02 1.929944502499242662e+04 3.974420270413160324e+03 1.295414612709236145e+07 2.081154361320659518e+01 9.672403445114847273e+04 -2.841886639493168332e+01 -4.973869074427057058e+01 -1.442663422199257184e+01 -6.718615125007174909e+06 1.837393573841836769e-01 -1.344307193039822450e+05 4.038975173798462492e-01 1.220611952837056015e+04 -9.312150998954166425e+00 2.223625580527911079e+05 -1.474716818839482357e+00 -1.204946117271472031e+04 -5.379471302812643074e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
16 8.502649080017397409e+01 1.421803861242151761e+05 5.262529540712023390e+00 2.545374036461411833e+03 -1.389856252396208802e+00 -2.241609259264927459e+03 2.620078190217518568e+02 -1.421411263422719494e+05 -1.788570826001569003e+01 2.545187530338771921e+03 4.073050497035751505e+00 2.232822273964662600e+03 -2.343921825459110551e+02 -2.098224071812960574e+02 2.081154361320659518e+01 3.381814565817359835e+03 9.823988482544336875e-01 -2.842683595091330062e+00 -8.523117754180020711e-02 4.786333032647860364e-02 1.837393532623536885e-01 -6.704960212853733310e+02 3.633307055224577198e-03 -8.352815187562256938e-04 -1.125568968279865203e+02 1.705147617358943535e+02 -8.372104263790760115e+00 1.591222690050299775e+02 4.125787712216713032e-01 2.199104840673911099e-01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
17 -6.072457395437035011e+05 -3.139749116546579444e+01 -1.208744926620664046e+05 -7.290869690213988008e-01 8.934224411231405611e+03 1.681638225351537841e+00 6.057699273815253982e+05 -1.669346087804744911e+02 -1.208227002702799218e+05 3.555045113840542115e+00 8.912120484085759017e+03 6.291592578123225366e+00 8.810312069528708889e+02 2.055384607449149996e+02 9.672403445114847273e+04 9.823988482544336875e-01 1.381730899367682287e+04 -1.306263250609540627e+00 1.022304989247004414e+00 1.929450832886629996e-01 1.343138856962799036e+05 -3.716267020195118675e-03 1.641871488571831833e+03 -5.428851641340770584e-03 5.937586501856167160e+02 -7.399306012645411101e+00 1.065927278588290574e+04 -9.601414140480102333e-03 -5.798905631820359758e+02 -2.753351424750548615e-01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
18 1.069146866389201023e+01 -1.095427582235363661e+05 1.424312293847378896e+00 -1.434654668054021613e+03 -1.940140841564073071e-01 -5.883385698611023145e+02 -1.734505509271484698e+02 -1.092597634176448482e+05 2.507738365892498678e+01 1.429904939957392116e+03 -2.587147655221556874e+00 -5.890633051628398107e+02 1.493617980736307800e+02 3.627257703706470784e+05 -2.841886639493168332e+01 -2.842683595091330062e+00 -1.306263250609540627e+00 1.205923870277627429e+04 6.130700091207046398e-01 -1.342680824364233995e+05 -1.731681374066056378e-01 1.079251872367681386e-03 -4.637772997335254388e-03 1.640742048754984125e+03 1.278421439422345429e+01 -9.655166294015903986e+03 2.090339405928489214e+00 -3.325221534590916406e-01 -1.503692905719020700e-01 -8.469952154732245830e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
19 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -1.259285941881640702e+08 -2.296693026366983759e+01 -4.973869074427057058e+01 -8.523117754180020711e-02 1.022304989247004414e+00 6.130700091207046398e-01 3.822965004465780258e+08 -1.336739949432667345e+03 6.378588031604886055e+01 3.082174140613460622e-01 4.234272648245678283e-01 -1.571383308310032589e+01 -2.563679062584076226e+08 1.359706857164242138e+03 -1.404718861915171146e+01 -2.229862451404187595e-01 2.628715968057804275e-01 -1.301205084079992957e+01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
20 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -2.296693025931494958e+01 -6.715601323315028101e+06 -1.442663422199257184e+01 4.786333032647860364e-02 1.929450832886629996e-01 -1.342680824364233995e+05 -1.336739949432667345e+03 4.350122705347800255e+07 1.957856860056053847e+02 2.515907289466667862e-01 -1.085888424234440208e+00 2.337212338764142478e+05 1.359706857430019227e+03 -3.678562573015485704e+07 -1.813590182308544172e+02 -2.994540605795350530e-01 -2.157171074360348939e+00 3.676353102304631611e+05 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
21 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -4.973869092907989398e+01 -1.442663612688193098e+01 -6.718615125007174909e+06 1.837393532623536885e-01 1.343138856962799036e+05 -1.731681374066056378e-01 6.378588031604886055e+01 1.957856860056053847e+02 4.353685975719666481e+07 -1.861295283670187928e-01 -2.340673813938918756e+05 7.870346611261993530e-01 -1.404718921438325197e+01 -1.813590182334592100e+02 -3.681824463219259679e+07 2.390194742474704981e-03 -3.678667919459957629e+05 2.436247889698279323e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
22 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -8.523117686490877531e-02 4.786333283097121694e-02 1.837393573841836769e-01 -6.704960212853733310e+02 -3.716267020195118675e-03 1.079251872367681386e-03 3.082174140613460622e-01 2.515907289466667862e-01 -1.861295283670187928e-01 2.024423914250182861e+03 5.360606194457773199e-04 4.276630340245723971e-03 -2.229862417234471650e-01 -2.994540613010485686e-01 2.390195302723441273e-03 -1.353927892964923103e+03 -4.121563467805344771e-03 2.547732451613882176e-03 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
23 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -9.672426468659978127e-01 -3.841205565074119477e-01 -1.344307193039822450e+05 3.633307055224577198e-03 1.641871488571831833e+03 -4.637772997335254388e-03 4.234272648245678283e-01 -1.085888424234440208e+00 -2.340673813938918756e+05 5.360606194457773199e-04 9.543837582828324230e+03 -2.567880640081732224e-02 5.438153770273856935e-01 1.470009281300860948e+00 3.684981006978523219e+05 -4.169367396855250263e-03 1.561481714715517001e+03 -1.444843311415766607e-02 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
24 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.531747000561665573e+00 1.343559704962231335e+05 4.038975173798462492e-01 -8.352815187562256938e-04 -5.428851641340770584e-03 1.640742048754984125e+03 -1.571383308310032589e+01 2.337212338764142478e+05 7.870346611261993530e-01 4.276630340245723971e-03 -2.567880640081732224e-02 9.536749916310538538e+03 1.418208630493782607e+01 -3.680772043726553093e+05 -1.190932464348406938e+00 -3.441348781025865833e-03 -8.866896793763956452e-03 1.558290942237508489e+03 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
25 -9.617117871302969754e+07 -6.858935878766094902e+03 2.014046873393118009e+07 -1.404384124149315767e+02 1.412912493169219932e+06 -2.204275533754648109e+01 -9.605336389409454167e+07 5.643823467662790790e+03 -2.014677595821649581e+07 -1.195599074089100213e+02 -1.411085664731516037e+06 -6.076018703957838625e+02 -1.451490830136055127e+07 -9.795892588531307410e+03 1.220611952837056015e+04 -1.125568968279865203e+02 5.937586501856167160e+02 1.278421439422345429e+01 -2.563679062584076226e+08 1.359706857430019227e+03 -1.404718921438325197e+01 -2.229862417234471650e-01 5.438153770273856935e-01 1.418208630493782607e+01 4.631073571672515869e+08 9.651298126757144928e+03 -5.884848077749134973e+03 2.270093894418096170e+01 3.348145406302064657e+02 5.665534762665629387e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
26 -3.740975046028171619e+03 -1.766585588561022282e+07 1.039122652330098390e+03 -3.342619085884379456e+05 4.462263810720907031e+01 -3.160772915639634593e+05 -6.744370821682321548e+03 -1.768629539284346625e+07 -1.221291899086289504e+03 3.346808053823320661e+05 -9.797826752269980943e+01 -3.152087921652187943e+05 -5.256591036211029859e+02 3.231728158194186632e+06 -9.312150998954166425e+00 1.705147617358943535e+02 -7.399306012645411101e+00 -9.655166294015903986e+03 1.359706857164242138e+03 -3.678562573015485704e+07 -1.813590182334592100e+02 -2.994540613010485686e-01 1.470009281300860948e+00 -3.680772043726553093e+05 9.651298126757144928e+03 6.890604885045289993e+07 3.728403375111520290e+02 -1.680589605796023989e+01 -1.515916765250676690e+01 -5.933549090688759461e+05 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
27 1.468135727062481828e+07 1.027269122215824154e+03 -3.244108507233656943e+06 2.126067515522382223e+01 -2.093367820160742558e+05 3.221514036837085371e+01 -1.466238832584385946e+07 1.177566606439067982e+02 -3.245461666698290035e+06 -3.998459191473443752e+00 -2.090436499957474880e+05 -6.946507203107393025e+01 -1.307004955561656971e+04 -1.336507186684277258e+03 2.223625580527911079e+05 -8.372104263790760115e+00 1.065927278588290574e+04 2.090339405928489214e+00 -1.404718861915171146e+01 -1.813590182308544172e+02 -3.681824463219259679e+07 2.390195302723441273e-03 3.684981006978523219e+05 -1.190932464348406938e+00 -5.884848077749134973e+03 3.728403375111520290e+02 4.308545224823570251e+07 1.657384812602685997e+01 1.353084229763732292e+05 -1.311631346036301693e+01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
28 1.305061695147310274e+01 1.383535108383237093e+05 -8.975687908473821253e+00 2.476266453216099308e+03 -9.689028389860054880e-02 2.088652841762301705e+03 -6.764871118026709951e+01 -1.384912463906705088e+05 -6.125832596248569573e+00 2.478986152822093572e+03 -1.006897005356855557e+00 -2.082347314756840206e+03 3.212014037927704635e+01 1.548409030579605314e+02 -1.474716818839482357e+00 1.591222690050299775e+02 -9.601414140480102333e-03 -3.325221534590916406e-01 -2.229862451404187595e-01 -2.994540605795350530e-01 2.390194742474704981e-03 -1.353927892964923103e+03 -4.169367396855250263e-03 -3.441348781025865833e-03 2.270093894418096170e+01 -1.680589605796023989e+01 1.657384812602685997e+01 3.991206250780451228e+03 -6.005423099344966431e-01 -8.171649694413645193e-01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
29 -6.086246289691759739e+05 -5.452573088538952106e+01 1.222793608300175110e+05 -1.141845778900164809e+00 8.960659112550843929e+03 -2.980949524682580121e-01 6.076918246019518701e+05 -3.705746951032824654e+01 1.223284693116245908e+05 8.448195578476358492e-01 8.946330276896916985e+03 3.857246463516023738e+00 5.977269552894540539e+02 1.088995400351595890e+02 -1.204946117271472031e+04 4.125787712216713032e-01 -5.798905631820359758e+02 -1.503692905719020700e-01 2.628715968057804275e-01 -2.157171074360348939e+00 -3.678667919459957629e+05 -4.121563467805344771e-03 1.561481714715517001e+03 -8.866896793763956452e-03 3.348145406302064657e+02 -1.515916765250676690e+01 1.353084229763732292e+05 -6.005423099344966431e-01 1.591034889785207633e+04 3.434176472019743187e-01 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
30 -1.705391376733786757e+01 1.094424907674457354e+05 4.342871241200932708e+00 1.432525262796827292e+03 2.435876178151705207e-01 -6.728012955789077978e+02 -1.996680892124047091e+00 1.094895310465261718e+05 1.171666539050030842e+01 -1.433247683861512314e+03 -8.336194119191131513e-02 -6.707033963158243068e+02 2.639711023698038161e+01 6.787577024925049045e+03 -5.379471302812643074e+00 2.199104840673911099e-01 -2.753351424750548615e-01 -8.469952154732245830e+00 -1.301205084079992957e+01 3.676353102304631611e+05 2.436247889698279323e+00 2.547732451613882176e-03 -1.444843311415766607e-02 1.558290942237508489e+03 5.665534762665629387e+00 -5.933549090688759461e+05 -1.311631346036301693e+01 -8.171649694413645193e-01 3.434176472019743187e-01 1.412160518234821211e+04 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
31 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.469688321340944767e+09 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
32 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.472551825290932655e+09 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
33 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.638369111490185499e+09 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
34 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.644348420887326717e+09 0.000000000000000000e+00 0.000000000000000000e+00
35 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 3.335297040023203850e+09 0.000000000000000000e+00
36 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 3.378175081680267811e+09

View File

@@ -0,0 +1,36 @@
1.941213933847590195e-02,2.310691197165990401e-06,-6.853119574810857080e-04,6.612731190357267145e-08,-2.124350418392126989e-04,-3.186520103250434904e-08,-7.864953839513322189e-04,-1.680552130615625499e-08,6.487386747731482134e-05,4.448283877924326928e-09,-1.282375226629819308e-05,-1.130559433117855173e-08,1.526362035234832271e-03,-4.668798262241766000e-07,-1.745064246003368231e-04,-1.109205516216676591e-08,1.544662515470008208e-05,8.972501296723185406e-11,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.825396452580777939e-03,-9.948861092355896187e-07,-1.034228641590971315e-04,1.522106844068990743e-08,1.690480000801803878e-05,1.441457762661818876e-09,1.881964318465226618e-02,1.891852489691360148e-02,-1.238269560363562845e-02,1.271698470055658038e-02,6.397636245733210475e-05,4.153205762773307878e-05
2.310691197165990401e-06,1.943609346183238634e-02,5.687014815324954440e-07,2.120317930720709359e-04,-4.683521070265611152e-08,-2.349598559263136761e-05,1.224360209015569793e-08,-2.047251337326190838e-04,1.797836318080478077e-07,3.082596304036931558e-06,-2.521079345886402218e-09,9.517828092227884476e-08,-6.012824888898950053e-07,1.092008746110128756e-03,-4.075956429499612055e-07,-9.763978711736015292e-06,-1.987758171848280986e-09,6.670361559754391166e-08,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-7.158027451354804802e-07,1.159216052945812037e-03,2.660180134760386451e-07,-1.035270525781877414e-05,-1.795051316941698216e-09,-1.976296487166061230e-07,1.224693738571713620e-05,8.425724786988658956e-06,-2.792987281876710131e-06,9.478632026860526287e-07,1.613066166058059253e-03,3.030574880783558789e-03
-6.853119574810857080e-04,5.687014815324954440e-07,1.872739354901406528e-02,1.444333359744646647e-08,3.195270572159647189e-05,-8.108348132069285121e-08,-6.429170013528339258e-05,-1.064767952096105371e-08,6.783242618058941899e-05,4.442693852819327324e-10,-9.632798561576065082e-07,-2.095933397095325157e-09,1.541469013830646436e-03,-1.520641514743615230e-06,1.107535705745923927e-03,9.538186728237329641e-09,1.070990473706994234e-05,3.544724999441598161e-09,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-8.297489567196014888e-04,1.146143076979051826e-06,1.008587175066319973e-03,-7.360197755104747025e-09,-6.014060089449772913e-06,-3.171276286116626543e-10,1.133680337432957375e-02,1.142618693889066450e-02,2.857030399578119537e-02,-2.680324778367691729e-02,-1.615816014206646941e-06,-2.410470030098440860e-06
6.612731190357267145e-08,2.120317930720709359e-04,1.444333359744646647e-08,3.692363755531924753e-06,-1.266256049903284503e-09,-1.365872736439924150e-07,2.665178880535470890e-09,-3.084581282055957268e-06,2.834990996170338077e-09,4.481696527529056075e-08,-6.236341747891780627e-12,1.779342700461133972e-09,-2.592797813725633417e-08,1.916887368246320887e-05,-1.088587234809755458e-08,-1.307659106231961651e-07,-1.371872544347609066e-10,-3.153899031763136528e-08,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-2.020229090800761086e-08,1.937900423841364833e-05,5.911734192184404569e-09,-1.337146920477737147e-07,-8.590801361534870548e-11,2.743826692408501919e-08,1.436582493590590977e-07,7.922083192776589500e-08,-1.071932885513176235e-07,7.450178844215838462e-08,1.345104998114586439e-04,1.596360248084656398e-04
-2.124350418392126989e-04,-4.683521070265611152e-08,3.195270572159647189e-05,-1.266256049903284503e-09,3.590921845948433530e-06,2.009777238506123157e-09,1.279902904051491226e-05,-6.386610813300896725e-10,-9.733303561213900540e-07,-5.056528560849447805e-11,2.069326399202210192e-07,1.886815484087454092e-10,-2.544385541755165984e-05,3.707082594656183519e-08,1.468530030759727023e-05,-4.243149899898385559e-11,-2.448298541627253018e-07,-5.590924880090475142e-11,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-2.858074900228838454e-05,-2.543915903920236373e-09,-1.068803865801896532e-05,-1.011591300875160494e-10,-2.598378281351281043e-07,-4.046046526084699107e-11,-6.570127307142901866e-04,-6.827902319201428804e-04,3.400612310843032860e-04,-3.367586741383695207e-04,-1.150469137000843430e-06,-7.980334714743009670e-07
-3.186520103250434904e-08,-2.349598559263136761e-05,-8.108348132069285121e-08,-1.365872736439924150e-07,2.009777238506123157e-09,7.776028688273636800e-07,7.592799419934575786e-09,1.004935963923786855e-07,-8.469403359801861923e-10,-1.856728942679448409e-09,1.397568791723178051e-10,-1.126064051088119230e-08,-3.698909740289534638e-08,-1.527197530382847228e-05,2.490881922315957171e-08,1.135895377817342258e-07,-2.599344357150243908e-10,5.402095541390601796e-08,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-3.171752631634308571e-09,1.439966444769548844e-05,-5.418257032113064294e-08,-9.500069516313784108e-08,-2.714730510660179609e-11,5.889423296747125739e-08,-1.454886499857698024e-06,-1.467810156137431251e-06,1.119155214117794464e-07,-7.368557067191898770e-08,7.529278844748940917e-05,1.054460659418814784e-04
-7.864953839513322189e-04,1.224360209015569793e-08,-6.429170013528339258e-05,2.665178880535470890e-09,1.279902904051491226e-05,7.592799419934575786e-09,1.936839424331349840e-02,-6.358219232105812892e-06,6.871934750650472018e-04,1.683098447874357815e-07,2.115449842446825339e-04,1.190186098013398869e-07,1.538299014562874477e-03,1.186034141511475154e-06,1.649047740387377873e-04,-2.919426313306010560e-09,-1.549089912388516689e-05,-4.084385389688405339e-09,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.834751766225578996e-03,2.072563560783651399e-06,1.106693884727988310e-04,2.050764899570531600e-08,-1.693913639835141984e-05,1.194113690682714162e-09,-1.969432159947379773e-02,1.761267283589188284e-02,1.183571470812026967e-02,1.305851599488310963e-02,7.627161198701218922e-05,-6.736815642436647068e-05
-1.680552130615625499e-08,-2.047251337326190838e-04,-1.064767952096105371e-08,-3.084581282055957268e-06,-6.386610813300896725e-10,1.004935963923786855e-07,-6.358219232105812892e-06,1.944387627925764361e-02,4.481095192191438439e-06,-2.122179093273560125e-04,-1.582380322151094441e-07,-2.343772817635101703e-05,2.180664968086653286e-06,1.090021847386008196e-03,-1.325207022276374876e-06,9.780504204745329067e-06,-1.292151508003754848e-08,7.511041181527693849e-08,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-3.059618648662299498e-07,1.157683486489578068e-03,1.782376302113344743e-06,1.032889897373744964e-05,1.600251588192170695e-09,-1.874599877388423470e-07,4.398710235357963626e-05,-4.021663156733676115e-05,-8.064526618404580449e-06,-7.870485172931396018e-06,-1.476869621335119001e-03,3.139462475834862813e-03
6.487386747731482134e-05,1.797836318080478077e-07,6.783242618058941899e-05,2.834990996170338077e-09,-9.733303561213900540e-07,-8.469403359801861923e-10,6.871934750650472018e-04,4.481095192191438439e-06,1.872959885100724045e-02,-9.392836229850749527e-08,3.196630046360530894e-05,-8.679998208815885555e-08,-1.540562157272232224e-03,-3.211631223362770827e-06,1.107677407028960070e-03,-2.125535756356327197e-08,1.070176872494440215e-05,3.277061426382349801e-09,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,8.249260854195300877e-04,-3.020900418177957161e-07,1.008187505784626002e-03,-5.431135818807517315e-09,-5.987095299618908152e-06,6.824619934408483737e-09,1.198063854549607024e-02,-1.071648125635806491e-02,2.762137869609124566e-02,2.779524621483461105e-02,6.396349705883477659e-06,-7.178265281339794152e-06
4.448283877924326928e-09,3.082596304036931558e-06,4.442693852819327324e-10,4.481696527529056075e-08,-5.056528560849447805e-11,-1.856728942679448409e-09,1.683098447874357815e-07,-2.122179093273560125e-04,-9.392836229850749527e-08,3.696746652010075394e-06,3.809476660346366963e-09,1.351500300912581044e-07,-7.582898023929323033e-08,-1.912489292310461906e-05,3.059894527932759745e-08,-1.309475477200604720e-07,4.567583816274247120e-10,3.136273933020337405e-08,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-6.971991155784749461e-09,-1.932642698623366717e-05,-3.794309408768694963e-08,-1.331075184990356830e-07,5.303552142693448525e-11,-2.764453687589907377e-08,-7.883218209394655155e-07,7.231128982414243997e-07,1.390555016856702733e-07,1.383036516171899185e-07,1.260494752831484622e-04,-1.669819827237249796e-04
-1.282375226629819308e-05,-2.521079345886402218e-09,-9.632798561576065082e-07,-6.236341747891780627e-12,2.069326399202210192e-07,1.397568791723178051e-10,2.115449842446825339e-04,-1.582380322151094441e-07,3.196630046360530894e-05,3.809476660346366963e-09,3.574098435821176575e-06,3.613692814474959499e-09,2.571703324963967274e-05,7.669385345986570922e-08,1.452879165408184470e-05,3.682406089942980847e-10,-2.461022313525857294e-07,-1.059262998319987124e-10,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,2.887998487463856165e-05,3.288516376513685405e-08,-1.055770094538843161e-05,3.121916283144174185e-10,-2.613327439889342815e-07,-5.458446541142112155e-11,-6.932359453207107610e-04,6.403525414646151805e-04,3.264668782645281349e-04,3.470192054947058929e-04,1.302217507469648515e-06,-1.167864297673097961e-06
-1.130559433117855173e-08,9.517828092227884476e-08,-2.095933397095325157e-09,1.779342700461133972e-09,1.886815484087454092e-10,-1.126064051088119230e-08,1.190186098013398869e-07,-2.343772817635101703e-05,-8.679998208815885555e-08,1.351500300912581044e-07,3.613692814474959499e-09,7.757695963174168962e-07,4.368770391376741256e-08,-1.522078089210777707e-05,2.930159568836635825e-08,-1.131598818971280712e-07,-3.552475283087915462e-10,5.386136083780798815e-08,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.008940598184176653e-08,1.435242704912165699e-05,-4.979022525411427824e-08,9.441702961115332008e-08,-1.189957346717065192e-10,5.888186072025247609e-08,-1.776327396779503142e-06,1.626132217819994026e-06,3.830190144507871440e-07,3.979793982428114251e-07,-7.014790702965414796e-05,1.100035191216949956e-04
1.526362035234832271e-03,-6.012824888898950053e-07,1.541469013830646436e-03,-2.592797813725633417e-08,-2.544385541755165984e-05,-3.698909740289534638e-08,1.538299014562874477e-03,2.180664968086653286e-06,-1.540562157272232224e-03,-7.582898023929323033e-08,2.571703324963967274e-05,4.368770391376741256e-08,2.986150961437222112e-02,1.837457899577931049e-06,5.766586351359107368e-06,4.841119164733790273e-08,2.948232702095594310e-08,1.974223905610059264e-08,5.091123938364686650e-03,-4.383963382862310267e-08,-8.081374946674897003e-09,-1.972958873469937791e-11,-1.969257510833621199e-11,2.988684731656464994e-10,-2.055700329282352239e-04,2.053840914860103202e-07,-1.467289711993278230e-06,-2.964915560938937971e-08,-4.030814840418233802e-08,1.445823713673591054e-09,-4.108810992287108992e-04,1.111183163165435986e-02,7.325450917873890236e-04,-3.910526894050984914e-02,-9.420151958147768409e-05,3.453461855854075797e-05
-4.668798262241766000e-07,1.092008746110128756e-03,-1.520641514743615230e-06,1.916887368246320887e-05,3.707082594656183519e-08,-1.527197530382847228e-05,1.186034141511475154e-06,1.090021847386008196e-03,-3.211631223362770827e-06,-1.912489292310461906e-05,7.669385345986570922e-08,-1.522078089210777707e-05,1.837457899577931049e-06,3.218547693514104552e-02,9.913067422507177697e-07,3.812867152105378774e-09,-3.591523398174396785e-08,-2.108516202299742771e-05,4.159172597265905179e-08,4.054472130860127359e-03,-4.753341995849418890e-09,-7.251586823941397826e-13,5.024282928859449837e-11,-4.135490626555723883e-05,8.626457598531354822e-07,-3.542644875461494706e-04,-2.697335560719813495e-06,-1.362451752186638181e-08,-1.089494183560040162e-08,-3.019849457068207243e-07,-9.540480261086760230e-05,2.446184193988854341e-05,1.620157683078033846e-05,9.378239470252840688e-06,1.979859123547628337e-04,6.585405890344845498e-03
-1.745064246003368231e-04,-4.075956429499612055e-07,1.107535705745923927e-03,-1.088587234809755458e-08,1.468530030759727023e-05,2.490881922315957171e-08,1.649047740387377873e-04,-1.325207022276374876e-06,1.107677407028960070e-03,3.059894527932759745e-08,1.452879165408184470e-05,2.930159568836635825e-08,5.766586351359107368e-06,9.913067422507177697e-07,3.241392210858601991e-02,2.826896782085633299e-09,2.494926375463015075e-05,-4.586027165322266898e-09,-9.379374892211356229e-09,-8.212250259567689323e-10,4.053331753043787344e-03,6.863989912003353074e-11,4.136592647600709953e-05,-9.726390444143104754e-11,2.729356834007309451e-06,-1.694904395080998821e-07,1.937803252000565041e-04,2.354358050462486528e-09,-3.515825087423761183e-06,-3.215485076494392053e-09,-1.946356060912559499e-02,-5.780217604255443245e-04,5.430085880767075018e-02,9.389446152417336858e-04,6.146339638147958791e-06,-3.255823302210306017e-05
-1.109205516216676591e-08,-9.763978711736015292e-06,9.538186728237329641e-09,-1.307659106231961651e-07,-4.243149899898385559e-11,1.135895377817342258e-07,-2.919426313306010560e-09,9.780504204745329067e-06,-2.125535756356327197e-08,-1.309475477200604720e-07,3.682406089942980847e-10,-1.131598818971280712e-07,4.841119164733790273e-08,3.812867152105378774e-09,2.826896782085633299e-09,1.197354116511651694e-06,-8.710836376291208011e-11,-7.738116909447681827e-10,9.911005190491681491e-12,7.602083596587937240e-12,-1.187213132887638470e-10,8.591904977869292189e-08,-4.949215588068326058e-13,-2.884750699188225426e-14,1.512958221847471467e-08,-2.276716342384895093e-08,-4.303388819892330946e-09,-3.119944507179045601e-08,-4.454992569061680859e-11,-5.585493543004513094e-11,-2.069260688929290748e-07,7.197964515646434027e-07,5.448228904204791382e-08,1.688887893556412354e-07,-1.364675539721801737e-04,3.781353956144509504e-06
1.544662515470008208e-05,-1.987758171848280986e-09,1.070990473706994234e-05,-1.371872544347609066e-10,-2.448298541627253018e-07,-2.599344357150243908e-10,-1.549089912388516689e-05,-1.292151508003754848e-08,1.070176872494440215e-05,4.567583816274247120e-10,-2.461022313525857294e-07,-3.552475283087915462e-10,2.948232702095594310e-08,-3.591523398174396785e-08,2.494926375463015075e-05,-8.710836376291208011e-11,1.165583691757589372e-06,-3.622147920792200526e-11,3.538954534897608382e-11,3.160579113571414151e-11,-4.126356894708871576e-05,-5.313289727044697289e-13,-3.915368815505351380e-07,7.285872772944631792e-13,-4.110737946960289818e-08,7.079765227559003553e-09,6.336777987880577912e-06,3.189841438041415004e-11,1.180044505841544294e-09,-5.291890048070587499e-11,5.992902476904993128e-05,1.255897582375219958e-06,2.784942101815185726e-04,4.533099716390055372e-06,1.851660229479581726e-07,-6.445332080019974148e-07
8.972501296723185406e-11,6.670361559754391166e-08,3.544724999441598161e-09,-3.153899031763136528e-08,-5.590924880090475142e-11,5.402095541390601796e-08,-4.084385389688405339e-09,7.511041181527693849e-08,3.277061426382349801e-09,3.136273933020337405e-08,-1.059262998319987124e-10,5.386136083780798815e-08,1.974223905610059264e-08,-2.108516202299742771e-05,-4.586027165322266898e-09,-7.738116909447681827e-10,-3.622147920792200526e-11,1.385343650278670499e-06,2.983657779277850696e-10,4.128354504694781260e-05,-6.431660186683227755e-11,-4.220126134146356053e-14,3.155252229994924052e-13,-3.914826726919548336e-07,-3.070547711393259436e-09,7.805257063886365597e-07,3.418720664979126018e-09,4.816189388064040918e-11,9.521828372182657872e-12,3.742716077475449824e-10,9.801773076303316427e-08,4.094727481606651026e-09,1.654722106776775455e-08,-3.752332913638815351e-08,7.462457530283788874e-07,2.546721043522765592e-05
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,5.091123938364686650e-03,4.159172597265905179e-08,-9.379374892211356229e-09,9.911005190491681491e-12,3.538954534897608382e-11,2.983657779277850696e-10,1.583804751296818969e-02,2.764552624015981664e-08,1.014379559126019070e-08,1.153439328600758867e-10,3.539753090424785178e-11,-8.306211574661732851e-10,2.477556402518308297e-03,1.880851193525713907e-08,8.982190997557711488e-10,4.116010459447206072e-11,1.817857605242105993e-12,1.891389500963166072e-11,2.073421799822446093e-15,-1.138809436590432493e-15,-1.702611758654926040e-15,-5.835123821385638269e-15,4.132798200330907072e-12,8.821234789810766910e-12
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-4.383963382862310267e-08,4.054472130860127359e-03,-8.212250259567689323e-10,7.602083596587937240e-12,3.160579113571414151e-11,4.128354504694781260e-05,2.764552624015981664e-08,1.721772780991420032e-02,1.509444005163282295e-08,3.702328369107352955e-11,1.190056124912058633e-10,-4.937630312587707680e-05,3.009224882287702546e-08,2.141532485208008565e-03,-4.058763386641857807e-09,-2.028567037525057206e-11,3.383267869024265468e-11,-1.193704763819182377e-05,-2.516039987071683396e-15,-1.562401258202842405e-15,2.666509142730746717e-15,-1.158774714470924039e-15,-8.131918756291314033e-12,1.188328975713573192e-12
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-8.081374946674897003e-09,-4.753341995849418890e-09,4.053331753043787344e-03,-1.187213132887638470e-10,-4.126356894708871576e-05,-6.431660186683227755e-11,1.014379559126019070e-08,1.509444005163282295e-08,1.722581901142078084e-02,2.755193502055623391e-10,4.941038299932088687e-05,-3.286059169241361173e-10,-6.231070845657670637e-10,1.707909043242850349e-09,2.140022201587438687e-03,-7.900119137371452147e-11,1.192925297945728013e-05,-4.678056785305476066e-11,5.660280438197084154e-17,8.551483531987762465e-16,-5.969503920414246988e-16,-2.654149709078034299e-16,-6.106324138504044733e-12,-1.326305358464349752e-12
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-1.972958873469937791e-11,-7.251586823941397826e-13,6.863989912003353074e-11,8.591904977869292189e-08,-5.313289727044697289e-13,-4.220126134146356053e-14,1.153439328600758867e-10,3.702328369107352955e-11,2.755193502055623391e-10,2.616882487805848604e-07,2.280385139959450865e-12,4.234388089142069637e-13,-4.669968500564964040e-11,-3.161101620480069108e-12,5.241902428093128381e-11,4.266412736924540662e-08,-4.016682469026852481e-14,3.118629056580021306e-14,1.776430379302809414e-17,7.030967543637565320e-18,-1.911984201216578828e-17,-1.205291239363705762e-17,3.515002771263806779e-14,1.766743374898922161e-14
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,-1.969257510833621199e-11,5.024282928859449837e-11,4.136592647600709953e-05,-4.949215588068326058e-13,-3.915368815505351380e-07,3.155252229994924052e-13,3.539753090424785178e-11,1.190056124912058633e-10,4.941038299932088687e-05,2.280385139959450865e-12,5.827927961875376182e-07,-3.594129558547875935e-12,7.240992462209523527e-14,-6.502906668644756475e-11,-1.197685726933055244e-05,1.667763431235762149e-13,-5.368267313587042094e-08,4.490520252150802351e-13,1.445329597349431595e-18,-1.658565793799726192e-18,-1.796559012265829621e-19,4.409543043730753992e-18,2.063137467005570282e-14,5.134207147499640655e-15
0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,2.988684731656464994e-10,-4.135490626555723883e-05,-9.726390444143104754e-11,-2.884750699188225426e-14,7.285872772944631792e-13,-3.914826726919548336e-07,-8.306211574661732851e-10,-4.937630312587707680e-05,-3.286059169241361173e-10,4.234388089142069637e-13,-3.594129558547875935e-12,5.818935528024568841e-07,9.926589276620312321e-12,1.197311366666095167e-05,9.536280436285995002e-12,4.021442367385905087e-14,2.167697357644009390e-13,-5.365327390046775115e-08,4.506551971194674612e-18,-2.877960456941318961e-19,-5.729980766802166529e-18,-1.756968475032437969e-17,-9.361618284169833124e-15,1.760854135105245653e-14
1.825396452580777939e-03,-7.158027451354804802e-07,-8.297489567196014888e-04,-2.020229090800761086e-08,-2.858074900228838454e-05,-3.171752631634308571e-09,1.834751766225578996e-03,-3.059618648662299498e-07,8.249260854195300877e-04,-6.971991155784749461e-09,2.887998487463856165e-05,1.008940598184176653e-08,-2.055700329282352239e-04,8.626457598531354822e-07,2.729356834007309451e-06,1.512958221847471467e-08,-4.110737946960289818e-08,-3.070547711393259436e-09,2.477556402518308297e-03,3.009224882287702546e-08,-6.231070845657670637e-10,-4.669968500564964040e-11,7.240992462209523527e-14,9.926589276620312321e-12,2.391356883711306253e-02,-1.282145787409289225e-06,-3.214155515042224764e-06,-1.415542412953668694e-08,-4.512693350843216138e-08,-1.074240338808274180e-08,3.191121693611184218e-04,-1.599890007583958454e-02,-3.737501023978322969e-04,2.400533582340593983e-02,-5.538566902308577033e-05,-2.121173219752555380e-06
-9.948861092355896187e-07,1.159216052945812037e-03,1.146143076979051826e-06,1.937900423841364833e-05,-2.543915903920236373e-09,1.439966444769548844e-05,2.072563560783651399e-06,1.157683486489578068e-03,-3.020900418177957161e-07,-1.932642698623366717e-05,3.288516376513685405e-08,1.435242704912165699e-05,2.053840914860103202e-07,-3.542644875461494706e-04,-1.694904395080998821e-07,-2.276716342384895093e-08,7.079765227559003553e-09,7.805257063886365597e-07,1.880851193525713907e-08,2.141532485208008565e-03,1.707909043242850349e-09,-3.161101620480069108e-12,-6.502906668644756475e-11,1.197311366666095167e-05,-1.282145787409289225e-06,2.644144318977177666e-02,2.220456255461496306e-07,1.176098605668647304e-08,2.359203311164662301e-08,7.009095324435605080e-05,2.213511168617307708e-05,2.048393085872325645e-05,-1.667719041491555529e-06,-1.046137039038549768e-06,-2.516898199548532372e-04,-1.100484971190517081e-02
-1.034228641590971315e-04,2.660180134760386451e-07,1.008587175066319973e-03,5.911734192184404569e-09,-1.068803865801896532e-05,-5.418257032113064294e-08,1.106693884727988310e-04,1.782376302113344743e-06,1.008187505784626002e-03,-3.794309408768694963e-08,-1.055770094538843161e-05,-4.979022525411427824e-08,-1.467289711993278230e-06,-2.697335560719813495e-06,1.937803252000565041e-04,-4.303388819892330946e-09,6.336777987880577912e-06,3.418720664979126018e-09,8.982190997557711488e-10,-4.058763386641857807e-09,2.140022201587438687e-03,5.241902428093128381e-11,-1.197685726933055244e-05,9.536280436285995002e-12,-3.214155515042224764e-06,2.220456255461496306e-07,2.652586541210986623e-02,-8.797591818841949475e-09,-7.191235935496872707e-05,-8.173614603832773301e-09,5.076392695497881219e-02,1.535313106913188761e-03,2.490093298161156002e-02,4.561714289173275519e-04,2.608381728323489595e-06,4.122464722970570645e-05
1.522106844068990743e-08,-1.035270525781877414e-05,-7.360197755104747025e-09,-1.337146920477737147e-07,-1.011591300875160494e-10,-9.500069516313784108e-08,2.050764899570531600e-08,1.032889897373744964e-05,-5.431135818807517315e-09,-1.331075184990356830e-07,3.121916283144174185e-10,9.441702961115332008e-08,-2.964915560938937971e-08,-1.362451752186638181e-08,2.354358050462486528e-09,-3.119944507179045601e-08,3.189841438041415004e-11,4.816189388064040918e-11,4.116010459447206072e-11,-2.028567037525057206e-11,-7.900119137371452147e-11,4.266412736924540662e-08,1.667763431235762149e-13,4.021442367385905087e-14,-1.415542412953668694e-08,1.176098605668647304e-08,-8.797591818841949475e-09,1.127609153437166272e-06,1.375647397098802915e-11,-7.418269852293293593e-11,-1.228865852920092457e-07,-3.346235774910663652e-07,-2.823085799794089686e-08,-4.112486883734950474e-08,4.088961039747382258e-04,-1.149228524899360260e-05
1.690480000801803878e-05,-1.795051316941698216e-09,-6.014060089449772913e-06,-8.590801361534870548e-11,-2.598378281351281043e-07,-2.714730510660179609e-11,-1.693913639835141984e-05,1.600251588192170695e-09,-5.987095299618908152e-06,5.303552142693448525e-11,-2.613327439889342815e-07,-1.189957346717065192e-10,-4.030814840418233802e-08,-1.089494183560040162e-08,-3.515825087423761183e-06,-4.454992569061680859e-11,1.180044505841544294e-09,9.521828372182657872e-12,1.817857605242105993e-12,3.383267869024265468e-11,1.192925297945728013e-05,-4.016682469026852481e-14,-5.368267313587042094e-08,2.167697357644009390e-13,-4.512693350843216138e-08,2.359203311164662301e-08,-7.191235935496872707e-05,1.375647397098802915e-11,7.085690757528244913e-07,1.674732427043832613e-10,-1.266942667803092190e-04,-4.741112135793510514e-06,-1.628848455992283281e-04,-3.170015743576760585e-06,-3.811215191746712750e-08,-3.899691803600627811e-07
1.441457762661818876e-09,-1.976296487166061230e-07,-3.171276286116626543e-10,2.743826692408501919e-08,-4.046046526084699107e-11,5.889423296747125739e-08,1.194113690682714162e-09,-1.874599877388423470e-07,6.824619934408483737e-09,-2.764453687589907377e-08,-5.458446541142112155e-11,5.888186072025247609e-08,1.445823713673591054e-09,-3.019849457068207243e-07,-3.215485076494392053e-09,-5.585493543004513094e-11,-5.291890048070587499e-11,3.742716077475449824e-10,1.891389500963166072e-11,-1.193704763819182377e-05,-4.678056785305476066e-11,3.118629056580021306e-14,4.490520252150802351e-13,-5.365327390046775115e-08,-1.074240338808274180e-08,7.009095324435605080e-05,-8.173614603832773301e-09,-7.418269852293293593e-11,1.674732427043832613e-10,9.590931888019099317e-07,-1.040354184986034090e-08,-4.083893214533423480e-08,-3.150528908047722833e-08,4.889792300394978986e-09,4.306966049310867438e-06,1.576809419363080537e-04
1.881964318465226618e-02,1.224693738571713620e-05,1.133680337432957375e-02,1.436582493590590977e-07,-6.570127307142901866e-04,-1.454886499857698024e-06,-1.969432159947379773e-02,4.398710235357963626e-05,1.198063854549607024e-02,-7.883218209394655155e-07,-6.932359453207107610e-04,-1.776327396779503142e-06,-4.108810992287108992e-04,-9.540480261086760230e-05,-1.946356060912559499e-02,-2.069260688929290748e-07,5.992902476904993128e-05,9.801773076303316427e-08,2.073421799822446093e-15,-2.516039987071683396e-15,5.660280438197084154e-17,1.776430379302809414e-17,1.445329597349431595e-18,4.506551971194674612e-18,3.191121693611184218e-04,2.213511168617307708e-05,5.076392695497881219e-02,-1.228865852920092457e-07,-1.266942667803092190e-04,-1.040354184986034090e-08,1.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
1.891852489691360148e-02,8.425724786988658956e-06,1.142618693889066450e-02,7.922083192776589500e-08,-6.827902319201428804e-04,-1.467810156137431251e-06,1.761267283589188284e-02,-4.021663156733676115e-05,-1.071648125635806491e-02,7.231128982414243997e-07,6.403525414646151805e-04,1.626132217819994026e-06,1.111183163165435986e-02,2.446184193988854341e-05,-5.780217604255443245e-04,7.197964515646434027e-07,1.255897582375219958e-06,4.094727481606651026e-09,-1.138809436590432493e-15,-1.562401258202842405e-15,8.551483531987762465e-16,7.030967543637565320e-18,-1.658565793799726192e-18,-2.877960456941318961e-19,-1.599890007583958454e-02,2.048393085872325645e-05,1.535313106913188761e-03,-3.346235774910663652e-07,-4.741112135793510514e-06,-4.083893214533423480e-08,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
-1.238269560363562845e-02,-2.792987281876710131e-06,2.857030399578119537e-02,-1.071932885513176235e-07,3.400612310843032860e-04,1.119155214117794464e-07,1.183571470812026967e-02,-8.064526618404580449e-06,2.762137869609124566e-02,1.390555016856702733e-07,3.264668782645281349e-04,3.830190144507871440e-07,7.325450917873890236e-04,1.620157683078033846e-05,5.430085880767075018e-02,5.448228904204791382e-08,2.784942101815185726e-04,1.654722106776775455e-08,-1.702611758654926040e-15,2.666509142730746717e-15,-5.969503920414246988e-16,-1.911984201216578828e-17,-1.796559012265829621e-19,-5.729980766802166529e-18,-3.737501023978322969e-04,-1.667719041491555529e-06,2.490093298161156002e-02,-2.823085799794089686e-08,-1.628848455992283281e-04,-3.150528908047722833e-08,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
1.271698470055658038e-02,9.478632026860526287e-07,-2.680324778367691729e-02,7.450178844215838462e-08,-3.367586741383695207e-04,-7.368557067191898770e-08,1.305851599488310963e-02,-7.870485172931396018e-06,2.779524621483461105e-02,1.383036516171899185e-07,3.470192054947058929e-04,3.979793982428114251e-07,-3.910526894050984914e-02,9.378239470252840688e-06,9.389446152417336858e-04,1.688887893556412354e-07,4.533099716390055372e-06,-3.752332913638815351e-08,-5.835123821385638269e-15,-1.158774714470924039e-15,-2.654149709078034299e-16,-1.205291239363705762e-17,4.409543043730753992e-18,-1.756968475032437969e-17,2.400533582340593983e-02,-1.046137039038549768e-06,4.561714289173275519e-04,-4.112486883734950474e-08,-3.170015743576760585e-06,4.889792300394978986e-09,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00
6.397636245733210475e-05,1.613066166058059253e-03,-1.615816014206646941e-06,1.345104998114586439e-04,-1.150469137000843430e-06,7.529278844748940917e-05,7.627161198701218922e-05,-1.476869621335119001e-03,6.396349705883477659e-06,1.260494752831484622e-04,1.302217507469648515e-06,-7.014790702965414796e-05,-9.420151958147768409e-05,1.979859123547628337e-04,6.146339638147958791e-06,-1.364675539721801737e-04,1.851660229479581726e-07,7.462457530283788874e-07,4.132798200330907072e-12,-8.131918756291314033e-12,-6.106324138504044733e-12,3.515002771263806779e-14,2.063137467005570282e-14,-9.361618284169833124e-15,-5.538566902308577033e-05,-2.516898199548532372e-04,2.608381728323489595e-06,4.088961039747382258e-04,-3.811215191746712750e-08,4.306966049310867438e-06,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00
4.153205762773307878e-05,3.030574880783558789e-03,-2.410470030098440860e-06,1.596360248084656398e-04,-7.980334714743009670e-07,1.054460659418814784e-04,-6.736815642436647068e-05,3.139462475834862813e-03,-7.178265281339794152e-06,-1.669819827237249796e-04,-1.167864297673097961e-06,1.100035191216949956e-04,3.453461855854075797e-05,6.585405890344845498e-03,-3.255823302210306017e-05,3.781353956144509504e-06,-6.445332080019974148e-07,2.546721043522765592e-05,8.821234789810766910e-12,1.188328975713573192e-12,-1.326305358464349752e-12,1.766743374898922161e-14,5.134207147499640655e-15,1.760854135105245653e-14,-2.121173219752555380e-06,-1.100484971190517081e-02,4.122464722970570645e-05,-1.149228524899360260e-05,-3.899691803600627811e-07,1.576809419363080537e-04,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00
1 1.941213933847590195e-02 2.310691197165990401e-06 -6.853119574810857080e-04 6.612731190357267145e-08 -2.124350418392126989e-04 -3.186520103250434904e-08 -7.864953839513322189e-04 -1.680552130615625499e-08 6.487386747731482134e-05 4.448283877924326928e-09 -1.282375226629819308e-05 -1.130559433117855173e-08 1.526362035234832271e-03 -4.668798262241766000e-07 -1.745064246003368231e-04 -1.109205516216676591e-08 1.544662515470008208e-05 8.972501296723185406e-11 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.825396452580777939e-03 -9.948861092355896187e-07 -1.034228641590971315e-04 1.522106844068990743e-08 1.690480000801803878e-05 1.441457762661818876e-09 1.881964318465226618e-02 1.891852489691360148e-02 -1.238269560363562845e-02 1.271698470055658038e-02 6.397636245733210475e-05 4.153205762773307878e-05
2 2.310691197165990401e-06 1.943609346183238634e-02 5.687014815324954440e-07 2.120317930720709359e-04 -4.683521070265611152e-08 -2.349598559263136761e-05 1.224360209015569793e-08 -2.047251337326190838e-04 1.797836318080478077e-07 3.082596304036931558e-06 -2.521079345886402218e-09 9.517828092227884476e-08 -6.012824888898950053e-07 1.092008746110128756e-03 -4.075956429499612055e-07 -9.763978711736015292e-06 -1.987758171848280986e-09 6.670361559754391166e-08 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -7.158027451354804802e-07 1.159216052945812037e-03 2.660180134760386451e-07 -1.035270525781877414e-05 -1.795051316941698216e-09 -1.976296487166061230e-07 1.224693738571713620e-05 8.425724786988658956e-06 -2.792987281876710131e-06 9.478632026860526287e-07 1.613066166058059253e-03 3.030574880783558789e-03
3 -6.853119574810857080e-04 5.687014815324954440e-07 1.872739354901406528e-02 1.444333359744646647e-08 3.195270572159647189e-05 -8.108348132069285121e-08 -6.429170013528339258e-05 -1.064767952096105371e-08 6.783242618058941899e-05 4.442693852819327324e-10 -9.632798561576065082e-07 -2.095933397095325157e-09 1.541469013830646436e-03 -1.520641514743615230e-06 1.107535705745923927e-03 9.538186728237329641e-09 1.070990473706994234e-05 3.544724999441598161e-09 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -8.297489567196014888e-04 1.146143076979051826e-06 1.008587175066319973e-03 -7.360197755104747025e-09 -6.014060089449772913e-06 -3.171276286116626543e-10 1.133680337432957375e-02 1.142618693889066450e-02 2.857030399578119537e-02 -2.680324778367691729e-02 -1.615816014206646941e-06 -2.410470030098440860e-06
4 6.612731190357267145e-08 2.120317930720709359e-04 1.444333359744646647e-08 3.692363755531924753e-06 -1.266256049903284503e-09 -1.365872736439924150e-07 2.665178880535470890e-09 -3.084581282055957268e-06 2.834990996170338077e-09 4.481696527529056075e-08 -6.236341747891780627e-12 1.779342700461133972e-09 -2.592797813725633417e-08 1.916887368246320887e-05 -1.088587234809755458e-08 -1.307659106231961651e-07 -1.371872544347609066e-10 -3.153899031763136528e-08 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -2.020229090800761086e-08 1.937900423841364833e-05 5.911734192184404569e-09 -1.337146920477737147e-07 -8.590801361534870548e-11 2.743826692408501919e-08 1.436582493590590977e-07 7.922083192776589500e-08 -1.071932885513176235e-07 7.450178844215838462e-08 1.345104998114586439e-04 1.596360248084656398e-04
5 -2.124350418392126989e-04 -4.683521070265611152e-08 3.195270572159647189e-05 -1.266256049903284503e-09 3.590921845948433530e-06 2.009777238506123157e-09 1.279902904051491226e-05 -6.386610813300896725e-10 -9.733303561213900540e-07 -5.056528560849447805e-11 2.069326399202210192e-07 1.886815484087454092e-10 -2.544385541755165984e-05 3.707082594656183519e-08 1.468530030759727023e-05 -4.243149899898385559e-11 -2.448298541627253018e-07 -5.590924880090475142e-11 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -2.858074900228838454e-05 -2.543915903920236373e-09 -1.068803865801896532e-05 -1.011591300875160494e-10 -2.598378281351281043e-07 -4.046046526084699107e-11 -6.570127307142901866e-04 -6.827902319201428804e-04 3.400612310843032860e-04 -3.367586741383695207e-04 -1.150469137000843430e-06 -7.980334714743009670e-07
6 -3.186520103250434904e-08 -2.349598559263136761e-05 -8.108348132069285121e-08 -1.365872736439924150e-07 2.009777238506123157e-09 7.776028688273636800e-07 7.592799419934575786e-09 1.004935963923786855e-07 -8.469403359801861923e-10 -1.856728942679448409e-09 1.397568791723178051e-10 -1.126064051088119230e-08 -3.698909740289534638e-08 -1.527197530382847228e-05 2.490881922315957171e-08 1.135895377817342258e-07 -2.599344357150243908e-10 5.402095541390601796e-08 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -3.171752631634308571e-09 1.439966444769548844e-05 -5.418257032113064294e-08 -9.500069516313784108e-08 -2.714730510660179609e-11 5.889423296747125739e-08 -1.454886499857698024e-06 -1.467810156137431251e-06 1.119155214117794464e-07 -7.368557067191898770e-08 7.529278844748940917e-05 1.054460659418814784e-04
7 -7.864953839513322189e-04 1.224360209015569793e-08 -6.429170013528339258e-05 2.665178880535470890e-09 1.279902904051491226e-05 7.592799419934575786e-09 1.936839424331349840e-02 -6.358219232105812892e-06 6.871934750650472018e-04 1.683098447874357815e-07 2.115449842446825339e-04 1.190186098013398869e-07 1.538299014562874477e-03 1.186034141511475154e-06 1.649047740387377873e-04 -2.919426313306010560e-09 -1.549089912388516689e-05 -4.084385389688405339e-09 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.834751766225578996e-03 2.072563560783651399e-06 1.106693884727988310e-04 2.050764899570531600e-08 -1.693913639835141984e-05 1.194113690682714162e-09 -1.969432159947379773e-02 1.761267283589188284e-02 1.183571470812026967e-02 1.305851599488310963e-02 7.627161198701218922e-05 -6.736815642436647068e-05
8 -1.680552130615625499e-08 -2.047251337326190838e-04 -1.064767952096105371e-08 -3.084581282055957268e-06 -6.386610813300896725e-10 1.004935963923786855e-07 -6.358219232105812892e-06 1.944387627925764361e-02 4.481095192191438439e-06 -2.122179093273560125e-04 -1.582380322151094441e-07 -2.343772817635101703e-05 2.180664968086653286e-06 1.090021847386008196e-03 -1.325207022276374876e-06 9.780504204745329067e-06 -1.292151508003754848e-08 7.511041181527693849e-08 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -3.059618648662299498e-07 1.157683486489578068e-03 1.782376302113344743e-06 1.032889897373744964e-05 1.600251588192170695e-09 -1.874599877388423470e-07 4.398710235357963626e-05 -4.021663156733676115e-05 -8.064526618404580449e-06 -7.870485172931396018e-06 -1.476869621335119001e-03 3.139462475834862813e-03
9 6.487386747731482134e-05 1.797836318080478077e-07 6.783242618058941899e-05 2.834990996170338077e-09 -9.733303561213900540e-07 -8.469403359801861923e-10 6.871934750650472018e-04 4.481095192191438439e-06 1.872959885100724045e-02 -9.392836229850749527e-08 3.196630046360530894e-05 -8.679998208815885555e-08 -1.540562157272232224e-03 -3.211631223362770827e-06 1.107677407028960070e-03 -2.125535756356327197e-08 1.070176872494440215e-05 3.277061426382349801e-09 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 8.249260854195300877e-04 -3.020900418177957161e-07 1.008187505784626002e-03 -5.431135818807517315e-09 -5.987095299618908152e-06 6.824619934408483737e-09 1.198063854549607024e-02 -1.071648125635806491e-02 2.762137869609124566e-02 2.779524621483461105e-02 6.396349705883477659e-06 -7.178265281339794152e-06
10 4.448283877924326928e-09 3.082596304036931558e-06 4.442693852819327324e-10 4.481696527529056075e-08 -5.056528560849447805e-11 -1.856728942679448409e-09 1.683098447874357815e-07 -2.122179093273560125e-04 -9.392836229850749527e-08 3.696746652010075394e-06 3.809476660346366963e-09 1.351500300912581044e-07 -7.582898023929323033e-08 -1.912489292310461906e-05 3.059894527932759745e-08 -1.309475477200604720e-07 4.567583816274247120e-10 3.136273933020337405e-08 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -6.971991155784749461e-09 -1.932642698623366717e-05 -3.794309408768694963e-08 -1.331075184990356830e-07 5.303552142693448525e-11 -2.764453687589907377e-08 -7.883218209394655155e-07 7.231128982414243997e-07 1.390555016856702733e-07 1.383036516171899185e-07 1.260494752831484622e-04 -1.669819827237249796e-04
11 -1.282375226629819308e-05 -2.521079345886402218e-09 -9.632798561576065082e-07 -6.236341747891780627e-12 2.069326399202210192e-07 1.397568791723178051e-10 2.115449842446825339e-04 -1.582380322151094441e-07 3.196630046360530894e-05 3.809476660346366963e-09 3.574098435821176575e-06 3.613692814474959499e-09 2.571703324963967274e-05 7.669385345986570922e-08 1.452879165408184470e-05 3.682406089942980847e-10 -2.461022313525857294e-07 -1.059262998319987124e-10 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 2.887998487463856165e-05 3.288516376513685405e-08 -1.055770094538843161e-05 3.121916283144174185e-10 -2.613327439889342815e-07 -5.458446541142112155e-11 -6.932359453207107610e-04 6.403525414646151805e-04 3.264668782645281349e-04 3.470192054947058929e-04 1.302217507469648515e-06 -1.167864297673097961e-06
12 -1.130559433117855173e-08 9.517828092227884476e-08 -2.095933397095325157e-09 1.779342700461133972e-09 1.886815484087454092e-10 -1.126064051088119230e-08 1.190186098013398869e-07 -2.343772817635101703e-05 -8.679998208815885555e-08 1.351500300912581044e-07 3.613692814474959499e-09 7.757695963174168962e-07 4.368770391376741256e-08 -1.522078089210777707e-05 2.930159568836635825e-08 -1.131598818971280712e-07 -3.552475283087915462e-10 5.386136083780798815e-08 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.008940598184176653e-08 1.435242704912165699e-05 -4.979022525411427824e-08 9.441702961115332008e-08 -1.189957346717065192e-10 5.888186072025247609e-08 -1.776327396779503142e-06 1.626132217819994026e-06 3.830190144507871440e-07 3.979793982428114251e-07 -7.014790702965414796e-05 1.100035191216949956e-04
13 1.526362035234832271e-03 -6.012824888898950053e-07 1.541469013830646436e-03 -2.592797813725633417e-08 -2.544385541755165984e-05 -3.698909740289534638e-08 1.538299014562874477e-03 2.180664968086653286e-06 -1.540562157272232224e-03 -7.582898023929323033e-08 2.571703324963967274e-05 4.368770391376741256e-08 2.986150961437222112e-02 1.837457899577931049e-06 5.766586351359107368e-06 4.841119164733790273e-08 2.948232702095594310e-08 1.974223905610059264e-08 5.091123938364686650e-03 -4.383963382862310267e-08 -8.081374946674897003e-09 -1.972958873469937791e-11 -1.969257510833621199e-11 2.988684731656464994e-10 -2.055700329282352239e-04 2.053840914860103202e-07 -1.467289711993278230e-06 -2.964915560938937971e-08 -4.030814840418233802e-08 1.445823713673591054e-09 -4.108810992287108992e-04 1.111183163165435986e-02 7.325450917873890236e-04 -3.910526894050984914e-02 -9.420151958147768409e-05 3.453461855854075797e-05
14 -4.668798262241766000e-07 1.092008746110128756e-03 -1.520641514743615230e-06 1.916887368246320887e-05 3.707082594656183519e-08 -1.527197530382847228e-05 1.186034141511475154e-06 1.090021847386008196e-03 -3.211631223362770827e-06 -1.912489292310461906e-05 7.669385345986570922e-08 -1.522078089210777707e-05 1.837457899577931049e-06 3.218547693514104552e-02 9.913067422507177697e-07 3.812867152105378774e-09 -3.591523398174396785e-08 -2.108516202299742771e-05 4.159172597265905179e-08 4.054472130860127359e-03 -4.753341995849418890e-09 -7.251586823941397826e-13 5.024282928859449837e-11 -4.135490626555723883e-05 8.626457598531354822e-07 -3.542644875461494706e-04 -2.697335560719813495e-06 -1.362451752186638181e-08 -1.089494183560040162e-08 -3.019849457068207243e-07 -9.540480261086760230e-05 2.446184193988854341e-05 1.620157683078033846e-05 9.378239470252840688e-06 1.979859123547628337e-04 6.585405890344845498e-03
15 -1.745064246003368231e-04 -4.075956429499612055e-07 1.107535705745923927e-03 -1.088587234809755458e-08 1.468530030759727023e-05 2.490881922315957171e-08 1.649047740387377873e-04 -1.325207022276374876e-06 1.107677407028960070e-03 3.059894527932759745e-08 1.452879165408184470e-05 2.930159568836635825e-08 5.766586351359107368e-06 9.913067422507177697e-07 3.241392210858601991e-02 2.826896782085633299e-09 2.494926375463015075e-05 -4.586027165322266898e-09 -9.379374892211356229e-09 -8.212250259567689323e-10 4.053331753043787344e-03 6.863989912003353074e-11 4.136592647600709953e-05 -9.726390444143104754e-11 2.729356834007309451e-06 -1.694904395080998821e-07 1.937803252000565041e-04 2.354358050462486528e-09 -3.515825087423761183e-06 -3.215485076494392053e-09 -1.946356060912559499e-02 -5.780217604255443245e-04 5.430085880767075018e-02 9.389446152417336858e-04 6.146339638147958791e-06 -3.255823302210306017e-05
16 -1.109205516216676591e-08 -9.763978711736015292e-06 9.538186728237329641e-09 -1.307659106231961651e-07 -4.243149899898385559e-11 1.135895377817342258e-07 -2.919426313306010560e-09 9.780504204745329067e-06 -2.125535756356327197e-08 -1.309475477200604720e-07 3.682406089942980847e-10 -1.131598818971280712e-07 4.841119164733790273e-08 3.812867152105378774e-09 2.826896782085633299e-09 1.197354116511651694e-06 -8.710836376291208011e-11 -7.738116909447681827e-10 9.911005190491681491e-12 7.602083596587937240e-12 -1.187213132887638470e-10 8.591904977869292189e-08 -4.949215588068326058e-13 -2.884750699188225426e-14 1.512958221847471467e-08 -2.276716342384895093e-08 -4.303388819892330946e-09 -3.119944507179045601e-08 -4.454992569061680859e-11 -5.585493543004513094e-11 -2.069260688929290748e-07 7.197964515646434027e-07 5.448228904204791382e-08 1.688887893556412354e-07 -1.364675539721801737e-04 3.781353956144509504e-06
17 1.544662515470008208e-05 -1.987758171848280986e-09 1.070990473706994234e-05 -1.371872544347609066e-10 -2.448298541627253018e-07 -2.599344357150243908e-10 -1.549089912388516689e-05 -1.292151508003754848e-08 1.070176872494440215e-05 4.567583816274247120e-10 -2.461022313525857294e-07 -3.552475283087915462e-10 2.948232702095594310e-08 -3.591523398174396785e-08 2.494926375463015075e-05 -8.710836376291208011e-11 1.165583691757589372e-06 -3.622147920792200526e-11 3.538954534897608382e-11 3.160579113571414151e-11 -4.126356894708871576e-05 -5.313289727044697289e-13 -3.915368815505351380e-07 7.285872772944631792e-13 -4.110737946960289818e-08 7.079765227559003553e-09 6.336777987880577912e-06 3.189841438041415004e-11 1.180044505841544294e-09 -5.291890048070587499e-11 5.992902476904993128e-05 1.255897582375219958e-06 2.784942101815185726e-04 4.533099716390055372e-06 1.851660229479581726e-07 -6.445332080019974148e-07
18 8.972501296723185406e-11 6.670361559754391166e-08 3.544724999441598161e-09 -3.153899031763136528e-08 -5.590924880090475142e-11 5.402095541390601796e-08 -4.084385389688405339e-09 7.511041181527693849e-08 3.277061426382349801e-09 3.136273933020337405e-08 -1.059262998319987124e-10 5.386136083780798815e-08 1.974223905610059264e-08 -2.108516202299742771e-05 -4.586027165322266898e-09 -7.738116909447681827e-10 -3.622147920792200526e-11 1.385343650278670499e-06 2.983657779277850696e-10 4.128354504694781260e-05 -6.431660186683227755e-11 -4.220126134146356053e-14 3.155252229994924052e-13 -3.914826726919548336e-07 -3.070547711393259436e-09 7.805257063886365597e-07 3.418720664979126018e-09 4.816189388064040918e-11 9.521828372182657872e-12 3.742716077475449824e-10 9.801773076303316427e-08 4.094727481606651026e-09 1.654722106776775455e-08 -3.752332913638815351e-08 7.462457530283788874e-07 2.546721043522765592e-05
19 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 5.091123938364686650e-03 4.159172597265905179e-08 -9.379374892211356229e-09 9.911005190491681491e-12 3.538954534897608382e-11 2.983657779277850696e-10 1.583804751296818969e-02 2.764552624015981664e-08 1.014379559126019070e-08 1.153439328600758867e-10 3.539753090424785178e-11 -8.306211574661732851e-10 2.477556402518308297e-03 1.880851193525713907e-08 8.982190997557711488e-10 4.116010459447206072e-11 1.817857605242105993e-12 1.891389500963166072e-11 2.073421799822446093e-15 -1.138809436590432493e-15 -1.702611758654926040e-15 -5.835123821385638269e-15 4.132798200330907072e-12 8.821234789810766910e-12
20 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -4.383963382862310267e-08 4.054472130860127359e-03 -8.212250259567689323e-10 7.602083596587937240e-12 3.160579113571414151e-11 4.128354504694781260e-05 2.764552624015981664e-08 1.721772780991420032e-02 1.509444005163282295e-08 3.702328369107352955e-11 1.190056124912058633e-10 -4.937630312587707680e-05 3.009224882287702546e-08 2.141532485208008565e-03 -4.058763386641857807e-09 -2.028567037525057206e-11 3.383267869024265468e-11 -1.193704763819182377e-05 -2.516039987071683396e-15 -1.562401258202842405e-15 2.666509142730746717e-15 -1.158774714470924039e-15 -8.131918756291314033e-12 1.188328975713573192e-12
21 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -8.081374946674897003e-09 -4.753341995849418890e-09 4.053331753043787344e-03 -1.187213132887638470e-10 -4.126356894708871576e-05 -6.431660186683227755e-11 1.014379559126019070e-08 1.509444005163282295e-08 1.722581901142078084e-02 2.755193502055623391e-10 4.941038299932088687e-05 -3.286059169241361173e-10 -6.231070845657670637e-10 1.707909043242850349e-09 2.140022201587438687e-03 -7.900119137371452147e-11 1.192925297945728013e-05 -4.678056785305476066e-11 5.660280438197084154e-17 8.551483531987762465e-16 -5.969503920414246988e-16 -2.654149709078034299e-16 -6.106324138504044733e-12 -1.326305358464349752e-12
22 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -1.972958873469937791e-11 -7.251586823941397826e-13 6.863989912003353074e-11 8.591904977869292189e-08 -5.313289727044697289e-13 -4.220126134146356053e-14 1.153439328600758867e-10 3.702328369107352955e-11 2.755193502055623391e-10 2.616882487805848604e-07 2.280385139959450865e-12 4.234388089142069637e-13 -4.669968500564964040e-11 -3.161101620480069108e-12 5.241902428093128381e-11 4.266412736924540662e-08 -4.016682469026852481e-14 3.118629056580021306e-14 1.776430379302809414e-17 7.030967543637565320e-18 -1.911984201216578828e-17 -1.205291239363705762e-17 3.515002771263806779e-14 1.766743374898922161e-14
23 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 -1.969257510833621199e-11 5.024282928859449837e-11 4.136592647600709953e-05 -4.949215588068326058e-13 -3.915368815505351380e-07 3.155252229994924052e-13 3.539753090424785178e-11 1.190056124912058633e-10 4.941038299932088687e-05 2.280385139959450865e-12 5.827927961875376182e-07 -3.594129558547875935e-12 7.240992462209523527e-14 -6.502906668644756475e-11 -1.197685726933055244e-05 1.667763431235762149e-13 -5.368267313587042094e-08 4.490520252150802351e-13 1.445329597349431595e-18 -1.658565793799726192e-18 -1.796559012265829621e-19 4.409543043730753992e-18 2.063137467005570282e-14 5.134207147499640655e-15
24 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 2.988684731656464994e-10 -4.135490626555723883e-05 -9.726390444143104754e-11 -2.884750699188225426e-14 7.285872772944631792e-13 -3.914826726919548336e-07 -8.306211574661732851e-10 -4.937630312587707680e-05 -3.286059169241361173e-10 4.234388089142069637e-13 -3.594129558547875935e-12 5.818935528024568841e-07 9.926589276620312321e-12 1.197311366666095167e-05 9.536280436285995002e-12 4.021442367385905087e-14 2.167697357644009390e-13 -5.365327390046775115e-08 4.506551971194674612e-18 -2.877960456941318961e-19 -5.729980766802166529e-18 -1.756968475032437969e-17 -9.361618284169833124e-15 1.760854135105245653e-14
25 1.825396452580777939e-03 -7.158027451354804802e-07 -8.297489567196014888e-04 -2.020229090800761086e-08 -2.858074900228838454e-05 -3.171752631634308571e-09 1.834751766225578996e-03 -3.059618648662299498e-07 8.249260854195300877e-04 -6.971991155784749461e-09 2.887998487463856165e-05 1.008940598184176653e-08 -2.055700329282352239e-04 8.626457598531354822e-07 2.729356834007309451e-06 1.512958221847471467e-08 -4.110737946960289818e-08 -3.070547711393259436e-09 2.477556402518308297e-03 3.009224882287702546e-08 -6.231070845657670637e-10 -4.669968500564964040e-11 7.240992462209523527e-14 9.926589276620312321e-12 2.391356883711306253e-02 -1.282145787409289225e-06 -3.214155515042224764e-06 -1.415542412953668694e-08 -4.512693350843216138e-08 -1.074240338808274180e-08 3.191121693611184218e-04 -1.599890007583958454e-02 -3.737501023978322969e-04 2.400533582340593983e-02 -5.538566902308577033e-05 -2.121173219752555380e-06
26 -9.948861092355896187e-07 1.159216052945812037e-03 1.146143076979051826e-06 1.937900423841364833e-05 -2.543915903920236373e-09 1.439966444769548844e-05 2.072563560783651399e-06 1.157683486489578068e-03 -3.020900418177957161e-07 -1.932642698623366717e-05 3.288516376513685405e-08 1.435242704912165699e-05 2.053840914860103202e-07 -3.542644875461494706e-04 -1.694904395080998821e-07 -2.276716342384895093e-08 7.079765227559003553e-09 7.805257063886365597e-07 1.880851193525713907e-08 2.141532485208008565e-03 1.707909043242850349e-09 -3.161101620480069108e-12 -6.502906668644756475e-11 1.197311366666095167e-05 -1.282145787409289225e-06 2.644144318977177666e-02 2.220456255461496306e-07 1.176098605668647304e-08 2.359203311164662301e-08 7.009095324435605080e-05 2.213511168617307708e-05 2.048393085872325645e-05 -1.667719041491555529e-06 -1.046137039038549768e-06 -2.516898199548532372e-04 -1.100484971190517081e-02
27 -1.034228641590971315e-04 2.660180134760386451e-07 1.008587175066319973e-03 5.911734192184404569e-09 -1.068803865801896532e-05 -5.418257032113064294e-08 1.106693884727988310e-04 1.782376302113344743e-06 1.008187505784626002e-03 -3.794309408768694963e-08 -1.055770094538843161e-05 -4.979022525411427824e-08 -1.467289711993278230e-06 -2.697335560719813495e-06 1.937803252000565041e-04 -4.303388819892330946e-09 6.336777987880577912e-06 3.418720664979126018e-09 8.982190997557711488e-10 -4.058763386641857807e-09 2.140022201587438687e-03 5.241902428093128381e-11 -1.197685726933055244e-05 9.536280436285995002e-12 -3.214155515042224764e-06 2.220456255461496306e-07 2.652586541210986623e-02 -8.797591818841949475e-09 -7.191235935496872707e-05 -8.173614603832773301e-09 5.076392695497881219e-02 1.535313106913188761e-03 2.490093298161156002e-02 4.561714289173275519e-04 2.608381728323489595e-06 4.122464722970570645e-05
28 1.522106844068990743e-08 -1.035270525781877414e-05 -7.360197755104747025e-09 -1.337146920477737147e-07 -1.011591300875160494e-10 -9.500069516313784108e-08 2.050764899570531600e-08 1.032889897373744964e-05 -5.431135818807517315e-09 -1.331075184990356830e-07 3.121916283144174185e-10 9.441702961115332008e-08 -2.964915560938937971e-08 -1.362451752186638181e-08 2.354358050462486528e-09 -3.119944507179045601e-08 3.189841438041415004e-11 4.816189388064040918e-11 4.116010459447206072e-11 -2.028567037525057206e-11 -7.900119137371452147e-11 4.266412736924540662e-08 1.667763431235762149e-13 4.021442367385905087e-14 -1.415542412953668694e-08 1.176098605668647304e-08 -8.797591818841949475e-09 1.127609153437166272e-06 1.375647397098802915e-11 -7.418269852293293593e-11 -1.228865852920092457e-07 -3.346235774910663652e-07 -2.823085799794089686e-08 -4.112486883734950474e-08 4.088961039747382258e-04 -1.149228524899360260e-05
29 1.690480000801803878e-05 -1.795051316941698216e-09 -6.014060089449772913e-06 -8.590801361534870548e-11 -2.598378281351281043e-07 -2.714730510660179609e-11 -1.693913639835141984e-05 1.600251588192170695e-09 -5.987095299618908152e-06 5.303552142693448525e-11 -2.613327439889342815e-07 -1.189957346717065192e-10 -4.030814840418233802e-08 -1.089494183560040162e-08 -3.515825087423761183e-06 -4.454992569061680859e-11 1.180044505841544294e-09 9.521828372182657872e-12 1.817857605242105993e-12 3.383267869024265468e-11 1.192925297945728013e-05 -4.016682469026852481e-14 -5.368267313587042094e-08 2.167697357644009390e-13 -4.512693350843216138e-08 2.359203311164662301e-08 -7.191235935496872707e-05 1.375647397098802915e-11 7.085690757528244913e-07 1.674732427043832613e-10 -1.266942667803092190e-04 -4.741112135793510514e-06 -1.628848455992283281e-04 -3.170015743576760585e-06 -3.811215191746712750e-08 -3.899691803600627811e-07
30 1.441457762661818876e-09 -1.976296487166061230e-07 -3.171276286116626543e-10 2.743826692408501919e-08 -4.046046526084699107e-11 5.889423296747125739e-08 1.194113690682714162e-09 -1.874599877388423470e-07 6.824619934408483737e-09 -2.764453687589907377e-08 -5.458446541142112155e-11 5.888186072025247609e-08 1.445823713673591054e-09 -3.019849457068207243e-07 -3.215485076494392053e-09 -5.585493543004513094e-11 -5.291890048070587499e-11 3.742716077475449824e-10 1.891389500963166072e-11 -1.193704763819182377e-05 -4.678056785305476066e-11 3.118629056580021306e-14 4.490520252150802351e-13 -5.365327390046775115e-08 -1.074240338808274180e-08 7.009095324435605080e-05 -8.173614603832773301e-09 -7.418269852293293593e-11 1.674732427043832613e-10 9.590931888019099317e-07 -1.040354184986034090e-08 -4.083893214533423480e-08 -3.150528908047722833e-08 4.889792300394978986e-09 4.306966049310867438e-06 1.576809419363080537e-04
31 1.881964318465226618e-02 1.224693738571713620e-05 1.133680337432957375e-02 1.436582493590590977e-07 -6.570127307142901866e-04 -1.454886499857698024e-06 -1.969432159947379773e-02 4.398710235357963626e-05 1.198063854549607024e-02 -7.883218209394655155e-07 -6.932359453207107610e-04 -1.776327396779503142e-06 -4.108810992287108992e-04 -9.540480261086760230e-05 -1.946356060912559499e-02 -2.069260688929290748e-07 5.992902476904993128e-05 9.801773076303316427e-08 2.073421799822446093e-15 -2.516039987071683396e-15 5.660280438197084154e-17 1.776430379302809414e-17 1.445329597349431595e-18 4.506551971194674612e-18 3.191121693611184218e-04 2.213511168617307708e-05 5.076392695497881219e-02 -1.228865852920092457e-07 -1.266942667803092190e-04 -1.040354184986034090e-08 1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
32 1.891852489691360148e-02 8.425724786988658956e-06 1.142618693889066450e-02 7.922083192776589500e-08 -6.827902319201428804e-04 -1.467810156137431251e-06 1.761267283589188284e-02 -4.021663156733676115e-05 -1.071648125635806491e-02 7.231128982414243997e-07 6.403525414646151805e-04 1.626132217819994026e-06 1.111183163165435986e-02 2.446184193988854341e-05 -5.780217604255443245e-04 7.197964515646434027e-07 1.255897582375219958e-06 4.094727481606651026e-09 -1.138809436590432493e-15 -1.562401258202842405e-15 8.551483531987762465e-16 7.030967543637565320e-18 -1.658565793799726192e-18 -2.877960456941318961e-19 -1.599890007583958454e-02 2.048393085872325645e-05 1.535313106913188761e-03 -3.346235774910663652e-07 -4.741112135793510514e-06 -4.083893214533423480e-08 0.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
33 -1.238269560363562845e-02 -2.792987281876710131e-06 2.857030399578119537e-02 -1.071932885513176235e-07 3.400612310843032860e-04 1.119155214117794464e-07 1.183571470812026967e-02 -8.064526618404580449e-06 2.762137869609124566e-02 1.390555016856702733e-07 3.264668782645281349e-04 3.830190144507871440e-07 7.325450917873890236e-04 1.620157683078033846e-05 5.430085880767075018e-02 5.448228904204791382e-08 2.784942101815185726e-04 1.654722106776775455e-08 -1.702611758654926040e-15 2.666509142730746717e-15 -5.969503920414246988e-16 -1.911984201216578828e-17 -1.796559012265829621e-19 -5.729980766802166529e-18 -3.737501023978322969e-04 -1.667719041491555529e-06 2.490093298161156002e-02 -2.823085799794089686e-08 -1.628848455992283281e-04 -3.150528908047722833e-08 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
34 1.271698470055658038e-02 9.478632026860526287e-07 -2.680324778367691729e-02 7.450178844215838462e-08 -3.367586741383695207e-04 -7.368557067191898770e-08 1.305851599488310963e-02 -7.870485172931396018e-06 2.779524621483461105e-02 1.383036516171899185e-07 3.470192054947058929e-04 3.979793982428114251e-07 -3.910526894050984914e-02 9.378239470252840688e-06 9.389446152417336858e-04 1.688887893556412354e-07 4.533099716390055372e-06 -3.752332913638815351e-08 -5.835123821385638269e-15 -1.158774714470924039e-15 -2.654149709078034299e-16 -1.205291239363705762e-17 4.409543043730753992e-18 -1.756968475032437969e-17 2.400533582340593983e-02 -1.046137039038549768e-06 4.561714289173275519e-04 -4.112486883734950474e-08 -3.170015743576760585e-06 4.889792300394978986e-09 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
35 6.397636245733210475e-05 1.613066166058059253e-03 -1.615816014206646941e-06 1.345104998114586439e-04 -1.150469137000843430e-06 7.529278844748940917e-05 7.627161198701218922e-05 -1.476869621335119001e-03 6.396349705883477659e-06 1.260494752831484622e-04 1.302217507469648515e-06 -7.014790702965414796e-05 -9.420151958147768409e-05 1.979859123547628337e-04 6.146339638147958791e-06 -1.364675539721801737e-04 1.851660229479581726e-07 7.462457530283788874e-07 4.132798200330907072e-12 -8.131918756291314033e-12 -6.106324138504044733e-12 3.515002771263806779e-14 2.063137467005570282e-14 -9.361618284169833124e-15 -5.538566902308577033e-05 -2.516898199548532372e-04 2.608381728323489595e-06 4.088961039747382258e-04 -3.811215191746712750e-08 4.306966049310867438e-06 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00
36 4.153205762773307878e-05 3.030574880783558789e-03 -2.410470030098440860e-06 1.596360248084656398e-04 -7.980334714743009670e-07 1.054460659418814784e-04 -6.736815642436647068e-05 3.139462475834862813e-03 -7.178265281339794152e-06 -1.669819827237249796e-04 -1.167864297673097961e-06 1.100035191216949956e-04 3.453461855854075797e-05 6.585405890344845498e-03 -3.255823302210306017e-05 3.781353956144509504e-06 -6.445332080019974148e-07 2.546721043522765592e-05 8.821234789810766910e-12 1.188328975713573192e-12 -1.326305358464349752e-12 1.766743374898922161e-14 5.134207147499640655e-15 1.760854135105245653e-14 -2.121173219752555380e-06 -1.100484971190517081e-02 4.122464722970570645e-05 -1.149228524899360260e-05 -3.899691803600627811e-07 1.576809419363080537e-04 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00

View File

@@ -0,0 +1,61 @@
LIST ALL SELECTED NODES. DSYS= 0
*** ANSYS - ENGINEERING ANALYSIS SYSTEM RELEASE 2020 R2 20.2 ***
DISTRIBUTED ANSYS Mechanical Enterprise
00208316 VERSION=WINDOWS x64 10:10:05 MAR 26, 2021 CP= 2.188
Unknown
NODE X Y Z THXY THYZ THZX
1 0.0000 0.0000 0.28000E-001 0.00 0.00 0.00
1228810 0.0000 0.0000 -0.28000E-001 0.00 0.00 0.00
1228811 -0.30000E-001 0.0000 0.0000 0.00 0.00 0.00
1228812 0.10000E-001 0.0000 0.0000 0.00 0.00 0.00
1228813 0.30000E-001 0.0000 0.0000 0.00 0.00 0.00
LIST MASTERS ON ALL SELECTED NODES.
CURRENT DOF SET= UX UY UZ ROTX ROTY ROTZ
*** ANSYS - ENGINEERING ANALYSIS SYSTEM RELEASE 2020 R2 20.2 ***
DISTRIBUTED ANSYS Mechanical Enterprise
00208316 VERSION=WINDOWS x64 10:10:05 MAR 26, 2021 CP= 2.188
Unknown
NODE LABEL SUPPORT
1 UX
1 UY
1 UZ
1 ROTX
1 ROTY
1 ROTZ
1228810 UX
1228810 UY
1228810 UZ
1228810 ROTX
1228810 ROTY
1228810 ROTZ
1228811 UX
1228811 UY
1228811 UZ
1228811 ROTX
1228811 ROTY
1228811 ROTZ
1228812 UX
1228812 UY
1228812 UZ
1228812 ROTX
1228812 ROTY
1228812 ROTZ
1228813 UX
1228813 UY
1228813 UZ
1228813 ROTX
1228813 ROTY
1228813 ROTZ

Binary file not shown.

View File

@@ -53,26 +53,22 @@ if args.Ga == 0
switch args.type
case '2dof'
actuator.Ga = -2.5796;
case 'flexible frame'
actuator.Ga = 1; % TODO
case 'flexible'
actuator.Ga = 23.2;
end
else
actuator.Ga = args.Ga; % Actuator gain [N/V]
actuator.Ga = args.Ga; % Actuator sensitivity [N/V]
end
if args.Gs == 0
switch args.type
case '2dof'
actuator.Gs = 466664;
case 'flexible frame'
actuator.Gs = 1; % TODO
case 'flexible'
actuator.Gs = -4898341;
end
else
actuator.Gs = args.Gs; % Sensor gain [V/m]
actuator.Gs = args.Gs; % Sensor sensitivity [V/m]
end
actuator.k = args.k; % [N/m]

View File

@@ -11,21 +11,6 @@ addpath('./mat/'); % Path for data
%% Colors for the figures
colors = colororder;
% Geometrical Measurements
% <<sec:test_apa_geometrical_measurements>>
% To measure the flatness of the two mechanical interfaces of the APA300ML, a small measurement bench is installed on top of a metrology granite with very good flatness.
% As shown in Figure ref:fig:test_apa_flatness_setup, the APA is fixed to a clamp while a measuring probe[fn:3] is used to measure the height of 4 points on each of the APA300ML interfaces.
% From the X-Y-Z coordinates of the measured 8 points, the flatness is estimated by best fitting[fn:4] a plane through all the points.
% #+name: fig:test_apa_flatness_setup
% #+attr_latex: :width 0.4\linewidth
% #+caption: Measurement setup for flatness estimation of the two mechanical interfaces
% [[file:figs/test_apa_flatness_setup.png]]
%% Measured height for all the APA at the 8 locations
apa1 = 1e-6*[0, -0.5 , 3.5 , 3.5 , 42 , 45.5, 52.5 , 46];
apa2 = 1e-6*[0, -2.5 , -3 , 0 , -1.5 , 1 , -2 , -4];
@@ -61,47 +46,17 @@ for i = 1:7
apa_d(i) = min_d;
end
% Stroke and Hysteresis Measurement
% <<sec:test_apa_stroke_measurements>>
% The goal is here to verify that the stroke of the APA300ML is as specified in the datasheet.
% To do so, one side of the APA is fixed to the granite, and a displacement probe[fn:2] is located on the other side as shown in Figure ref:fig:test_apa_stroke_bench.
% Then, the voltage across the two actuator stacks is varied from $-20\,V$ to $150\,V$ using a DAC and a voltage amplifier.
% Note that the voltage is here slowly varied as the displacement probe has a very low measurement bandwidth (see Figure ref:fig:test_apa_stroke_bench, left).
% #+name: fig:test_apa_stroke_bench
% #+caption: Bench to measured the APA stroke
% #+attr_latex: :width 0.9\linewidth
% [[file:figs/test_apa_stroke_bench.jpg]]
% The measured APA displacement is shown as a function of the applied voltage in Figure ref:fig:test_apa_stroke_result, right.
% Typical hysteresis curves for piezoelectric stack actuators can be observed.
% The measured stroke is approximately $250\,\mu m$ when using only two of the three stacks, which is enough for the current application.
% This is even above what is specified as the nominal stroke in the data-sheet ($304\,\mu m$, therefore $\approx 200\,\mu m$ if only two stacks are used).
% It is clear from Figure ref:fig:test_apa_stroke_result that "APA 3" has an issue compared to the other units.
% This confirms the abnormal electrical measurements made in Section ref:sec:test_apa_electrical_measurements.
% This unit was send sent back to Cedrat and a new one was shipped back.
% From now on, only the six APA that behave as expected will be used.
%% Load the measured strokes
load('meas_apa_stroke.mat', 'apa300ml_2s')
%% Results of the measured APA stroke
%% Generated voltage across the two piezoelectric stack actuators to estimate the stroke of the APA300ML
figure;
tiledlayout(1, 2, 'TileSpacing', 'Compact', 'Padding', 'None');
% Generated voltage across the two piezoelectric stack actuators to estimate the stroke of the APA300ML
ax1 = nexttile();
plot(apa300ml_2s{1}.t - apa300ml_2s{1}.t(1), 20*apa300ml_2s{1}.V, 'k-')
xlabel('Time [s]'); ylabel('Voltage [V]')
ylim([-20, 160])
% Measured displacement as a function of the applied voltage
ax2 = nexttile();
%% Measured displacement as a function of the applied voltage
figure;
hold on;
for i = 1:7
plot(20*apa300ml_2s{i}.V, 1e6*apa300ml_2s{i}.d, 'DisplayName', sprintf('APA %i', i))
@@ -111,48 +66,6 @@ xlabel('Voltage [V]'); ylabel('Displacement [$\mu m$]')
legend('location', 'southwest', 'FontSize', 8)
xlim([-20, 150]); ylim([-250, 0]);
% Flexible Mode Measurement
% SCHEDULED: <2024-03-27 Wed>
% <<sec:test_apa_spurious_resonances>>
% In this section, the flexible modes of the APA300ML are investigated both experimentally and using a Finite Element Model.
% To experimentally estimate these modes, the APA is fixed on one end (see Figure ref:fig:test_apa_meas_setup_torsion).
% A Laser Doppler Vibrometer[fn:6] is used to measure the difference of motion between two "red" points (i.e. the torsion of the APA along the vertical direction) and an instrumented hammer[fn:7] is used to excite the flexible modes.
% Using this setup, the transfer function from the injected force to the measured rotation can be computed in different conditions and the frequency and mode shapes of the flexible modes can be estimated.
% The flexible modes for the same condition (i.e. one mechanical interface of the APA300ML fixed) are estimated using a finite element software and the results are shown in Figure ref:fig:test_apa_mode_shapes.
% #+name: fig:test_apa_mode_shapes
% #+caption: Spurious resonances - Change this with the updated FEM analysis of the APA300ML
% #+attr_latex: :width 0.9\linewidth
% [[file:figs/test_apa_mode_shapes.png]]
% #+name: fig:test_apa_meas_setup_torsion
% #+caption: Measurement setup with a Laser Doppler Vibrometer and one instrumental hammer. Here the $Z$ torsion is measured.
% #+attr_latex: :width 0.6\linewidth
% [[file:figs/test_apa_meas_setup_torsion.jpg]]
% Two other similar measurements are performed to measured the bending of the APA around the $X$ direction and around the $Y$ direction (see Figure ref:fig:test_apa_meas_setup_modes).
% #+name: fig:test_apa_meas_setup_modes
% #+caption: Experimental setup to measured flexible modes of the APA300ML. For the bending in the $X$ direction, the impact point is located at the back of the top measurement point. For the bending in the $Y$ direction, the impact point is located on the back surface of the top interface (on the back of the 2 measurements points).
% #+begin_figure
% #+attr_latex: :caption \subcaption{\label{fig:test_apa_meas_setup_X_bending}$X$ bending}
% #+attr_latex: :options {0.49\textwidth}
% #+begin_subfigure
% #+attr_latex: :width 0.95\linewidth
% [[file:figs/test_apa_meas_setup_X_bending.jpg]]
% #+end_subfigure
% #+attr_latex: :caption \subcaption{\label{fig:test_apa_meas_setup_Y_bending}$Y$ Bending}
% #+attr_latex: :options {0.49\textwidth}
% #+begin_subfigure
% #+attr_latex: :width 0.95\linewidth
% [[file:figs/test_apa_meas_setup_Y_bending.jpg]]
% #+end_subfigure
% #+end_figure
%% X-Bending Identification
% Load Data
bending_X = load('apa300ml_bending_X_top.mat');
@@ -173,37 +86,14 @@ bending_Y = load('apa300ml_bending_Y_top.mat');
% Compute the transfer function
[G_bending_Y, ~] = tfestimate(bending_Y.Track1, bending_Y.Track2, win, Noverlap, Nfft, 1/Ts);
%% Z-Torsion identification
% Load data
torsion = load('apa300ml_torsion_top.mat');
% Compute transfer function
[G_torsion_top, ~] = tfestimate(torsion.Track1, torsion.Track2, win, Noverlap, Nfft, 1/Ts);
% Load Data
torsion = load('apa300ml_torsion_left.mat');
% Compute transfer function
[G_torsion, ~] = tfestimate(torsion.Track1, torsion.Track2, win, Noverlap, Nfft, 1/Ts);
% The three measured frequency response functions are shown in Figure ref:fig:test_apa_meas_freq_compare.
% - a clear $x$ bending mode at $280\,\text{Hz}$
% - a clear $y$ bending mode at $412\,\text{Hz}$
% - for the $z$ torsion test, the $y$ bending mode is also excited and observed, and we may see a mode at $800\,\text{Hz}$
figure;
hold on;
plot(f, abs(G_bending_X), 'DisplayName', '$X$ bending');
plot(f, abs(G_bending_Y), 'DisplayName', '$Y$ bending');
plot(f, abs(G_torsion), 'DisplayName', '$Z$ torsion');
text(280, 5.5e-2,{'280Hz'},'VerticalAlignment','bottom','HorizontalAlignment','center')
text(412, 1.5e-2,{'412Hz'},'VerticalAlignment','bottom','HorizontalAlignment','center')
text(800, 6e-4,{'800Hz'}, 'VerticalAlignment', 'bottom','HorizontalAlignment','center')
hold off;
set(gca, 'Xscale', 'log'); set(gca, 'Yscale', 'log');
xlabel('Frequency [Hz]'); ylabel('Amplitude');
xlim([50, 2e3]); ylim([5e-5, 2e-1]);
xlim([100, 1e3]); ylim([5e-5, 2e-1]);
legend('location', 'northeast', 'FontSize', 8)

View File

@@ -11,16 +11,6 @@ addpath('./mat/'); % Path for data
%% Colors for the figures
colors = colororder;
% Hysteresis
% <<ssec:test_apa_hysteresis>>
% As the payload is vertically guided without friction, the hysteresis of the APA can be estimated from the motion of the payload.
% A quasi static sinusoidal excitation $V_a$ with an offset of $65\,V$ (halfway between $-20\,V$ and $150\,V$), and an amplitude varying from $4\,V$ up to $80\,V$.
% For each excitation amplitude, the vertical displacement $d_e$ of the mass is measured and displayed as a function of the applied voltage..
%% Load measured data - hysteresis
apa_hyst = load('frf_data_1_hysteresis.mat', 't', 'u', 'de');
@@ -29,12 +19,6 @@ apa_hyst.t = apa_hyst.t - apa_hyst.t(1);
ampls = [0.1, 0.2, 0.4, 1, 2, 4]; % Excitation voltage amplitudes
% The measured displacements as a function of the output voltages are shown in Figure ref:fig:test_apa_meas_hysteresis.
% It is interesting to see that the hysteresis is increasing with the excitation amplitude.
%% Measured displacement as a function of the output voltage
figure;
@@ -50,18 +34,6 @@ legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 1);
xlim([-20, 150]);
ylim([-120, 120]);
% Axial stiffness
% <<ssec:test_apa_stiffness>>
% In order to estimate the stiffness of the APA, a weight with known mass $m_a = 6.4\,\text{kg}$ is added on top of the suspended granite and the deflection $d_e$ is measured using the encoder.
% The APA stiffness can then be estimated from equation eqref:eq:test_apa_stiffness.
% \begin{equation} \label{eq:test_apa_stiffness}
% k_{\text{apa}} = \frac{m_a g}{\Delta d_e}
% \end{equation}
%% Load data for stiffness measurement
apa_nums = [1 2 4 5 6 8];
apa_mass = {};
@@ -73,13 +45,6 @@ end
added_mass = 6.4; % Added mass [kg]
% The measured displacement $d_e$ as a function of time is shown in Figure ref:fig:test_apa_meas_stiffness_time.
% It can be seen that there are some drifts in the measured displacement (probably due to piezoelectric creep) and the that displacement does not come back to the initial position after the mass is removed (probably due to piezoelectric hysteresis).
% These two effects induce some uncertainties in the measured stiffness.
%% Plot the deflection at a function of time
figure;
hold on;
@@ -103,40 +68,6 @@ text(18.5, -20, sprintf('$d_2$'), 'horizontalalignment', 'left');
hold off;
xlabel('Time [s]'); ylabel('Displacement $d_e$ [$\mu$m]');
% #+name: tab:test_apa_measured_stiffnesses
% #+caption: Measured stiffnesses (in $N/\mu m$)
% #+attr_latex: :environment tabularx :width 0.2\linewidth :align ccc
% #+attr_latex: :center t :booktabs t :float t
% #+RESULTS:
% | APA | $k_1$ | $k_2$ |
% |-----+-------+-------|
% | 1 | 1.68 | 1.9 |
% | 2 | 1.69 | 1.9 |
% | 4 | 1.7 | 1.91 |
% | 5 | 1.7 | 1.93 |
% | 6 | 1.7 | 1.92 |
% | 8 | 1.73 | 1.98 |
% The stiffness can also be computed using equation eqref:eq:test_apa_res_freq by knowing the main vertical resonance frequency $\omega_z \approx 95\,\text{Hz}$ (estimated by the dynamical measurements shown in section ref:ssec:test_apa_meas_dynamics) and the suspended mass $m_{\text{sus}} = 5.7\,\text{kg}$.
% \begin{equation} \label{eq:test_apa_res_freq}
% \omega_z = \sqrt{\frac{k}{m_{\text{sus}}}}
% \end{equation}
% The obtain stiffness is $k \approx 2\,N/\mu m$ which is close to the values found in the documentation and by the "static deflection" method.
% However, changes in the electrical impedance connected to the piezoelectric stacks impacts the mechanical compliance (or stiffness) of the piezoelectric stack [[cite:&reza06_piezoel_trans_vibrat_contr_dampin chap. 2]].
% To estimate this effect, the stiffness of the APA if measured using the "static deflection" method in two cases:
% - $k_{\text{os}}$: piezoelectric stacks left unconnected (or connect to the high impedance ADC)
% - $k_{\text{sc}}$: piezoelectric stacks short circuited (or connected to the voltage amplifier with small output impedance)
% The open-circuit stiffness is estimated at $k_{\text{oc}} \approx 2.3\,N/\mu m$ and the closed-circuit stiffness $k_{\text{sc}} \approx 1.7\,N/\mu m$.
%% Load Data
add_mass_oc = load('frf_data_1_add_mass_open_circuit.mat', 't', 'de');
add_mass_cc = load('frf_data_1_add_mass_closed_circuit.mat', 't', 'de');
@@ -149,12 +80,6 @@ add_mass_cc.de = add_mass_cc.de - mean(add_mass_cc.de(add_mass_cc.t<11));
apa_k_oc = 9.8 * added_mass / (mean(add_mass_oc.de(add_mass_oc.t > 12 & add_mass_oc.t < 12.5)) - mean(add_mass_oc.de(add_mass_oc.t > 20 & add_mass_oc.t < 20.5)));
apa_k_sc = 9.8 * added_mass / (mean(add_mass_cc.de(add_mass_cc.t > 12 & add_mass_cc.t < 12.5)) - mean(add_mass_cc.de(add_mass_cc.t > 20 & add_mass_cc.t < 20.5)));
% Dynamics
% <<ssec:test_apa_meas_dynamics>>
% In this section, the dynamics of the system from the excitation voltage $u$ to encoder measured displacement $d_e$ and to the force sensor voltage $V_s$ is identified.
%% Identification using sweep sine (low frequency)
load('frf_data_sweep.mat');
load('frf_data_noise_hf.mat');
@@ -193,17 +118,6 @@ end
%% Save the identified dynamics for further analysis
save('mat/meas_apa_frf.mat', 'f', 'Ts', 'enc_frf', 'iff_frf', 'apa_nums');
% The obtained transfer functions for the 6 APA between the excitation voltage $u$ and the encoder displacement $d_e$ are shown in Figure ref:fig:test_apa_frf_encoder.
% The obtained transfer functions are close to a mass-spring-damper system.
% The following can be observed:
% - A "stiffness line" indicating a static gain equal to $\approx -17\,\mu m/V$.
% The minus sign comes from the fact that an increase in voltage stretches the piezoelectric stack that then reduces the height of the APA
% - A lightly damped resonance at $95\,\text{Hz}$
% - A "mass line" up to $\approx 800\,\text{Hz}$, above which some resonances appear. These additional resonances might be coming from the limited stiffness of the encoder support or from the limited compliance of the APA support.
%% Plot the FRF from u to de
figure;
tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
@@ -218,7 +132,7 @@ hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude $d_e/u$ [m/V]'); set(gca, 'XTickLabel',[]);
hold off;
legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 2);
legend('location', 'southwest', 'FontSize', 8, 'NumColumns', 2);
ylim([1e-8, 1e-3]);
ax2 = nexttile;
@@ -235,28 +149,6 @@ yticks(-360:90:360);
linkaxes([ax1,ax2],'x');
xlim([10, 2e3]);
% #+name: fig:test_apa_frf_encoder
% #+caption: Estimated Frequency Response Function from generated voltage $u$ to the encoder displacement $d_e$ for the 6 APA300ML
% #+RESULTS:
% [[file:figs/test_apa_frf_encoder.png]]
% The dynamics from $u$ to the measured voltage across the sensor stack $V_s$ is also identified and shown in Figure ref:fig:test_apa_frf_force.
% A lightly damped resonance is observed at $95\,\text{Hz}$ and a lightly damped anti-resonance at $41\,\text{Hz}$.
% No additional resonances is present up to at least $2\,\text{kHz}$ indicating at Integral Force Feedback can be applied without stability issues from high frequency flexible modes.
% As illustrated by the Root Locus, the poles of the closed-loop system converges to the zeros of the open-loop plant.
% Suppose that a controller with a very high gain is implemented such that the voltage $V_s$ across the sensor stack is zero.
% In that case, because of the very high controller gain, no stress and strain is present on the sensor stack (and on the actuator stacks are well, as they are both in series).
% Such closed-loop system would therefore virtually corresponds to a system for which the piezoelectric stacks have been removed and just the mechanical shell is kept.
% From this analysis, the axial stiffness of the shell can be estimated to be $k_{\text{shell}} = 5.7 \cdot (2\pi \cdot 41)^2 = 0.38\,N/\mu m$.
% # TODO - Compare with FEM result
% Such reasoning can lead to very interesting insight into the system just from an open-loop identification.
%% Plot the FRF from u to Vs
figure;
tiledlayout(2, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
@@ -288,18 +180,56 @@ yticks(-360:90:360); ylim([-180, 180]);
linkaxes([ax1,ax2],'x');
xlim([10, 2e3]);
% Effect of the resistor on the IFF Plant
% <<ssec:test_apa_resistance_sensor_stack>>
%% Long measurement
long_noise = load('frf_struts_align_3_noise_long.mat', 't', 'u', 'Vs');
% A resistor $R \approx 80.6\,k\Omega$ is added in parallel with the sensor stack which has the effect to form a high pass filter with the capacitance of the stack.
% Long window for fine frequency axis
Ts = 1e-4; % Sampling Time [s]
Nfft = floor(10/Ts);
win = hanning(Nfft);
Noverlap = floor(Nfft/2);
% As explain before, this is done for two reasons:
% 1. Limit the voltage offset due to the input bias current of the ADC
% 2. Limit the low frequency gain
% Transfer function estimation
[frf_noise, f] = tfestimate(long_noise.u, long_noise.Vs, win, Noverlap, Nfft, 1/Ts);
[coh_noise, ~] = mscohere(long_noise.u, long_noise.Vs, win, Noverlap, Nfft, 1/Ts);
% The (low frequency) transfer function from $u$ to $V_s$ with and without this resistor have been measured and are compared in Figure ref:fig:test_apa_effect_resistance.
% It is confirmed that the added resistor as the effect of adding an high pass filter with a cut-off frequency of $\approx 0.35\,\text{Hz}$.
%% Bode plot of the FRF from u to de
figure;
tiledlayout(1, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
nexttile();
hold on;
plot(f, coh_noise, '.-');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
xlabel('Frequency [Hz]'); ylabel('Coherence [-]');
hold off;
xlim([38, 45]);
ylim([0, 1]);
%% Bode plot of the FRF from u to de
figure;
tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
ax1 = nexttile([2,1]);
hold on;
plot(f, abs(frf_noise), '.-');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
hold off;
ax2 = nexttile;
hold on;
plot(f, 180/pi*angle(frf_noise), '.-');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks(-360:90:360); ylim([-180, 0]);
linkaxes([ax1,ax2],'x');
xlim([38, 45]);
%% Load the data
wi_k = load('frf_data_1_sweep_lf_with_R.mat', 't', 'Vs', 'u'); % With the resistor
@@ -320,41 +250,40 @@ R = 80.6e3; % Parallel Resistor [Ohm]
f0 = 1/(2*pi*R*C); % Crossover frequency of RC HPF [Hz]
G_hpf = 0.6*(s/2*pi*f0)/(1 + s/2*pi*f0);
G_hpf = 0.6*(s/(2*pi*f0))/(1 + s/(2*pi*f0));
%% Compare the HPF model and the measured FRF
figure;
tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
tiledlayout(2, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
ax1 = nexttile([2,1]);
ax1 = nexttile();
hold on;
plot(f, abs(frf_wo_k), 'DisplayName', 'Without $R$');
plot(f, abs(frf_wi_k), 'DisplayName', 'With $R$');
plot(f, abs(squeeze(freqresp(G_hpf, f, 'Hz'))), 'k--', 'DisplayName', 'RC model');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude $V_s/u$ [V/V]'); set(gca, 'XTickLabel',[]);
ylabel('Amplitude [V/V]'); set(gca, 'XTickLabel',[]);
hold off;
ylim([1e-1, 1e0]);
legend('location', 'southeast')
ylim([2e-1, 1e0]);
yticks([0.2, 0.5, 1]);
legend('location', 'southeast', 'FontSize', 8);
ax2 = nexttile;
hold on;
plot(f, 180/pi*angle(frf_wo_k));
plot(f, 180/pi*angle(frf_wi_k));
plot(f, 180/pi*angle(squeeze(freqresp(G_hpf, f, 'Hz'))), 'k--', 'DisplayName', 'RC');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks(-360:45:360); ylim([-45, 90]);
yticks(-360:45:360); ylim([-5, 60]);
yticks([0, 15, 30, 45, 60]);
linkaxes([ax1,ax2],'x');
xlim([0.2, 8]);
% Integral Force Feedback
% <<ssec:test_apa_iff_locus>>
% This test bench can also be used to estimate the damping added by the implementation of an Integral Force Feedback strategy.
xticks([0.2, 0.5, 1, 2, 5]);
%% Load identification Data
data = load("2023-03-17_11-28_iff_plant.mat");
@@ -368,19 +297,6 @@ Noverlap = floor(Nfft/2);
%% Compute the transfer function from applied force to measured rotation
[G_iff, f] = tfestimate(data.id_plant, data.Vs, win, Noverlap, Nfft, 1/Ts);
% First, the transfer function eqref:eq:test_apa_iff_manual_fit is manually tuned to match the identified dynamics from generated voltage $u$ to the measured sensor stack voltage $V_s$ in Section ref:ssec:test_apa_meas_dynamics.
% The obtained parameter values are $\omega_{\textsc{hpf}} = 0.4\, \text{Hz}$, $\omega_{z} = 42.7\, \text{Hz}$, $\xi_{z} = 0.4\,\%$, $\omega_{p} = 95.2\, \text{Hz}$, $\xi_{p} = 2\,\%$ and $g_0 = 0.64$.
% \begin{equation} \label{eq:test_apa_iff_manual_fit}
% G_{\textsc{iff},m}(s) = g_0 \cdot \frac{1 + 2 \xi_z \frac{s}{\omega_z} + \frac{s^2}{\omega_z^2}}{1 + 2 \xi_p \frac{s}{\omega_p} + \frac{s^2}{\omega_p^2}} \cdot \frac{s}{\omega_{\textsc{hpf}} + s}
% \end{equation}
% The comparison between the identified plant and the manually tuned transfer function is done in Figure ref:fig:test_apa_iff_plant_comp_manual_fit.
%% Basic manually tuned model
w0z = 2*pi*42.7; % Zero frequency
xiz = 0.004; % Zero damping
@@ -417,36 +333,11 @@ ylim([-90, 180])
linkaxes([ax1,ax2],'x');
xlim([0.2, 1e3]);
% #+name: fig:test_apa_iff_plant_comp_manual_fit
% #+caption: Identified IFF plant and manually tuned model of the plant (a time delay of $200\,\mu s$ is added to the model of the plant to better match the identified phase)
% #+RESULTS:
% [[file:figs/test_apa_iff_plant_comp_manual_fit.png]]
% The implemented Integral Force Feedback Controller transfer function is shown in equation eqref:eq:test_apa_Kiff_formula.
% It contains an high pass filter (cut-off frequency of $2\,\text{Hz}$) to limit the low frequency gain, a low pass filter to add integral action above $20\,\text{Hz}$, a second low pass filter to add robustness to high frequency resonances and a tunable gain $g$.
% \begin{equation} \label{eq:test_apa_Kiff_formula}
% K_{\textsc{iff}}(s) = -10 \cdot g \cdot \frac{s}{s + 2\pi \cdot 2} \cdot \frac{1}{1 + 2\pi \cdot 20} \cdot \frac{1}{s + 2\pi\cdot 2000}
% \end{equation}
%% Integral Force Feedback Controller
K_iff = -10*(1/(s + 2*pi*20)) * ... % LPF: provides integral action above 20Hz
(s/(s + 2*pi*2)) * ... % HPF: limit low frequency gain
(1/(1 + s/2/pi/2e3)); % LPF: more robust to high frequency resonances
% To estimate how the dynamics of the APA changes when the Integral Force Feedback controller is implemented, the test bench shown in Figure ref:fig:test_apa_iff_schematic is used.
% The transfer function from the "damped" plant input $u\prime$ to the encoder displacement $d_e$ is identified for several IFF controller gains $g$.
% #+name: fig:test_apa_iff_schematic
% #+caption: Figure caption
% [[file:figs/test_apa_iff_schematic.png]]
%% Load Data
data = load("2023-03-17_14-10_damped_plants_new.mat");
@@ -460,7 +351,7 @@ Noverlap = floor(Nfft/2);
[~, f] = tfestimate(data.data(1).id_plant(1:end), data.data(1).dL(1:end), win, Noverlap, Nfft, 1/Ts);
%% Gains used for analysis are between 1 and 50
i_kept = [5:10]
i_kept = [5:10];
%% Identify the damped plant from u' to de for different IFF gains
G_dL_frf = {zeros(1,length(i_kept))};
@@ -470,13 +361,6 @@ for i = 1:length(i_kept)
G_dL_frf(i) = {G_dL};
end
% The identified dynamics are then fitted by second order transfer functions.
% The comparison between the identified damped dynamics and the fitted second order transfer functions is done in Figure ref:fig:test_apa_identified_damped_plants for different gains $g$.
% It is clear that large amount of damping is added when the gain is increased and that the frequency of the pole is shifted to lower frequencies.
%% Fit the data with 2nd order transfer function using vectfit3
opts = struct();
@@ -519,24 +403,10 @@ for i = 1:length(i_kept)
end
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
xlabel('Frequency [Hz]'); ylabel('Amplitude $d_L/V_a$ [m/V]');
xlabel('Frequency [Hz]'); ylabel('Amplitude $d_e/u^\prime$ [m/V]');
xlim([10, 1e3]);
legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 1);
% #+name: fig:test_apa_identified_damped_plants
% #+caption: Identified dynamics (solid lines) and fitted transfer functions (dashed lines) from $u\prime$ to $d_e$ for different IFF gains
% #+RESULTS:
% [[file:figs/test_apa_identified_damped_plants.png]]
% The evolution of the pole in the complex plane as a function of the controller gain $g$ (i.e. the "root locus") is computed:
% - using the IFF plant model eqref:eq:test_apa_iff_manual_fit and the implemented controller eqref:eq:test_apa_Kiff_formula
% - from the fitted transfer functions of the damped plants experimentally identified for several controller gains
% The two obtained root loci are compared in Figure ref:fig:test_apa_iff_root_locus and are in good agreement considering that the damped plants were only fitted using a second order transfer function.
%% Root Locus of the APA300ML with Integral Force Feedback
% Comparison between the computed root locus from the plant model and the root locus estimated from the damped plant pole identification
gains = logspace(-1, 3, 1000);
@@ -562,9 +432,9 @@ end
for i = 1:length(i_kept)
plot(real(pole(G_dL_id{i})), imag(pole(G_dL_id{i})), 'x', 'color', [colors(i,:), 1], 'DisplayName', sprintf('g = %1.f', data.gains(i_kept(i))));
end
ylim([0, 700]);
xlim([-600,100]);
xlabel('Real Part')
ylabel('Imaginary Part')
axis square
legend('location', 'northwest');
axis equal
ylim([0, 610]);
xlim([-300,0]);
legend('location', 'southwest', 'FontSize', 8);

View File

@@ -27,15 +27,8 @@ io(io_i) = linio([mdl, '/u'], 1, 'openinput'); io_i = io_i + 1; % DAC Voltage
io(io_i) = linio([mdl, '/Vs'], 1, 'openoutput'); io_i = io_i + 1; % Sensor Voltage
io(io_i) = linio([mdl, '/de'], 1, 'openoutput'); io_i = io_i + 1; % Encoder
% Tuning of the APA model
% <<ssec:test_apa_2dof_model_tuning>>
% 9 parameters ($m$, $k_1$, $c_1$, $k_e$, $c_e$, $k_a$, $c_a$, $g_s$ and $g_a$) have to be tuned such that the dynamics of the model (Figure ref:fig:test_apa_2dof_model_simscape) well represents the identified dynamics in Section ref:sec:test_apa_dynamics.
% #+name: fig:test_apa_2dof_model_simscape
% #+caption: Schematic of the two degrees of freedom model of the APA300ML with input $V_a$ and outputs $d_e$ and $V_s$
% [[file:figs/test_apa_2dof_model_simscape.png]]
%% Frequency vector for analysis
freqs = 5*logspace(0, 3, 1000);
%% Stiffness values for the 2DoF APA model
k1 = 0.38e6; % Estimated Shell Stiffness [N/m]
@@ -48,12 +41,12 @@ ka = 1.5*(ktot-k1); % Stiffness of the (two) actuator stacks [N/m]
ke = 2*ka; % Stiffness of the Sensor stack [N/m]
%% Damping values for the 2DoF APA model
c1 = 20; % Damping for the Shell [N/(m/s)]
ca = 100; % Damping of the actuators stacks [N/(m/s)]
c1 = 5; % Damping for the Shell [N/(m/s)]
ca = 50; % Damping of the actuators stacks [N/(m/s)]
ce = 2*ca; % Damping of the sensor stack [N/(m/s)]
%% Estimation ot the sensor and actuator gains
% Initialize the structure with unitary sensor and actuator "gains"
%% Estimation ot the sensor and actuator sensitivities
% Initialize the structure with unitary sensor and actuator "sensitivities"
n_hexapod = struct();
n_hexapod.actuator = initializeAPA(...
'type', '2dof', ...
@@ -67,36 +60,26 @@ n_hexapod.actuator = initializeAPA(...
'Gs', 1 ... % Sensor constant [V/m]
);
c_granite = 0; % Do not take into account damping added by the air bearing
c_granite = 50; % Do not take into account damping added by the air bearing
% Run the linearization
G_norm = linearize(mdl, io, 0.0, opts);
G_norm.InputName = {'u'};
G_norm.OutputName = {'Vs', 'de'};
% Load Identification Data to estimate the two gains
% Load Identification Data to estimate the two sensitivities
load('meas_apa_frf.mat', 'f', 'Ts', 'enc_frf', 'iff_frf', 'apa_nums');
% Estimation ot the Actuator Gain
% Estimation ot the Actuator sensitivity
fa = 10; % Frequency where the two FRF should match [Hz]
[~, i_f] = min(abs(f - fa));
ga = -abs(enc_frf(i_f,1))./abs(evalfr(G_norm('de', 'u'), 1i*2*pi*fa));
% Estimation ot the Sensor Gain
% Estimation ot the Sensor sensitivity
fs = 600; % Frequency where the two FRF should match [Hz]
[~, i_f] = min(abs(f - fs));
gs = -abs(iff_frf(i_f,1))./abs(evalfr(G_norm('Vs', 'u'), 1i*2*pi*fs))/ga;
% Obtained Dynamics
% <<ssec:test_apa_2dof_model_result>>
% The dynamics of the 2DoF APA300ML model is now extracted using optimized parameters (listed in Table ref:tab:test_apa_2dof_parameters) from the Simscape model.
% It is compared with the experimental data in Figure ref:fig:test_apa_2dof_comp_frf.
% A good match can be observed between the model and the experimental data, both for the encoder and for the force sensor.
% This indicates that this model represents well the axial dynamics of the APA300ML.
%% 2DoF APA300ML with optimized parameters
n_hexapod = struct();
n_hexapod.actuator = initializeAPA( ...
@@ -117,9 +100,8 @@ G_2dof.InputName = {'u'};
G_2dof.OutputName = {'Vs', 'de'};
%% Comparison of the measured FRF and the optimized 2DoF model of the APA300ML
freqs = 5*logspace(0, 3, 1000);
figure;
tiledlayout(3, 2, 'TileSpacing', 'Compact', 'Padding', 'None');
tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
ax1 = nexttile([2,1]);
hold on;
@@ -135,7 +117,26 @@ hold off;
ylim([1e-8, 1e-3]);
legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 1);
ax1b = nexttile([2,1]);
ax2 = nexttile;
hold on;
for i = 1:length(apa_nums)
plot(f, 180/pi*angle(enc_frf(:, i)), 'color', [0,0,0,0.2]);
end
plot(freqs, 180/pi*angle(squeeze(freqresp(G_2dof('de', 'u'), freqs, 'Hz'))), '--', 'color', colors(2,:))
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks(-360:90:360); ylim([-180, 180]);
linkaxes([ax1,ax2],'x');
xlim([10, 2e3]);
%% Comparison of the measured FRF and the optimized 2DoF model of the APA300ML
figure;
tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
ax1 = nexttile([2,1]);
hold on;
plot(f, abs(iff_frf(:, 1)), 'color', [0,0,0,0.2], 'DisplayName', 'Identified');
for i = 2:length(apa_nums)
@@ -151,18 +152,6 @@ legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 1);
ax2 = nexttile;
hold on;
for i = 1:length(apa_nums)
plot(f, 180/pi*angle(enc_frf(:, i)), 'color', [0,0,0,0.2]);
end
plot(freqs, 180/pi*angle(squeeze(freqresp(G_2dof('de', 'u'), freqs, 'Hz'))), '--', 'color', colors(2,:))
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks(-360:90:360); ylim([-180, 180]);
ax2b = nexttile;
hold on;
for i = 1:length(apa_nums)
plot(f, 180/pi*angle(iff_frf(:, i)), 'color', [0,0,0,0.2]);
end
@@ -173,5 +162,5 @@ xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks(-360:90:360); ylim([-180, 180]);
linkaxes([ax1,ax2,ax1b,ax2b],'x');
linkaxes([ax1,ax2],'x');
xlim([10, 2e3]);

View File

@@ -27,14 +27,8 @@ io(io_i) = linio([mdl, '/u'], 1, 'openinput'); io_i = io_i + 1; % DAC Voltage
io(io_i) = linio([mdl, '/Vs'], 1, 'openoutput'); io_i = io_i + 1; % Sensor Voltage
io(io_i) = linio([mdl, '/de'], 1, 'openoutput'); io_i = io_i + 1; % Encoder
% Identification of the Actuator and Sensor constants
% <<ssec:test_apa_flexible_ga_gs>>
% Once the APA300ML /super element/ is included in the Simscape model, the transfer function from $F_a$ to $d_L$ and $d_e$ can be identified.
% The gains $g_a$ and $g_s$ can then be tuned such that the gain of the transfer functions are matching the identified ones.
% By doing so, $g_s = 4.9\,V/\mu m$ and $g_a = 23.2\,N/V$ are obtained.
%% Frequency vector for analysis
freqs = 5*logspace(0, 3, 1000);
%% Identification of the actuator and sensor "constants"
% Initialize the APA as a flexible body with unity "constants"
@@ -43,7 +37,7 @@ n_hexapod.actuator = initializeAPA(...
'ga', 1, ...
'gs', 1);
c_granite = 100; % Rought estimation of the damping added by the air bearing
c_granite = 50; % Rought estimation of the damping added by the air bearing
% Identify the dynamics
G_norm = linearize(mdl, io, 0.0, opts);
@@ -59,83 +53,12 @@ ga = -mean(abs(enc_frf(f>10 & f<20)))./dcgain(G_norm('de', 'u'));
% Sensor Constant in [V/m]
gs = -mean(abs(iff_frf(f>400 & f<500)))./(ga*abs(squeeze(freqresp(G_norm('Vs', 'u'), 1e3, 'Hz'))));
% To make sure these "gains" are physically valid, it is possible to estimate them from physical properties of the piezoelectric stack material.
% From [[cite:&fleming14_desig_model_contr_nanop_system p. 123]], the relation between relative displacement $d_L$ of the sensor stack and generated voltage $V_s$ is given by eqref:eq:test_apa_piezo_strain_to_voltage and from [[cite:&fleming10_integ_strain_force_feedb_high]] the relation between the force $F_a$ and the applied voltage $V_a$ is given by eqref:eq:test_apa_piezo_voltage_to_force.
% \begin{subequations}
% \begin{align}
% V_s &= \underbrace{\frac{d_{33}}{\epsilon^T s^D n}}_{g_s} d_L \label{eq:test_apa_piezo_strain_to_voltage} \\
% F_a &= \underbrace{d_{33} n k_a}_{g_a} \cdot V_a, \quad k_a = \frac{c^{E} A}{L} \label{eq:test_apa_piezo_voltage_to_force}
% \end{align}
% \end{subequations}
% Parameters used in equations eqref:eq:test_apa_piezo_strain_to_voltage and eqref:eq:test_apa_piezo_voltage_to_force are described in Table ref:tab:test_apa_piezo_properties.
% Unfortunately, the manufacturer of the stack was not willing to share the piezoelectric material properties of the stack used in the APA300ML.
% However, based on available properties of the APA300ML stacks in the data-sheet, the soft Lead Zirconate Titanate "THP5H" from Thorlabs seemed to match quite well the observed properties.
% The properties of this "THP5H" material used to compute $g_a$ and $g_s$ are listed in Table ref:tab:test_apa_piezo_properties.
% From these parameters, $g_s = 5.1\,V/\mu m$ and $g_a = 26\,N/V$ were obtained which are very close to the identified constants using the experimentally identified transfer functions.
% #+name: tab:test_apa_piezo_properties
% #+caption: Piezoelectric properties used for the estimation of the sensor and actuators "gains"
% #+attr_latex: :environment tabularx :width 1\linewidth :align ccX
% #+attr_latex: :center t :booktabs t
% | *Parameter* | *Value* | *Description* |
% |----------------+----------------------------+--------------------------------------------------------------|
% | $d_{33}$ | $680 \cdot 10^{-12}\,m/V$ | Piezoelectric constant |
% | $\epsilon^{T}$ | $4.0 \cdot 10^{-8}\,F/m$ | Permittivity under constant stress |
% | $s^{D}$ | $21 \cdot 10^{-12}\,m^2/N$ | Elastic compliance understand constant electric displacement |
% | $c^{E}$ | $48 \cdot 10^{9}\,N/m^2$ | Young's modulus of elasticity |
% | $L$ | $20\,mm$ per stack | Length of the stack |
% | $A$ | $10^{-4}\,m^2$ | Area of the piezoelectric stack |
% | $n$ | $160$ per stack | Number of layers in the piezoelectric stack |
%% Estimate "Sensor Constant" - (THP5H)
d33 = 680e-12; % Strain constant [m/V]
n = 160; % Number of layers per stack
eT = 4500*8.854e-12; % Permittivity under constant stress [F/m]
sD = 21e-12; % Compliance under constant electric displacement [m2/N]
gs = d33/(eT*sD*n); % Sensor Constant [V/m]
%% Estimate "Actuator Constant" - (THP5H)
d33 = 680e-12; % Strain constant [m/V]
n = 320; % Number of layers
cE = 1/sD; % Youngs modulus [N/m^2]
A = (10e-3)^2; % Area of the stacks [m^2]
L = 40e-3; % Length of the two stacks [m]
ka = cE*A/L; % Stiffness of the two stacks [N/m]
ga = d33*n*ka; % Actuator Constant [N/V]
% Comparison of the obtained dynamics
% <<ssec:test_apa_flexible_comp_frf>>
% The obtained dynamics using the /super element/ with the tuned "sensor gain" and "actuator gain" are compared with the experimentally identified frequency response functions in Figure ref:fig:test_apa_super_element_comp_frf.
% A good match between the model and the experimental results is observed.
% - the /super element/
% This model represents fairly
% The flexible model is a bit "soft" as compared with the experimental results.
% This method can be used to model piezoelectric stack actuators as well as amplified piezoelectric stack actuators.
%% Idenfify the dynamics of the Simscape model with correct actuator and sensor "constants"
% Initialize the APA
n_hexapod.actuator = initializeAPA(...
'type', 'flexible', ...
'ga', 23.2, ... % Actuator gain [N/V]
'gs', -4.9e6); % Sensor gain [V/m]
'ga', 23.2, ... % Actuator sensitivity [N/V]
'gs', -4.9e6); % Sensor sensitivity [V/m]
% Identify with updated constants
G_flex = exp(-Ts*s)*linearize(mdl, io, 0.0, opts);
@@ -143,9 +66,8 @@ G_flex.InputName = {'u'};
G_flex.OutputName = {'Vs', 'de'};
%% Comparison of the measured FRF and the "Flexible" model of the APA300ML
freqs = 5*logspace(0, 3, 1000);
figure;
tiledlayout(3, 2, 'TileSpacing', 'Compact', 'Padding', 'None');
tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
ax1 = nexttile([2,1]);
hold on;
@@ -161,7 +83,26 @@ hold off;
ylim([1e-8, 1e-3]);
legend('location', 'northeast', 'FontSize', 8, 'NumColumns', 1);
ax1b = nexttile([2,1]);
ax2 = nexttile;
hold on;
for i = 1:length(apa_nums)
plot(f, 180/pi*angle(enc_frf(:, i)), 'color', [0,0,0,0.2]);
end
plot(freqs, 180/pi*angle(squeeze(freqresp(G_flex('de', 'u'), freqs, 'Hz'))), '--', 'color', colors(2,:))
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks(-360:90:360); ylim([-180, 180]);
linkaxes([ax1,ax2],'x');
xlim([10, 2e3]);
%% Comparison of the measured FRF and the "Flexible" model of the APA300ML
figure;
tiledlayout(3, 1, 'TileSpacing', 'Compact', 'Padding', 'None');
ax1 = nexttile([2,1]);
hold on;
plot(f, abs(iff_frf(:, 1)), 'color', [0,0,0,0.2], 'DisplayName', 'Identified');
for i = 2:length(apa_nums)
@@ -177,18 +118,6 @@ legend('location', 'southeast', 'FontSize', 8, 'NumColumns', 1);
ax2 = nexttile;
hold on;
for i = 1:length(apa_nums)
plot(f, 180/pi*angle(enc_frf(:, i)), 'color', [0,0,0,0.2]);
end
plot(freqs, 180/pi*angle(squeeze(freqresp(G_flex('de', 'u'), freqs, 'Hz'))), '--', 'color', colors(2,:))
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks(-360:90:360); ylim([-180, 180]);
ax2b = nexttile;
hold on;
for i = 1:length(apa_nums)
plot(f, 180/pi*angle(iff_frf(:, i)), 'color', [0,0,0,0.2]);
end
@@ -199,5 +128,5 @@ xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
yticks(-360:90:360); ylim([-180, 180]);
linkaxes([ax1,ax2,ax1b,ax2b],'x');
linkaxes([ax1,ax2],'x');
xlim([10, 2e3]);

View File

@@ -1,135 +1,16 @@
\usepackage{float}
\usepackage[ %
acronym, % Separate acronyms and glossary
toc, % appear in ToC
automake, % auto-use the makeglossaries command (requires shell-escape)
nonumberlist, % don't back reference pages
nogroupskip, % don't group by letter
nopostdot % don't add a dot at the end of each element
]{glossaries}
\usepackage{caption,tabularx,booktabs}
\usepackage{bm}
\usepackage[stylemods=longextra]{glossaries-extra}
\usepackage{xpatch} % Recommanded for biblatex
\usepackage[ % use biblatex for bibliography
backend=biber, % use biber backend (bibtex replacement) or bibtex
style=ieee, % bib style
hyperref=true, % activate hyperref support
backref=true, % activate backrefs
isbn=false, % don't show isbn tags
url=false, % don't show url tags
doi=false, % don't show doi tags
urldate=long, % display type for dates
maxnames=3, %
minnames=1, %
maxbibnames=5, %
minbibnames=3, %
maxcitenames=2, %
mincitenames=1 %
]{biblatex}
\setabbreviationstyle[acronym]{long-short}
\setglossarystyle{long-name-desc}
\setlength\bibitemsep{1.1\itemsep}
% \renewcommand*{\bibfont}{\footnotesize}
\usepackage{caption}
\usepackage{subcaption}
\captionsetup[figure]{labelfont=bf}
\captionsetup[subfigure]{labelfont=bf}
\captionsetup[listing]{labelfont=bf}
\captionsetup[table]{labelfont=bf}
\usepackage{xcolor}
\definecolor{my-blue}{HTML}{6b7adb}
\definecolor{my-pale-blue}{HTML}{e6e9f9}
\definecolor{my-red}{HTML}{db6b6b}
\definecolor{my-pale-red}{HTML}{f9e6e6}
\definecolor{my-green}{HTML}{6bdbb6}
\definecolor{my-pale-green}{HTML}{e6f9f3}
\definecolor{my-yellow}{HTML}{dbd26b}
\definecolor{my-pale-yellow}{HTML}{f9f7e6}
\definecolor{my-orange}{HTML}{dba76b}
\definecolor{my-pale-orange}{HTML}{f9f0e6}
\definecolor{my-grey}{HTML}{a3a3a3}
\definecolor{my-pale-grey}{HTML}{f0f0f0}
\definecolor{my-turq}{HTML}{6bc7db}
\definecolor{my-pale-turq}{HTML}{e6f6f9}
\usepackage{inconsolata}
\usepackage[newfloat=true, chapter]{minted}
\usemintedstyle{autumn}
\setminted{frame=lines,breaklines=true,tabsize=4,fontsize=\scriptsize,autogobble=true,labelposition=topline,bgcolor=my-pale-grey}
\setminted[matlab]{label=Matlab}
\setminted[latex]{label=LaTeX}
\setminted[bash]{label=Bash}
\setminted[python]{label=Python}
\setminted[text]{label=Results}
\setminted[md]{label=Org Mode}
\setmintedinline{fontsize=\normalsize,bgcolor=my-pale-grey}
\usepackage[most]{tcolorbox}
\tcbuselibrary{minted}
\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also}
\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint}
\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition}
\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important}
\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1}
\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice}
\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question}
\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer}
\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary}
\newtcolorbox{note}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Note}
\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution}
\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning}
\newtcolorbox{my-quote}[1]{%
colback=my-pale-grey,
grow to right by=-10mm,
grow to left by=-10mm,
boxrule=0pt,
boxsep=0pt,
breakable,
enhanced jigsaw,
borderline west={4pt}{0pt}{my-grey}}
\renewenvironment{quote}{\begin{my-quote}}{\end{my-quote}}
\newtcolorbox{my-verse}[1]{%
colback=my-pale-grey,
grow to right by=-10mm,
grow to left by=-10mm,
boxrule=0pt,
boxsep=0pt,
breakable,
enhanced jigsaw,
borderline west={4pt}{0pt}{my-grey}}
\renewenvironment{verse}{\begin{my-verse}}{\end{my-verse}}
\usepackage{environ}% http://ctan.org/pkg/environ
\NewEnviron{aside}{%
\marginpar{\BODY}
}
\renewenvironment{verbatim}{\VerbatimEnvironment\begin{minted}[]{text}}{\end{minted}}
\usepackage{soul}
\sethlcolor{my-pale-grey}
\let\OldTexttt\texttt
\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}}
\makeatletter
\preto\Gin@extensions{png,}
\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
\preto\Gin@extensions{gif,}
\DeclareGraphicsRule{.gif}{png}{.png}{\noexpand\Gin@base.png}
\makeatother
\usepackage{hyperref}
\hypersetup{
colorlinks = true,
allcolors = my-blue
}
\usepackage{hypcap}
\makeindex
\makeglossaries

134
preamble_extra.tex Normal file
View File

@@ -0,0 +1,134 @@
\usepackage{float}
\usepackage{enumitem}
\usepackage{caption,tabularx,booktabs}
\usepackage{bm}
\usepackage{xpatch} % Recommanded for biblatex
\usepackage[ % use biblatex for bibliography
backend=biber, % use biber backend (bibtex replacement) or bibtex
style=ieee, % bib style
hyperref=true, % activate hyperref support
backref=true, % activate backrefs
isbn=false, % don't show isbn tags
url=false, % don't show url tags
doi=false, % don't show doi tags
urldate=long, % display type for dates
maxnames=3, %
minnames=1, %
maxbibnames=5, %
minbibnames=3, %
maxcitenames=2, %
mincitenames=1 %
]{biblatex}
\setlength\bibitemsep{1.1\itemsep}
\usepackage{caption}
\usepackage{subcaption}
\captionsetup[figure]{labelfont=bf}
\captionsetup[subfigure]{labelfont=bf}
\captionsetup[listing]{labelfont=bf}
\captionsetup[table]{labelfont=bf}
\usepackage{xcolor}
\definecolor{my-blue}{HTML}{6b7adb}
\definecolor{my-pale-blue}{HTML}{e6e9f9}
\definecolor{my-red}{HTML}{db6b6b}
\definecolor{my-pale-red}{HTML}{f9e6e6}
\definecolor{my-green}{HTML}{6bdbb6}
\definecolor{my-pale-green}{HTML}{e6f9f3}
\definecolor{my-yellow}{HTML}{dbd26b}
\definecolor{my-pale-yellow}{HTML}{f9f7e6}
\definecolor{my-orange}{HTML}{dba76b}
\definecolor{my-pale-orange}{HTML}{f9f0e6}
\definecolor{my-grey}{HTML}{a3a3a3}
\definecolor{my-pale-grey}{HTML}{f0f0f0}
\definecolor{my-turq}{HTML}{6bc7db}
\definecolor{my-pale-turq}{HTML}{e6f6f9}
\usepackage{inconsolata}
\usepackage[newfloat=true, chapter]{minted}
\usemintedstyle{autumn}
\setminted{frame=lines,breaklines=true,tabsize=4,fontsize=\scriptsize,autogobble=true,labelposition=topline,bgcolor=my-pale-grey}
\setminted[matlab]{label=Matlab}
\setminted[latex]{label=LaTeX}
\setminted[bash]{label=Bash}
\setminted[python]{label=Python}
\setminted[text]{label=Results}
\setminted[md]{label=Org Mode}
\setmintedinline{fontsize=\normalsize,bgcolor=my-pale-grey}
\usepackage[most]{tcolorbox}
\tcbuselibrary{minted}
\newtcolorbox{seealso}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=See Also}
\newtcolorbox{hint}{ enhanced,breakable,colback=my-pale-grey,colframe=my-grey,fonttitle=\bfseries,title=Hint}
\newtcolorbox{definition}{enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Definition}
\newtcolorbox{important}{ enhanced,breakable,colback=my-pale-red, colframe=my-red, fonttitle=\bfseries,title=Important}
\newtcolorbox{exampl}[1][]{ enhanced,breakable,colback=my-pale-green,colframe=my-green,fonttitle=\bfseries,title=Example,#1}
\newtcolorbox{exercice}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Exercice}
\newtcolorbox{question}{ enhanced,breakable,colback=my-pale-yellow,colframe=my-yellow,fonttitle=\bfseries,title=Question}
\newtcolorbox{answer}{ enhanced,breakable,colback=my-pale-turq,colframe=my-turq,fonttitle=\bfseries,title=Answer}
\newtcolorbox{summary}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Summary}
\newtcolorbox{note}{ enhanced,breakable,colback=my-pale-blue,colframe=my-blue,fonttitle=\bfseries,title=Note}
\newtcolorbox{caution}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Caution}
\newtcolorbox{warning}{ enhanced,breakable,colback=my-pale-orange,colframe=my-orange,fonttitle=\bfseries,title=Warning}
\newtcolorbox{my-quote}[1]{%
colback=my-pale-grey,
grow to right by=-10mm,
grow to left by=-10mm,
boxrule=0pt,
boxsep=0pt,
breakable,
enhanced jigsaw,
borderline west={4pt}{0pt}{my-grey}}
\renewenvironment{quote}{\begin{my-quote}}{\end{my-quote}}
\newtcolorbox{my-verse}[1]{%
colback=my-pale-grey,
grow to right by=-10mm,
grow to left by=-10mm,
boxrule=0pt,
boxsep=0pt,
breakable,
enhanced jigsaw,
borderline west={4pt}{0pt}{my-grey}}
\renewenvironment{verse}{\begin{my-verse}}{\end{my-verse}}
\usepackage{environ}% http://ctan.org/pkg/environ
\NewEnviron{aside}{%
\marginpar{\BODY}
}
\renewenvironment{verbatim}{\VerbatimEnvironment\begin{minted}[]{text}}{\end{minted}}
\usepackage{soul}
\sethlcolor{my-pale-grey}
\let\OldTexttt\texttt
\renewcommand{\texttt}[1]{{\ttfamily\hl{\mbox{\,#1\,}}}}
\makeatletter
\preto\Gin@extensions{png,}
\DeclareGraphicsRule{.png}{pdf}{.pdf}{\noexpand\Gin@base.pdf}
\preto\Gin@extensions{gif,}
\DeclareGraphicsRule{.gif}{png}{.png}{\noexpand\Gin@base.png}
\makeatother
\usepackage{hyperref}
\hypersetup{
colorlinks = true,
allcolors = my-blue
}
\usepackage{hypcap}

View File

@@ -1,3 +1,30 @@
@article{wehrsdorfer95_large_signal_measur_piezoel_stack,
author = {Wehrsdorfer, E and Borchhardt, G and Karthe, W and Helke,
G},
title = {Large Signal Measurements on Piezoelectric Stacks},
journal = {Ferroelectrics},
volume = 174,
number = 1,
pages = {259--275},
year = 1995,
publisher = {Taylor \& Francis},
}
@book{fleming14_desig_model_contr_nanop_system,
author = {Andrew J. Fleming and Kam K. Leang},
title = {Design, Modeling and Control of Nanopositioning Systems},
year = 2014,
publisher = {Springer International Publishing},
url = {https://doi.org/10.1007/978-3-319-06617-2},
doi = {10.1007/978-3-319-06617-2},
series = {Advances in Industrial Control},
}
@book{reza06_piezoel_trans_vibrat_contr_dampin,
author = {Reza, Moheimani and Andrew, Fleming},
title = {Piezoelectric Transducers for Vibration Control and
@@ -10,6 +37,64 @@
@book{preumont18_vibrat_contr_activ_struc_fourt_edition,
author = {Andre Preumont},
title = {Vibration Control of Active Structures - Fourth Edition},
year = 2018,
publisher = {Springer International Publishing},
url = {https://doi.org/10.1007/978-3-319-72296-2},
doi = {10.1007/978-3-319-72296-2},
keywords = {favorite, parallel robot},
series = {Solid Mechanics and Its Applications},
}
@inproceedings{spanos95_soft_activ_vibrat_isolat,
author = {J. Spanos and Z. Rahman and G. Blackwood},
title = {A Soft 6-axis Active Vibration Isolator},
booktitle = {Proceedings of 1995 American Control Conference - ACC'95},
year = 1995,
doi = {10.1109/acc.1995.529280},
url = {https://doi.org/10.1109/acc.1995.529280},
keywords = {parallel robot},
}
@article{thayer02_six_axis_vibrat_isolat_system,
author = {Doug Thayer and Mark Campbell and Juris Vagners and Andrew
von Flotow},
title = {Six-Axis Vibration Isolation System Using Soft Actuators
and Multiple Sensors},
journal = {Journal of Spacecraft and Rockets},
volume = 39,
number = 2,
pages = {206-212},
year = 2002,
doi = {10.2514/2.3821},
url = {https://doi.org/10.2514/2.3821},
keywords = {parallel robot},
}
@article{hauge04_sensor_contr_space_based_six,
author = {G.S. Hauge and M.E. Campbell},
title = {Sensors and Control of a Space-Based Six-Axis Vibration
Isolation System},
journal = {Journal of Sound and Vibration},
volume = 269,
number = {3-5},
pages = {913-931},
year = 2004,
doi = {10.1016/s0022-460x(03)00206-2},
url = {https://doi.org/10.1016/s0022-460x(03)00206-2},
keywords = {parallel robot, favorite},
}
@article{souleille18_concep_activ_mount_space_applic,
author = {Souleille, Adrien and Lampert, Thibault and Lafarga, V and
Hellegouarch, Sylvain and Rondineau, Alan and Rodrigues,
@@ -26,18 +111,6 @@
@book{fleming14_desig_model_contr_nanop_system,
author = {Andrew J. Fleming and Kam K. Leang},
title = {Design, Modeling and Control of Nanopositioning Systems},
year = 2014,
publisher = {Springer International Publishing},
url = {https://doi.org/10.1007/978-3-319-06617-2},
doi = {10.1007/978-3-319-06617-2},
series = {Advances in Industrial Control},
}
@article{fleming10_integ_strain_force_feedb_high,
author = {Fleming, Andrew J and Leang, Kam K},
title = {Integrated Strain and Force Feedback for High-Performance
@@ -53,16 +126,21 @@
@article{fleming10_integ_strain_force_feedb_high,
author = {Fleming, Andrew J and Leang, Kam K},
title = {Integrated Strain and Force Feedback for High-Performance
Control of Piezoelectric Actuators},
journal = {Sensors and Actuators A: Physical},
volume = 161,
number = {1-2},
pages = {256--265},
year = 2010,
publisher = {Elsevier},
keywords = {flexure,nanostage},
@article{gustavsen99_ration_approx_frequen_domain_respon,
author = {Gustavsen, B.; Semlyen, A.},
title = {Rational Approximation of Frequency Domain Responses By
Vector Fitting},
journal = {IEEE Transactions on Power Delivery},
volume = 14,
year = 1999,
doi = {10.1109/61.772353},
url = {https://doi.org/10.1109/61.772353},
issne = {1937-4208},
issnp = {0885-8977},
issue = 3,
month = 7,
page = {1052--1061},
publisher = {IEEE},
keywords = {Motors},
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,19 +1,32 @@
% Created 2024-03-27 Wed 23:01
% Created 2025-04-03 Thu 22:11
% Intended LaTeX compiler: pdflatex
\documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt}
\input{preamble.tex}
\newacronym{haclac}{HAC-LAC}{High Authority Control - Low Authority Control}
\newacronym{hac}{HAC}{High Authority Control}
\newacronym{lac}{LAC}{Low Authority Control}
\newacronym{nass}{NASS}{Nano Active Stabilization System}
\newacronym{asd}{ASD}{Amplitude Spectral Density}
\newacronym{psd}{PSD}{Power Spectral Density}
\newacronym{cps}{CPS}{Cumulative Power Spectrum}
\newacronym{cas}{CAS}{Cumulative Amplitude Spectrum}
\newacronym{frf}{FRF}{Frequency Response Function}
\newacronym{iff}{IFF}{Integral Force Feedback}
\newacronym{rdc}{RDC}{Relative Damping Control}
\newacronym{drga}{DRGA}{Dynamical Relative Gain Array}
\newacronym{hpf}{HPF}{high-pass filter}
\newacronym{lpf}{LPF}{low-pass filter}
\newacronym{dof}{DoF}{degrees-of-freedom}
\newglossaryentry{psdx}{name=\ensuremath{\Phi_{x}},description={{Power spectral density of signal $x$}}}
\newglossaryentry{asdx}{name=\ensuremath{\Gamma_{x}},description={{Amplitude spectral density of signal $x$}}}
\newglossaryentry{cpsx}{name=\ensuremath{\Phi_{x}},description={{Cumulative Power Spectrum of signal $x$}}}
\newglossaryentry{casx}{name=\ensuremath{\Gamma_{x}},description={{Cumulative Amplitude Spectrum of signal $x$}}}
\input{preamble_extra.tex}
\bibliography{test-bench-apa.bib}
\author{Dehaeze Thomas}
\date{\today}
\title{Test Bench - Amplified Piezoelectric Actuator}
\hypersetup{
pdfauthor={Dehaeze Thomas},
pdftitle={Test Bench - Amplified Piezoelectric Actuator},
pdfkeywords={},
pdfsubject={},
pdfcreator={Emacs 29.3 (Org mode 9.7)},
pdflang={English}}
\usepackage{biblatex}
\begin{document}
@@ -22,67 +35,53 @@
\tableofcontents
\clearpage
In this chapter, the goal is to ensure that the received APA300ML (shown in Figure \ref{fig:test_apa_received}) are complying with the requirements and that the dynamical models of the actuator accurately represent its dynamics.
In section \ref{sec:test_apa_basic_meas}, the mechanical tolerances of the APA300ML interfaces are checked together with the electrical properties of the piezoelectric stacks and the achievable stroke.
The flexible modes of the APA300ML, which were estimated using a finite element model, are compared with measurements.
Using a dedicated test bench, dynamical measurements are performed (Section \ref{sec:test_apa_dynamics}).
The dynamics from the generated DAC voltage (going through the voltage amplifier and then to two actuator stacks) to the induced axial displacement and to the measured voltage across the force sensor stack are estimated.
Integral Force Feedback is experimentally applied, and the damped plants are estimated for several feedback gains.
Two different models of the APA300ML are presented.
First, in Section \ref{sec:test_apa_model_2dof}, a two degrees-of-freedom model is presented, tuned, and compared with the measured dynamics.
This model is proven to accurately represent the APA300ML's axial dynamics while having low complexity.
Then, in Section \ref{sec:test_apa_model_flexible}, a \emph{super element} of the APA300ML is extracted using a finite element model and imported into the multi-body model.
This more complex model also captures well capture the axial dynamics of the APA300ML.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.7\linewidth]{figs/test_apa_received.jpg}
\caption{\label{fig:test_apa_received}Picture of 5 out of the 7 received APA300ML}
\end{figure}
The first goal is to characterize the APA300ML in terms of:
\begin{itemize}
\item The, geometric features, electrical capacitance, stroke, hysteresis, spurious resonances.
This is performed in Section \ref{sec:test_apa_basic_meas}.
\item The dynamics from the generated DAC voltage (going to the voltage amplifiers and then applied on the actuator stacks) to the induced displacement, and to the measured voltage by the force sensor stack.
Also the ``actuator constant'' and ``sensor constant'' are identified.
This is done in Section \ref{sec:test_apa_dynamics}.
\item Compare the measurements with the two Simscape models: 2DoF (Section \ref{sec:test_apa_model_2dof}) Super-Element (Section \ref{sec:test_apa_model_flexible})
\end{itemize}
\begin{table}[htbp]
\caption{\label{tab:test_apa_section_matlab_code}Report sections and corresponding Matlab files}
\centering
\begin{tabularx}{0.6\linewidth}{lX}
\toprule
\textbf{Sections} & \textbf{Matlab File}\\
\midrule
Section \ref{sec:test_apa_basic_meas} & \texttt{test\_apa\_1\_basic\_meas.m}\\
Section \ref{sec:test_apa_dynamics} & \texttt{test\_apa\_2\_dynamics.m}\\
Section \ref{sec:test_apa_model_2dof} & \texttt{test\_apa\_3\_model\_2dof.m}\\
Section \ref{sec:test_apa_model_flexible} & \texttt{test\_apa\_4\_model\_flexible.m}\\
\bottomrule
\end{tabularx}
\end{table}
\chapter{First Basic Measurements}
\label{sec:test_apa_basic_meas}
Before using the measurement bench to characterize the APA300ML, first simple measurements are performed:
\begin{itemize}
\item Section \ref{ssec:test_apa_geometrical_measurements}: the geometric tolerances of the interface planes are checked
\item Section \ref{ssec:test_apa_electrical_measurements}: the capacitance of the piezoelectric stacks is measured
\item Section \ref{ssec:test_apa_stroke_measurements}: the stroke of each APA is measured
\item Section \ref{ssec:test_apa_spurious_resonances}: the ``spurious'' resonances of the APA are investigated
\end{itemize}
Before measuring the dynamical characteristics of the APA300ML, simple measurements are performed.
First, the tolerances (especially flatness) of the mechanical interfaces are checked in Section \ref{ssec:test_apa_geometrical_measurements}.
Then, the capacitance of the piezoelectric stacks is measured in Section \ref{ssec:test_apa_electrical_measurements}.
The achievable stroke of the APA300ML is measured using a displacement probe in Section \ref{ssec:test_apa_stroke_measurements}.
Finally, in Section \ref{ssec:test_apa_spurious_resonances}, the flexible modes of the APA are measured and compared with a finite element model.
\section{Geometrical Measurements}
\label{ssec:test_apa_geometrical_measurements}
To measure the flatness of the two mechanical interfaces of the APA300ML, a small measurement bench is installed on top of a metrology granite with very good flatness.
To measure the flatness of the two mechanical interfaces of the APA300ML, a small measurement bench is installed on top of a metrology granite with excellent flatness.
As shown in Figure \ref{fig:test_apa_flatness_setup}, the APA is fixed to a clamp while a measuring probe\footnote{Heidenhain MT25, specified accuracy of \(\pm 0.5\,\mu m\)} is used to measure the height of four points on each of the APA300ML interfaces.
From the X-Y-Z coordinates of the measured eight points, the flatness is estimated by best fitting\footnote{The Matlab \texttt{fminsearch} command is used to fit the plane} a plane through all the points.
The measured flatness values, summarized in Table \ref{tab:test_apa_flatness_meas}, are within the specifications.
As shown in Figure \ref{fig:test_apa_flatness_setup}, the APA is fixed to a clamp while a measuring probe\footnote{Heidenhain MT25, specified accuracy of \(\pm 0.5\,\mu m\)} is used to measure the height of 4 points on each of the APA300ML interfaces.
From the X-Y-Z coordinates of the measured 8 points, the flatness is estimated by best fitting\footnote{The Matlab \texttt{fminsearch} command is used to fit the plane} a plane through all the points.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.4\linewidth]{figs/test_apa_flatness_setup.png}
\caption{\label{fig:test_apa_flatness_setup}Measurement setup for flatness estimation of the two mechanical interfaces}
\end{figure}
The measured flatness, summarized in Table \ref{tab:test_apa_flatness_meas}, are within the specifications.
\begin{table}[htbp]
\caption{\label{tab:test_apa_flatness_meas}Estimated flatness of the APA300ML interfaces}
\centering
\begin{tabularx}{0.3\linewidth}{Xc}
\begin{minipage}[b]{0.48\linewidth}
\begin{center}
\includegraphics[scale=1,width=0.7\linewidth]{figs/test_apa_flatness_setup.png}
\captionof{figure}{\label{fig:test_apa_flatness_setup}Measurement setup for flatness estimation}
\end{center}
\end{minipage}
\hfill
\begin{minipage}[b]{0.48\linewidth}
\begin{center}
\begin{tabularx}{0.6\linewidth}{Xc}
\toprule
& \textbf{Flatness} \([\mu m]\)\\
\midrule
@@ -95,32 +94,34 @@ APA 6 & 7.1\\
APA 7 & 18.7\\
\bottomrule
\end{tabularx}
\end{table}
\captionof{table}{\label{tab:test_apa_flatness_meas}Estimated flatness of the APA300ML interfaces}
\end{center}
\end{minipage}
\section{Electrical Measurements}
\label{ssec:test_apa_electrical_measurements}
From the documentation of the APA300ML, the total capacitance of the three stacks should be between \(18\,\mu F\) and \(26\,\mu F\) with a nominal capacitance of \(20\,\mu F\).
The capacitance of the piezoelectric stacks found in the APA300ML have been measured with the LCR meter\footnote{LCR-819 from Gwinstek, specified accuracy of \(0.05\%\), measured frequency is set at \(1\,\text{kHz}\)} shown in Figure \ref{fig:test_apa_lcr_meter}.
The two stacks used as an actuator and the stack used as a force sensor are measured separately.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.6\linewidth]{figs/test_apa_lcr_meter.jpg}
\caption{\label{fig:test_apa_lcr_meter}LCR Meter used for the measurements}
\end{figure}
The measured capacitance are summarized in Table \ref{tab:test_apa_capacitance} and the average capacitance of one stack is \(\approx 5 \mu F\).
The capacitance of the APA300ML piezoelectric stacks was measured with the LCR meter\footnote{LCR-819 from Gwinstek, with a specified accuracy of \(0.05\%\). The measured frequency is set at \(1\,\text{kHz}\)} shown in Figure \ref{fig:test_apa_lcr_meter}.
The two stacks used as the actuator and the stack used as the force sensor were measured separately.
The measured capacitance values are summarized in Table \ref{tab:test_apa_capacitance} and the average capacitance of one stack is \(\approx 5 \mu F\).
However, the measured capacitance of the stacks of ``APA 3'' is only half of the expected capacitance.
This may indicate a manufacturing defect.
The measured capacitance is found to be lower than the specified one.
This may be due to the fact that the manufacturer measures the capacitance with large signals (\(-20\,V\) to \(150\,V\)) while it was here measured with small signals.
The measured capacitance is found to be lower than the specified value.
This may be because the manufacturer measures the capacitance with large signals (\(-20\,V\) to \(150\,V\)), whereas it was here measured with small signals \cite{wehrsdorfer95_large_signal_measur_piezoel_stack}.
\begin{table}[htbp]
\caption{\label{tab:test_apa_capacitance}Capacitance measured with the LCR meter. The excitation signal is a sinus at 1kHz}
\centering
\begin{tabularx}{0.5\linewidth}{lcc}
\begin{minipage}[b]{0.49\linewidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_lcr_meter.jpg}
\captionof{figure}{\label{fig:test_apa_lcr_meter}Used LCR meter}
\end{center}
\end{minipage}
\hfill
\begin{minipage}[b]{0.49\linewidth}
\begin{center}
\begin{tabularx}{0.95\linewidth}{lcc}
\toprule
& \textbf{Sensor Stack} & \textbf{Actuator Stacks}\\
\midrule
@@ -133,63 +134,82 @@ APA 6 & 4.99 & 9.91\\
APA 7 & 4.85 & 9.85\\
\bottomrule
\end{tabularx}
\end{table}
\captionof{table}{\label{tab:test_apa_capacitance}Measured capacitance in \(\mu F\)}
\end{center}
\end{minipage}
\section{Stroke and Hysteresis Measurement}
\label{ssec:test_apa_stroke_measurements}
The goal is here to verify that the stroke of the APA300ML is as specified in the datasheet.
To do so, one side of the APA is fixed to the granite, and a displacement probe\footnote{Millimar 1318 probe, specified linearity better than \(1\,\mu m\)} is located on the other side as shown in Figure \ref{fig:test_apa_stroke_bench}.
To compare the stroke of the APA300ML with the datasheet specifications, one side of the APA is fixed to the granite, and a displacement probe\footnote{Millimar 1318 probe, specified linearity better than \(1\,\mu m\)} is located on the other side as shown in Figure \ref{fig:test_apa_stroke_bench}.
Then, the voltage across the two actuator stacks is varied from \(-20\,V\) to \(150\,V\) using a DAC and a voltage amplifier.
Note that the voltage is here slowly varied as the displacement probe has a very low measurement bandwidth (see Figure \ref{fig:test_apa_stroke_bench}, left).
The voltage across the two actuator stacks is varied from \(-20\,V\) to \(150\,V\) using a DAC\footnote{The DAC used is the one included in the IO131 card sold by Speedgoat. It has an output range of \(\pm 10\,V\) and 16-bits resolution} and a voltage amplifier\footnote{PD200 from PiezoDrive. The gain is \(20\,V/V\)}.
Note that the voltage is slowly varied as the displacement probe has a very low measurement bandwidth (see Figure \ref{fig:test_apa_stroke_voltage}).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_apa_stroke_bench.jpg}
\caption{\label{fig:test_apa_stroke_bench}Bench to measured the APA stroke}
\includegraphics[scale=1,width=0.7\linewidth]{figs/test_apa_stroke_bench.jpg}
\caption{\label{fig:test_apa_stroke_bench}Bench to measure the APA stroke}
\end{figure}
The measured APA displacement is shown as a function of the applied voltage in Figure \ref{fig:test_apa_stroke_result}, right.
The measured APA displacement is shown as a function of the applied voltage in Figure \ref{fig:test_apa_stroke_hysteresis}.
Typical hysteresis curves for piezoelectric stack actuators can be observed.
The measured stroke is approximately \(250\,\mu m\) when using only two of the three stacks, which is enough for the current application.
The measured stroke is approximately \(250\,\mu m\) when using only two of the three stacks.
This is even above what is specified as the nominal stroke in the data-sheet (\(304\,\mu m\), therefore \(\approx 200\,\mu m\) if only two stacks are used).
For the NASS, this stroke is sufficient because the positioning errors to be corrected using the nano-hexapod are expected to be in the order of \(10\,\mu m\).
It is clear from Figure \ref{fig:test_apa_stroke_result} that ``APA 3'' has an issue compared to the other units.
It is clear from Figure \ref{fig:test_apa_stroke_hysteresis} that ``APA 3'' has an issue compared with the other units.
This confirms the abnormal electrical measurements made in Section \ref{ssec:test_apa_electrical_measurements}.
This unit was send sent back to Cedrat and a new one was shipped back.
From now on, only the six APA that behave as expected will be used.
This unit was sent sent back to Cedrat, and a new one was shipped back.
From now on, only the six remaining amplified piezoelectric actuators that behave as expected will be used.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_apa_stroke_result.png}
\caption{\label{fig:test_apa_stroke_result}Generated voltage across the two piezoelectric stack actuators to estimate the stroke of the APA300ML (left). Measured displacement as a function of the applied voltage (right)}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_stroke_voltage.png}
\end{center}
\subcaption{\label{fig:test_apa_stroke_voltage}Applied voltage for stroke estimation}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_stroke_hysteresis.png}
\end{center}
\subcaption{\label{fig:test_apa_stroke_hysteresis}Hysteresis curves of the APA}
\end{subfigure}
\caption{\label{fig:test_apa_stroke}Generated voltage across the two piezoelectric stack actuators to estimate the stroke of the APA300ML (\subref{fig:test_apa_stroke_voltage}). Measured displacement as a function of applied voltage (\subref{fig:test_apa_stroke_hysteresis})}
\end{figure}
\section{Flexible Mode Measurement}
\label{ssec:test_apa_spurious_resonances}
In this section, the flexible modes of the APA300ML are investigated both experimentally and using a Finite Element Model.
To experimentally estimate these modes, the APA is fixed at one end (see Figure \ref{fig:test_apa_meas_setup_modes}).
A Laser Doppler Vibrometer\footnote{Polytec controller 3001 with sensor heads OFV512} is used to measure the difference of motion between two ``red'' points and an instrumented hammer\footnote{Kistler 9722A} is used to excite the flexible modes.
Using this setup, the transfer function from the injected force to the measured rotation can be computed under different conditions, and the frequency and mode shapes of the flexible modes can be estimated.
To experimentally estimate these modes, the APA is fixed on one end (see Figure \ref{fig:test_apa_meas_setup_torsion}).
A Laser Doppler Vibrometer\footnote{Polytec controller 3001 with sensor heads OFV512} is used to measure the difference of motion between two ``red'' points (i.e. the torsion of the APA along the vertical direction) and an instrumented hammer\footnote{Kistler 9722A} is used to excite the flexible modes.
Using this setup, the transfer function from the injected force to the measured rotation can be computed in different conditions and the frequency and mode shapes of the flexible modes can be estimated.
The flexible modes for the same condition (i.e. one mechanical interface of the APA300ML fixed) are estimated using a finite element software and the results are shown in Figure \ref{fig:test_apa_mode_shapes}.
The flexible modes for the same condition (i.e. one mechanical interface of the APA300ML fixed) are estimated using a finite element software, and the results are shown in Figure \ref{fig:test_apa_mode_shapes}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_apa_mode_shapes.png}
\caption{\label{fig:test_apa_mode_shapes}Spurious resonances - Change this with the updated FEM analysis of the APA300ML}
\begin{subfigure}{0.36\textwidth}
\begin{center}
\includegraphics[scale=1,height=4.3cm]{figs/test_apa_mode_shapes_1.png}
\end{center}
\subcaption{\label{fig:test_apa_mode_shapes_1}Y-bending mode (268Hz)}
\end{subfigure}
\begin{subfigure}{0.28\textwidth}
\begin{center}
\includegraphics[scale=1,height=4.3cm]{figs/test_apa_mode_shapes_2.png}
\end{center}
\subcaption{\label{fig:test_apa_mode_shapes_2}X-bending mode (399Hz)}
\end{subfigure}
\begin{subfigure}{0.36\textwidth}
\begin{center}
\includegraphics[scale=1,height=4.3cm]{figs/test_apa_mode_shapes_3.png}
\end{center}
\subcaption{\label{fig:test_apa_mode_shapes_3}Z-axial mode (706Hz)}
\end{subfigure}
\caption{\label{fig:test_apa_mode_shapes}First three modes of the APA300ML in a fix-free condition estimated from a Finite Element Model}
\end{figure}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.6\linewidth]{figs/test_apa_meas_setup_torsion.jpg}
\caption{\label{fig:test_apa_meas_setup_torsion}Measurement setup with a Laser Doppler Vibrometer and one instrumental hammer. Here the \(Z\) torsion is measured.}
\end{figure}
Two other similar measurements are performed to measured the bending of the APA around the \(X\) direction and around the \(Y\) direction (see Figure \ref{fig:test_apa_meas_setup_modes}).
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
@@ -203,42 +223,27 @@ Two other similar measurements are performed to measured the bending of the APA
\end{center}
\subcaption{\label{fig:test_apa_meas_setup_Y_bending}$Y$ Bending}
\end{subfigure}
\caption{\label{fig:test_apa_meas_setup_modes}Experimental setup to measured flexible modes of the APA300ML. For the bending in the \(X\) direction, the impact point is located at the back of the top measurement point. For the bending in the \(Y\) direction, the impact point is located on the back surface of the top interface (on the back of the 2 measurements points).}
\caption{\label{fig:test_apa_meas_setup_modes}Experimental setup to measure the flexible modes of the APA300ML. For the bending in the \(X\) direction (\subref{fig:test_apa_meas_setup_X_bending}), the impact point is at the back of the top measurement point. For the bending in the \(Y\) direction (\subref{fig:test_apa_meas_setup_Y_bending}), the impact point is located on the back surface of the top interface (on the back of the 2 measurements points).}
\end{figure}
The three measured frequency response functions are shown in Figure \ref{fig:test_apa_meas_freq_compare}.
\begin{itemize}
\item a clear \(x\) bending mode at \(280\,\text{Hz}\)
\item a clear \(y\) bending mode at \(412\,\text{Hz}\)
\item for the \(z\) torsion test, the \(y\) bending mode is also excited and observed, and we may see a mode at \(800\,\text{Hz}\)
\end{itemize}
The measured frequency response functions computed from the experimental setups of figures \ref{fig:test_apa_meas_setup_X_bending} and \ref{fig:test_apa_meas_setup_Y_bending} are shown in Figure \ref{fig:test_apa_meas_freq_compare}.
The \(y\) bending mode is observed at \(280\,\text{Hz}\) and the \(x\) bending mode is at \(412\,\text{Hz}\).
These modes are measured at higher frequencies than the frequencies estimated from the Finite Element Model (see frequencies in Figure \ref{fig:test_apa_mode_shapes}).
This is the opposite of what is usually observed (i.e. having lower resonance frequencies in practice than the estimation from a finite element model).
This could be explained by underestimation of the Young's modulus of the steel used for the shell (190 GPa was used for the model, but steel with Young's modulus of 210 GPa could have been used).
Another explanation is the shape difference between the manufactured APA300ML and the 3D model, for instance thicker blades.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_apa_meas_freq_compare.png}
\caption{\label{fig:test_apa_meas_freq_compare}Obtained frequency response functions for the 3 tests with the instrumented hammer}
\caption{\label{fig:test_apa_meas_freq_compare}Frequency response functions for the two tests using the instrumented hammer and the laser vibrometer. The Y-bending mode is measured at \(280\,\text{Hz}\) and the X-bending mode at \(412\,\text{Hz}\)}
\end{figure}
\begin{table}[htbp]
\caption{\label{tab:test_apa_measured_modes_freq}Measured frequency of the modes}
\centering
\begin{tabularx}{0.5\linewidth}{Xcc}
\toprule
\textbf{Mode} & \textbf{FEM} & \textbf{Measured Frequency}\\
\midrule
\(X\) bending & & 280Hz\\
\(Y\) bending & & 410Hz\\
\(Z\) torsion & & 800Hz\\
\bottomrule
\end{tabularx}
\end{table}
\chapter{Dynamical measurements}
\label{sec:test_apa_dynamics}
After the basic measurements on the APA were performed in Section \ref{sec:test_apa_basic_meas}, a new test bench is used to better characterize the APA.
This test bench is shown in Figure \ref{fig:test_bench_apa} and consists of the APA300ML fixed on one end to the fixed granite, and on the other end to the 5kg granite vertically guided with an air bearing.
An encoder is used to measure the relative motion between the two granites (i.e. the displacement of the APA).
After the measurements on the APA were performed in Section \ref{sec:test_apa_basic_meas}, a new test bench was used to better characterize the dynamics of the APA300ML.
This test bench, depicted in Figure \ref{fig:test_bench_apa}, comprises the APA300ML fixed at one end to a stationary granite block and at the other end to a 5kg granite block that is vertically guided by an air bearing.
Thus, there is no friction when actuating the APA300ML, and it will be easier to characterize its behavior independently of other factors.
An encoder\footnote{Renishaw Vionic, resolution of \(2.5\,nm\)} is used to measure the relative movement between the two granite blocks, thereby measuring the axial displacement of the APA.
\begin{figure}[htbp]
\begin{subfigure}{0.3\textwidth}
@@ -256,83 +261,58 @@ An encoder is used to measure the relative motion between the two granites (i.e.
\caption{\label{fig:test_bench_apa}Schematic of the test bench used to estimate the dynamics of the APA300ML}
\end{figure}
The bench is schematically shown in Figure \ref{fig:test_apa_schematic} and the signal used are summarized in Table \ref{tab:test_apa_variables}.
The bench is schematically shown in Figure \ref{fig:test_apa_schematic} with the associated signals.
It will be first used to estimate the hysteresis from the piezoelectric stack (Section \ref{ssec:test_apa_hysteresis}) as well as the axial stiffness of the APA300ML (Section \ref{ssec:test_apa_stiffness}).
The frequency response functions from the DAC voltage \(u\) to the displacement \(d_e\) and to the voltage \(V_s\) are measured in Section \ref{ssec:test_apa_meas_dynamics}.
The presence of a non-minimum phase zero found on the transfer function from \(u\) to \(V_s\) is investigated in Section \ref{ssec:test_apa_non_minimum_phase}.
To limit the low-frequency gain of the transfer function from \(u\) to \(V_s\), a resistor is added across the force sensor stack (Section \ref{ssec:test_apa_resistance_sensor_stack}).
Finally, the Integral Force Feedback is implemented, and the amount of damping added is experimentally estimated in Section \ref{ssec:test_apa_iff_locus}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,scale=1]{figs/test_apa_schematic.png}
\caption{\label{fig:test_apa_schematic}Schematic of the Test Bench}
\caption{\label{fig:test_apa_schematic}Schematic of the Test Bench used to measure the dynamics of the APA300ML. \(u\) is the output DAC voltage, \(V_a\) the output amplifier voltage (i.e. voltage applied across the actuator stacks), \(d_e\) the measured displacement by the encoder and \(V_s\) the measured voltage across the sensor stack.}
\end{figure}
\begin{table}[htbp]
\caption{\label{tab:test_apa_variables}Variables used during the measurements}
\centering
\begin{tabularx}{0.6\linewidth}{cXc}
\toprule
\textbf{Variable} & \textbf{Description} & \textbf{Unit}\\
\midrule
\(u\) & Output DAC Voltage & \(V\)\\
\(V_a\) & Output Amplifier Voltage & \(V\)\\
\(V_s\) & Measured Stack Voltage (ADC) & \(V\)\\
\(d_e\) & Encoder Measurement & \(m\)\\
\bottomrule
\end{tabularx}
\end{table}
This bench will be used to:
\begin{itemize}
\item \ref{ssec:test_apa_hysteresis}
\item \ref{ssec:test_apa_stiffness}
\item measure the dynamics of the APA (section \ref{ssec:test_apa_meas_dynamics})
\item estimate the added damping using Integral Force Feedback (Section \ref{ssec:test_apa_iff_locus})
\end{itemize}
These measurements will also be used to tune the developed models of the APA (in Section \ref{sec:test_apa_model_2dof} for the 2DoF model, and in Section \ref{sec:test_apa_model_flexible} for the flexible model).
\section{Hysteresis}
\label{ssec:test_apa_hysteresis}
As the payload is vertically guided without friction, the hysteresis of the APA can be estimated from the motion of the payload.
A quasi static sinusoidal excitation \(V_a\) with an offset of \(65\,V\) (halfway between \(-20\,V\) and \(150\,V\)), and an amplitude varying from \(4\,V\) up to \(80\,V\).
For each excitation amplitude, the vertical displacement \(d_e\) of the mass is measured and displayed as a function of the applied voltage..
The measured displacements as a function of the output voltages are shown in Figure \ref{fig:test_apa_meas_hysteresis}.
It is interesting to see that the hysteresis is increasing with the excitation amplitude.
Because the payload is vertically guided without friction, the hysteresis of the APA can be estimated from the motion of the payload.
A quasi static\footnote{Frequency of the sinusoidal wave is \(1\,\text{Hz}\)} sinusoidal excitation \(V_a\) with an offset of \(65\,V\) (halfway between \(-20\,V\) and \(150\,V\)) and with an amplitude varying from \(4\,V\) up to \(80\,V\) is generated using the DAC.
For each excitation amplitude, the vertical displacement \(d_e\) of the mass is measured and displayed as a function of the applied voltage in Figure \ref{fig:test_apa_meas_hysteresis}.
This is the typical behavior expected from a PZT stack actuator, where the hysteresis increases as a function of the applied voltage amplitude \cite[chap. 1.4]{fleming14_desig_model_contr_nanop_system}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_apa_meas_hysteresis.png}
\caption{\label{fig:test_apa_meas_hysteresis}Obtained hysteresis curves (displacement as a function of applied voltage) for multiple excitation amplitudes}
\caption{\label{fig:test_apa_meas_hysteresis}Displacement as a function of applied voltage for multiple excitation amplitudes}
\end{figure}
\section{Axial stiffness}
\label{ssec:test_apa_stiffness}
In order to estimate the stiffness of the APA, a weight with known mass \(m_a = 6.4\,\text{kg}\) is added on top of the suspended granite and the deflection \(d_e\) is measured using the encoder.
The APA stiffness can then be estimated from equation \eqref{eq:test_apa_stiffness}.
To estimate the stiffness of the APA, a weight with known mass \(m_a = 6.4\,\text{kg}\) is added on top of the suspended granite and the deflection \(\Delta d_e\) is measured using the encoder.
The APA stiffness can then be estimated from equation \eqref{eq:test_apa_stiffness}, with \(g \approx 9.8\,m/s^2\) the acceleration of gravity.
\begin{equation} \label{eq:test_apa_stiffness}
k_{\text{apa}} = \frac{m_a g}{\Delta d_e}
\end{equation}
The measured displacement \(d_e\) as a function of time is shown in Figure \ref{fig:test_apa_meas_stiffness_time}.
It can be seen that there are some drifts in the measured displacement (probably due to piezoelectric creep) and the that displacement does not come back to the initial position after the mass is removed (probably due to piezoelectric hysteresis).
It can be seen that there are some drifts in the measured displacement (probably due to piezoelectric creep), and that the displacement does not return to the initial position after the mass is removed (probably due to piezoelectric hysteresis).
These two effects induce some uncertainties in the measured stiffness.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_apa_meas_stiffness_time.png}
\caption{\label{fig:test_apa_meas_stiffness_time}Measured displacement when adding the mass (at \(t \approx 3\,s\)) and removing the mass(at \(t \approx 13\,s\))}
\end{figure}
The stiffnesses are computed for all APAs from the two displacements \(d_1\) and \(d_2\) (see Figure \ref{fig:test_apa_meas_stiffness_time}) leading to two stiffness estimations \(k_1\) and \(k_2\).
These estimated stiffnesses are summarized in Table \ref{tab:test_apa_measured_stiffnesses} and are found to be close to the specified nominal stiffness of the APA300ML \(k = 1.8\,N/\mu m\).
The stiffnesses are computed for all the APA from the two displacements \(d_1\) and \(d_2\) (see Figure \ref{fig:test_apa_meas_stiffness_time}) leading to two stiffness estimations \(k_1\) and \(k_2\).
These estimated stiffnesses are summarized in Table \ref{tab:test_apa_measured_stiffnesses} and are found to be close to the nominal stiffness \(k = 1.8\,N/\mu m\) found in the APA300ML manual.
\begin{table}[htbp]
\caption{\label{tab:test_apa_measured_stiffnesses}Measured stiffnesses (in \(N/\mu m\))}
\centering
\begin{tabularx}{0.2\linewidth}{ccc}
\begin{minipage}[b]{0.57\linewidth}
\begin{center}
\includegraphics[scale=1,width=0.9\linewidth]{figs/test_apa_meas_stiffness_time.png}
\captionof{figure}{\label{fig:test_apa_meas_stiffness_time}Measured displacement when adding (at \(t \approx 3\,s\)) and removing (at \(t \approx 13\,s\)) the mass}
\end{center}
\end{minipage}
\hfill
\begin{minipage}[b]{0.37\linewidth}
\begin{center}
\begin{tabularx}{0.6\linewidth}{Xcc}
\toprule
APA & \(k_1\) & \(k_2\)\\
\midrule
@@ -344,7 +324,10 @@ APA & \(k_1\) & \(k_2\)\\
8 & 1.73 & 1.98\\
\bottomrule
\end{tabularx}
\end{table}
\captionof{table}{\label{tab:test_apa_measured_stiffnesses}Measured axial stiffnesses (in \(N/\mu m\))}
\end{center}
\end{minipage}
The stiffness can also be computed using equation \eqref{eq:test_apa_res_freq} by knowing the main vertical resonance frequency \(\omega_z \approx 95\,\text{Hz}\) (estimated by the dynamical measurements shown in section \ref{ssec:test_apa_meas_dynamics}) and the suspended mass \(m_{\text{sus}} = 5.7\,\text{kg}\).
@@ -352,45 +335,47 @@ The stiffness can also be computed using equation \eqref{eq:test_apa_res_freq} b
\omega_z = \sqrt{\frac{k}{m_{\text{sus}}}}
\end{equation}
The obtain stiffness is \(k \approx 2\,N/\mu m\) which is close to the values found in the documentation and by the ``static deflection'' method.
The obtained stiffness is \(k \approx 2\,N/\mu m\) which is close to the values found in the documentation and using the ``static deflection'' method.
However, changes in the electrical impedance connected to the piezoelectric stacks impacts the mechanical compliance (or stiffness) of the piezoelectric stack \cite[chap. 2]{reza06_piezoel_trans_vibrat_contr_dampin}.
It is important to note that changes to the electrical impedance connected to the piezoelectric stacks affect the mechanical compliance (or stiffness) of the piezoelectric stack \cite[chap. 2]{reza06_piezoel_trans_vibrat_contr_dampin}.
To estimate this effect, the stiffness of the APA if measured using the ``static deflection'' method in two cases:
To estimate this effect for the APA300ML, its stiffness is estimated using the ``static deflection'' method in two cases:
\begin{itemize}
\item \(k_{\text{os}}\): piezoelectric stacks left unconnected (or connect to the high impedance ADC)
\item \(k_{\text{sc}}\): piezoelectric stacks short circuited (or connected to the voltage amplifier with small output impedance)
\item \(k_{\text{sc}}\): piezoelectric stacks short-circuited (or connected to the voltage amplifier with small output impedance)
\end{itemize}
The open-circuit stiffness is estimated at \(k_{\text{oc}} \approx 2.3\,N/\mu m\) and the closed-circuit stiffness \(k_{\text{sc}} \approx 1.7\,N/\mu m\).
The open-circuit stiffness is estimated at \(k_{\text{oc}} \approx 2.3\,N/\mu m\) while the closed-circuit stiffness \(k_{\text{sc}} \approx 1.7\,N/\mu m\).
\section{Dynamics}
\label{ssec:test_apa_meas_dynamics}
In this section, the dynamics of the system from the excitation voltage \(u\) to encoder measured displacement \(d_e\) and to the force sensor voltage \(V_s\) is identified.
In this section, the dynamics from the excitation voltage \(u\) to the encoder measured displacement \(d_e\) and to the force sensor voltage \(V_s\) is identified.
The obtained transfer functions for the 6 APA between the excitation voltage \(u\) and the encoder displacement \(d_e\) are shown in Figure \ref{fig:test_apa_frf_encoder}.
The obtained transfer functions are close to a mass-spring-damper system.
The following can be observed:
First, the dynamics from \(u\) to \(d_e\) for the six APA300ML are compared in Figure \ref{fig:test_apa_frf_encoder}.
The obtained frequency response functions are similar to those of a (second order) mass-spring-damper system with:
\begin{itemize}
\item A ``stiffness line'' indicating a static gain equal to \(\approx -17\,\mu m/V\).
The minus sign comes from the fact that an increase in voltage stretches the piezoelectric stack that then reduces the height of the APA
The negative sign comes from the fact that an increase in voltage stretches the piezoelectric stack which reduces the height of the APA
\item A lightly damped resonance at \(95\,\text{Hz}\)
\item A ``mass line'' up to \(\approx 800\,\text{Hz}\), above which some resonances appear. These additional resonances might be coming from the limited stiffness of the encoder support or from the limited compliance of the APA support.
\item A ``mass line'' up to \(\approx 800\,\text{Hz}\), above which additional resonances appear. These additional resonances might be due to the limited stiffness of the encoder support or from the limited compliance of the APA support.
The flexible modes studied in section \ref{ssec:test_apa_spurious_resonances} seem not to impact the measured axial motion of the actuator.
\end{itemize}
The dynamics from \(u\) to the measured voltage across the sensor stack \(V_s\) is also identified and shown in Figure \ref{fig:test_apa_frf_force}.
The dynamics from \(u\) to the measured voltage across the sensor stack \(V_s\) for the six APA300ML are compared in Figure \ref{fig:test_apa_frf_force}.
A lightly damped resonance is observed at \(95\,\text{Hz}\) and a lightly damped anti-resonance at \(41\,\text{Hz}\).
No additional resonances is present up to at least \(2\,\text{kHz}\) indicating at Integral Force Feedback can be applied without stability issues from high frequency flexible modes.
A lightly damped resonance (pole) is observed at \(95\,\text{Hz}\) and a lightly damped anti-resonance (zero) at \(41\,\text{Hz}\).
No additional resonances are present up to at least \(2\,\text{kHz}\) indicating that Integral Force Feedback can be applied without stability issues from high-frequency flexible modes.
The zero at \(41\,\text{Hz}\) seems to be non-minimum phase (the phase \emph{decreases} by 180 degrees whereas it should have \emph{increased} by 180 degrees for a minimum phase zero).
This is investigated in Section \ref{ssec:test_apa_non_minimum_phase}.
As illustrated by the Root Locus, the poles of the closed-loop system converges to the zeros of the open-loop plant.
Suppose that a controller with a very high gain is implemented such that the voltage \(V_s\) across the sensor stack is zero.
In that case, because of the very high controller gain, no stress and strain is present on the sensor stack (and on the actuator stacks are well, as they are both in series).
Such closed-loop system would therefore virtually corresponds to a system for which the piezoelectric stacks have been removed and just the mechanical shell is kept.
From this analysis, the axial stiffness of the shell can be estimated to be \(k_{\text{shell}} = 5.7 \cdot (2\pi \cdot 41)^2 = 0.38\,N/\mu m\).
As illustrated by the Root Locus plot, the poles of the \emph{closed-loop} system converges to the zeros of the \emph{open-loop} plant as the feedback gain increases.
The significance of this behavior varies with the type of sensor used, as explained in \cite[chap. 7.6]{preumont18_vibrat_contr_activ_struc_fourt_edition}.
Considering the transfer function from \(u\) to \(V_s\), if a controller with a very high gain is applied such that the sensor stack voltage \(V_s\) is kept at zero, the sensor (and by extension, the actuator stacks since they are in series) experiences negligible stress and strain.
Consequently, the closed-loop system virtually corresponds to one in which the piezoelectric stacks are absent, leaving only the mechanical shell.
From this analysis, it can be inferred that the axial stiffness of the shell is \(k_{\text{shell}} = m \omega_0^2 = 5.7 \cdot (2\pi \cdot 41)^2 = 0.38\,N/\mu m\) (which is close to what is found using a finite element model).
Such reasoning can lead to very interesting insight into the system just from an open-loop identification.
All the identified dynamics of the six APA300ML (both when looking at the encoder in Figure \ref{fig:test_apa_frf_encoder} and at the force sensor in Figure \ref{fig:test_apa_frf_force}) are almost identical, indicating good manufacturing repeatability for the piezoelectric stacks and the mechanical shell.
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
@@ -407,53 +392,72 @@ Such reasoning can lead to very interesting insight into the system just from an
\end{subfigure}
\caption{\label{fig:test_apa_frf_dynamics}Measured frequency response function from generated voltage \(u\) to the encoder displacement \(d_e\) (\subref{fig:test_apa_frf_encoder}) and to the force sensor voltage \(V_s\) (\subref{fig:test_apa_frf_force}) for the six APA300ML}
\end{figure}
\section{Non Minimum Phase Zero?}
\label{ssec:test_apa_non_minimum_phase}
All the identified dynamics of the six APA300ML (both when looking at the encoder in Figure \ref{fig:test_apa_frf_encoder} and at the force sensor in Figure \ref{fig:test_apa_frf_force}) are almost identical, indicating good manufacturing repeatability for the piezoelectric stacks and the mechanical lever.
It was surprising to observe a non-minimum phase zero on the transfer function from \(u\) to \(V_s\) (Figure \ref{fig:test_apa_frf_force}).
It was initially thought that this non-minimum phase behavior was an artifact arising from the measurement.
A longer measurement was performed using different excitation signals (noise, slow sine sweep, etc.) to determine if the phase behavior of the zero changes (Figure \ref{fig:test_apa_non_minimum_phase}).
The coherence (Figure \ref{fig:test_apa_non_minimum_phase_coherence}) is good even in the vicinity of the lightly damped zero, and the phase (Figure \ref{fig:test_apa_non_minimum_phase_zoom}) clearly indicates non-minimum phase behavior.
Such non-minimum phase zero when using load cells has also been observed on other mechanical systems \cite{spanos95_soft_activ_vibrat_isolat,thayer02_six_axis_vibrat_isolat_system,hauge04_sensor_contr_space_based_six}.
It could be induced to small non-linearity in the system, but the reason for this non-minimum phase for the APA300ML is not yet clear.
However, this is not so important here because the zero is lightly damped (i.e. very close to the imaginary axis), and the closed loop poles (see the Root Locus plot in Figure \ref{fig:test_apa_iff_root_locus}) should not be unstable, except for very large controller gains that will never be applied in practice.
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_non_minimum_phase_coherence.png}
\end{center}
\subcaption{\label{fig:test_apa_non_minimum_phase_coherence} Coherence}
\end{subfigure}
\begin{subfigure}{0.49\textwidth}
\begin{center}
\includegraphics[scale=1,width=0.95\linewidth]{figs/test_apa_non_minimum_phase_zoom.png}
\end{center}
\subcaption{\label{fig:test_apa_non_minimum_phase_zoom} Zoom on the non-minimum phase zero}
\end{subfigure}
\caption{\label{fig:test_apa_non_minimum_phase}Measurement of the anti-resonance found in the transfer function from \(u\) to \(V_s\). The coherence (\subref{fig:test_apa_non_minimum_phase_coherence}) is quite good around the anti-resonance frequency. The phase (\subref{fig:test_apa_non_minimum_phase_zoom}) shoes a non-minimum phase behavior.}
\end{figure}
\section{Effect of the resistor on the IFF Plant}
\label{ssec:test_apa_resistance_sensor_stack}
A resistor \(R \approx 80.6\,k\Omega\) is added in parallel with the sensor stack which has the effect to form a high pass filter with the capacitance of the stack.
A resistor \(R \approx 80.6\,k\Omega\) is added in parallel with the sensor stack, which forms a high-pass filter with the capacitance of the piezoelectric stack (capacitance estimated at \(\approx 5\,\mu F\)).
As explain before, this is done for two reasons:
\begin{enumerate}
\item Limit the voltage offset due to the input bias current of the ADC
\item Limit the low frequency gain
\end{enumerate}
As explained before, this is done to limit the voltage offset due to the input bias current of the ADC as well as to limit the low frequency gain.
The (low frequency) transfer function from \(u\) to \(V_s\) with and without this resistor have been measured and are compared in Figure \ref{fig:test_apa_effect_resistance}.
It is confirmed that the added resistor as the effect of adding an high pass filter with a cut-off frequency of \(\approx 0.35\,\text{Hz}\).
The (low frequency) transfer function from \(u\) to \(V_s\) with and without this resistor were measured and compared in Figure \ref{fig:test_apa_effect_resistance}.
It is confirmed that the added resistor has the effect of adding a high-pass filter with a cut-off frequency of \(\approx 0.39\,\text{Hz}\).
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_apa_effect_resistance.png}
\caption{\label{fig:test_apa_effect_resistance}Transfer function from u to \(V_s\) with and without the resistor \(R\) in parallel with the piezoelectric stack used as the force sensor}
\caption{\label{fig:test_apa_effect_resistance}Transfer function from \(u\) to \(V_s\) with and without the resistor \(R\) in parallel with the piezoelectric stack used as the force sensor}
\end{figure}
\section{Integral Force Feedback}
\label{ssec:test_apa_iff_locus}
This test bench can also be used to estimate the damping added by the implementation of an Integral Force Feedback strategy.
First, the transfer function \eqref{eq:test_apa_iff_manual_fit} is manually tuned to match the identified dynamics from generated voltage \(u\) to the measured sensor stack voltage \(V_s\) in Section \ref{ssec:test_apa_meas_dynamics}.
The obtained parameter values are \(\omega_{\textsc{hpf}} = 0.4\, \text{Hz}\), \(\omega_{z} = 42.7\, \text{Hz}\), \(\xi_{z} = 0.4\,\%\), \(\omega_{p} = 95.2\, \text{Hz}\), \(\xi_{p} = 2\,\%\) and \(g_0 = 0.64\).
To implement the Integral Force Feedback strategy, the measured frequency response function from \(u\) to \(V_s\) (Figure \ref{fig:test_apa_frf_force}) is fitted using the transfer function shown in equation \eqref{eq:test_apa_iff_manual_fit}.
The parameters were manually tuned, and the obtained values are \(\omega_{\textsc{hpf}} = 0.4\, \text{Hz}\), \(\omega_{z} = 42.7\, \text{Hz}\), \(\xi_{z} = 0.4\,\%\), \(\omega_{p} = 95.2\, \text{Hz}\), \(\xi_{p} = 2\,\%\) and \(g_0 = 0.64\).
\begin{equation} \label{eq:test_apa_iff_manual_fit}
G_{\textsc{iff},m}(s) = g_0 \cdot \frac{1 + 2 \xi_z \frac{s}{\omega_z} + \frac{s^2}{\omega_z^2}}{1 + 2 \xi_p \frac{s}{\omega_p} + \frac{s^2}{\omega_p^2}} \cdot \frac{s}{\omega_{\textsc{hpf}} + s}
\end{equation}
The comparison between the identified plant and the manually tuned transfer function is done in Figure \ref{fig:test_apa_iff_plant_comp_manual_fit}.
A comparison between the identified plant and the manually tuned transfer function is shown in Figure \ref{fig:test_apa_iff_plant_comp_manual_fit}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_apa_iff_plant_comp_manual_fit.png}
\caption{\label{fig:test_apa_iff_plant_comp_manual_fit}Identified IFF plant and manually tuned model of the plant (a time delay of \(200\,\mu s\) is added to the model of the plant to better match the identified phase)}
\caption{\label{fig:test_apa_iff_plant_comp_manual_fit}Identified IFF plant and manually tuned model of the plant (a time delay of \(200\,\mu s\) is added to the model of the plant to better match the identified phase). Note that a minimum-phase zero is identified here even though the coherence is not good around the frequency of the zero.}
\end{figure}
The implemented Integral Force Feedback Controller transfer function is shown in equation \eqref{eq:test_apa_Kiff_formula}.
It contains an high pass filter (cut-off frequency of \(2\,\text{Hz}\)) to limit the low frequency gain, a low pass filter to add integral action above \(20\,\text{Hz}\), a second low pass filter to add robustness to high frequency resonances and a tunable gain \(g\).
It contains a high-pass filter (cut-off frequency of \(2\,\text{Hz}\)) to limit the low-frequency gain, a low-pass filter to add integral action above \(20\,\text{Hz}\), a second low-pass filter to add robustness to high-frequency resonances, and a tunable gain \(g\).
\begin{equation} \label{eq:test_apa_Kiff_formula}
K_{\textsc{iff}}(s) = -10 \cdot g \cdot \frac{s}{s + 2\pi \cdot 2} \cdot \frac{1}{1 + 2\pi \cdot 20} \cdot \frac{1}{s + 2\pi\cdot 2000}
K_{\textsc{iff}}(s) = -10 \cdot g \cdot \frac{s}{s + 2\pi \cdot 2} \cdot \frac{1}{s + 2\pi \cdot 20} \cdot \frac{1}{s + 2\pi\cdot 2000}
\end{equation}
To estimate how the dynamics of the APA changes when the Integral Force Feedback controller is implemented, the test bench shown in Figure \ref{fig:test_apa_iff_schematic} is used.
@@ -465,25 +469,21 @@ The transfer function from the ``damped'' plant input \(u\prime\) to the encoder
\caption{\label{fig:test_apa_iff_schematic}Implementation of Integral Force Feedback in the Speedgoat. The damped plant has a new input \(u\prime\)}
\end{figure}
The identified dynamics are then fitted by second order transfer functions.
The comparison between the identified damped dynamics and the fitted second order transfer functions is done in Figure \ref{fig:test_apa_identified_damped_plants} for different gains \(g\).
It is clear that large amount of damping is added when the gain is increased and that the frequency of the pole is shifted to lower frequencies.
The identified dynamics were then fitted by second order transfer functions\footnote{The transfer function fitting was computed using the \texttt{vectfit3} routine, see \cite{gustavsen99_ration_approx_frequen_domain_respon}}.
A comparison between the identified damped dynamics and the fitted second-order transfer functions is shown in Figure \ref{fig:test_apa_identified_damped_plants} for different gains \(g\).
It is clear that a large amount of damping is added when the gain is increased and that the frequency of the pole is shifted to lower frequencies.
The evolution of the pole in the complex plane as a function of the controller gain \(g\) (i.e. the ``root locus'') is computed:
\begin{itemize}
\item using the IFF plant model \eqref{eq:test_apa_iff_manual_fit} and the implemented controller \eqref{eq:test_apa_Kiff_formula}
\item from the fitted transfer functions of the damped plants experimentally identified for several controller gains
\end{itemize}
The two obtained root loci are compared in Figure \ref{fig:test_apa_iff_root_locus} and are in good agreement considering that the damped plants were only fitted using a second order transfer function.
The evolution of the pole in the complex plane as a function of the controller gain \(g\) (i.e. the ``root locus'') is computed in two cases.
First using the IFF plant model \eqref{eq:test_apa_iff_manual_fit} and the implemented controller \eqref{eq:test_apa_Kiff_formula}.
Second using the fitted transfer functions of the damped plants experimentally identified for several controller gains.
The two obtained root loci are compared in Figure \ref{fig:test_apa_iff_root_locus} and are in good agreement considering that the damped plants were fitted using only a second-order transfer function.
\begin{figure}[htbp]
\begin{subfigure}{0.59\textwidth}
\begin{center}
\includegraphics[scale=1,height=8cm]{figs/test_apa_identified_damped_plants.png}
\end{center}
\subcaption{\label{fig:test_apa_identified_damped_plants}Measured frequency response functions of damped plants for several IFF gains (solid lines). Identified 2nd order plants to match the experimental data (dashed lines)}
\subcaption{\label{fig:test_apa_identified_damped_plants}Measured frequency response functions of damped plants for several IFF gains (solid lines). Identified 2nd order plants that match the experimental data (dashed lines)}
\end{subfigure}
\begin{subfigure}{0.39\textwidth}
\begin{center}
@@ -491,72 +491,63 @@ The two obtained root loci are compared in Figure \ref{fig:test_apa_iff_root_loc
\end{center}
\subcaption{\label{fig:test_apa_iff_root_locus}Root Locus plot using the plant model (black) and poles of the identified damped plants (color crosses)}
\end{subfigure}
\caption{\label{fig:test_apa_iff}Experimental results of applying Integral Force Feedback to the APA300ML. Obtained damped plant (\subref{fig:test_apa_identified_damped_plants}) and Root Locus (\subref{fig:test_apa_iff_root_locus})}
\caption{\label{fig:test_apa_iff}Experimental results of applying Integral Force Feedback to the APA300ML. Obtained damped plant (\subref{fig:test_apa_identified_damped_plants}) and Root Locus (\subref{fig:test_apa_iff_root_locus}) corresponding to the implemented IFF controller \eqref{eq:test_apa_Kiff_formula}}
\end{figure}
\begin{important}
So far, all the measured FRF are showing the dynamical behavior that was expected.
\end{important}
\chapter{APA300ML - 2 Degrees of Freedom Model}
\chapter{APA300ML - 2 degrees-of-freedom Model}
\label{sec:test_apa_model_2dof}
In this section, a simscape model (Figure \ref{fig:test_apa_bench_model}) of the measurement bench is used to compare the model of the APA with the measured frequency response functions.
In this section, a multi-body model (Figure \ref{fig:test_apa_bench_model}) of the measurement bench is used to tune the two degrees-of-freedom model of the APA using the measured frequency response functions.
A 2 degrees of freedom model is used to model the APA300ML.
This model is presented in Section \ref{ssec:test_apa_2dof_model} and the procedure to tuned the model is described in Section \ref{ssec:test_apa_2dof_model_tuning}.
The obtained model dynamics is compared with the measurements in Section \ref{ssec:test_apa_2dof_model_result}.
This two degrees-of-freedom model is developed to accurately represent the APA300ML dynamics while having low complexity and a low number of associated states.
After the model is presented, the procedure for tuning the model is described, and the obtained model dynamics is compared with the measurements.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=0.8\linewidth]{figs/test_apa_bench_model.png}
\caption{\label{fig:test_apa_bench_model}Screenshot of the Simscape model}
\caption{\label{fig:test_apa_bench_model}Screenshot of the multi-body model}
\end{figure}
\section{Two Degrees of Freedom APA Model}
\label{ssec:test_apa_2dof_model}
The APA model shown in Figure \ref{fig:test_apa_2dof_model} is adapted from \cite{souleille18_concep_activ_mount_space_applic}.
\subsubsection{Two degrees-of-freedom APA Model}
The model of the amplified piezoelectric actuator is shown in Figure \ref{fig:test_apa_2dof_model}.
It can be decomposed into three components:
\begin{itemize}
\item the shell whose axial properties are represented by \(k_1\) and \(c_1\)
\item the actuator stacks whose contribution in the axial stiffness is represented by \(k_a\) and \(c_a\).
A force source \(\tau\) represents the axial force induced by the force sensor stacks.
The gain \(g_a\) (in \(N/m\)) is used to convert the applied voltage \(V_a\) to the axial force \(\tau\)
\item the actuator stacks whose contribution in the axial stiffness is represented by \(k_e\) and \(c_e\).
A ``strain sensor'' \(d_L\), and a gain \(g_s\) (in \(V/m\)) that converts this strain into a generated voltage
\item the actuator stacks whose contribution to the axial stiffness is represented by \(k_a\) and \(c_a\).
The force source \(f\) represents the axial force induced by the force sensor stacks.
The sensitivity \(g_a\) (in \(N/m\)) is used to convert the applied voltage \(V_a\) to the axial force \(f\)
\item the sensor stack whose contribution to the axial stiffness is represented by \(k_e\) and \(c_e\).
A sensor measures the stack strain \(d_e\) which is then converted to a voltage \(V_s\) using a sensitivity \(g_s\) (in \(V/m\))
\end{itemize}
Such simple model has some limitations:
Such a simple model has some limitations:
\begin{itemize}
\item it only represents the axial characteristics of the APA (infinitely rigid in other directions)
\item some physical insights are lost such as the amplification factor, the real stress and strain on the piezoelectric stacks
\item it is fully linear and therefore the creep and hysteresis of the piezoelectric stacks are not modelled
\item it only represents the axial characteristics of the APA as it is modeled as infinitely rigid in the other directions
\item some physical insights are lost, such as the amplification factor and the real stress and strain in the piezoelectric stacks
\item the creep and hysteresis of the piezoelectric stacks are not modeled as the model is linear
\end{itemize}
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_apa_2dof_model.png}
\caption{\label{fig:test_apa_2dof_model}Schematic of the two degrees of freedom model of the APA300ML}
\caption{\label{fig:test_apa_2dof_model}Schematic of the two degrees-of-freedom model of the APA300ML, adapted from \cite{souleille18_concep_activ_mount_space_applic}}
\end{figure}
\section{Tuning of the APA model}
\label{ssec:test_apa_2dof_model_tuning}
9 parameters (\(m\), \(k_1\), \(c_1\), \(k_e\), \(c_e\), \(k_a\), \(c_a\), \(g_s\) and \(g_a\)) have to be tuned such that the dynamics of the model (Figure \ref{fig:test_apa_2dof_model_simscape}) well represents the identified dynamics in Section \ref{sec:test_apa_dynamics}.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1]{figs/test_apa_2dof_model_simscape.png}
\caption{\label{fig:test_apa_2dof_model_simscape}Schematic of the two degrees of freedom model of the APA300ML with input \(V_a\) and outputs \(d_e\) and \(V_s\)}
\caption{\label{fig:test_apa_2dof_model_simscape}Schematic of the two degrees-of-freedom model of the APA300ML with input \(V_a\) and outputs \(d_e\) and \(V_s\)}
\end{figure}
First, the mass supported by the APA300ML can simply be estimated from the geometry and density of the different parts or by directly measuring it using a precise weighing scale.
Both methods leads to an estimated mass of \(5.7\,\text{kg}\).
First, the mass \(m\) supported by the APA300ML can be estimated from the geometry and density of the different parts or by directly measuring it using a precise weighing scale.
Both methods lead to an estimated mass of \(m = 5.7\,\text{kg}\).
Then, the axial stiffness of the shell was estimated at \(k_1 = 0.38\,N/\mu m\) in Section \ref{ssec:test_apa_meas_dynamics} from the frequency of the anti-resonance seen on Figure \ref{fig:test_apa_frf_force}.
Similarly, \(c_1\) can be estimated from the damping ratio of the same anti-resonance and is found to be close to \(20\,Ns/m\).
Similarly, \(c_1\) can be estimated from the damping ratio of the same anti-resonance and is found to be close to \(5\,Ns/m\).
Then, it is reasonable to make the assumption that the sensor stacks and the two actuator stacks have identical mechanical characteristics\footnote{Note that this is not fully correct as it was shown in Section \ref{ssec:test_apa_stiffness} that the electrical boundaries of the piezoelectric stack impacts its stiffness and that the sensor stack is almost open-circuited while the actuator stacks are almost short-circuited.}.
Then, it is reasonable to assume that the sensor stacks and the two actuator stacks have identical mechanical characteristics\footnote{Note that this is not completely correct as it was shown in Section \ref{ssec:test_apa_stiffness} that the electrical boundaries of the piezoelectric stack impacts its stiffness and that the sensor stack is almost open-circuited while the actuator stacks are almost short-circuited.}.
Therefore, we have \(k_e = 2 k_a\) and \(c_e = 2 c_a\) as the actuator stack is composed of two stacks in series.
In that case, the total stiffness of the APA model is described by \eqref{eq:test_apa_2dof_stiffness}.
In this case, the total stiffness of the APA model is described by \eqref{eq:test_apa_2dof_stiffness}.
\begin{equation}\label{eq:test_apa_2dof_stiffness}
k_{\text{tot}} = k_1 + \frac{k_e k_a}{k_e + k_a} = k_1 + \frac{2}{3} k_a
@@ -569,14 +560,13 @@ Knowing from \eqref{eq:test_apa_tot_stiffness} that the total stiffness is \(k_{
\end{equation}
Then, \(c_a\) (and therefore \(c_e = 2 c_a\)) can be tuned to match the damping ratio of the identified resonance.
\(c_a = 100\,Ns/m\) and \(c_e = 200\,Ns/m\) are obtained.
\(c_a = 50\,Ns/m\) and \(c_e = 100\,Ns/m\) are obtained.
Finally, the two gains \(g_s\) and \(g_a\) can be used to match the gain of the identified transfer functions.
In the last step, \(g_s\) and \(g_a\) can be tuned to match the gain of the identified transfer functions.
The obtained parameters of the model shown in Figure \ref{fig:test_apa_2dof_model_simscape} are summarized in Table \ref{tab:test_apa_2dof_parameters}.
\begin{table}[htbp]
\caption{\label{tab:test_apa_2dof_parameters}Summary of the obtained parameters for the 2 DoF APA300ML model}
\centering
\begin{tabularx}{0.3\linewidth}{cc}
\toprule
@@ -586,20 +576,18 @@ The obtained parameters of the model shown in Figure \ref{fig:test_apa_2dof_mode
\(k_1\) & \(0.38\,N/\mu m\)\\
\(k_e\) & \(5.0\, N/\mu m\)\\
\(k_a\) & \(2.5\,N/\mu m\)\\
\(c_1\) & \(20\,Ns/m\)\\
\(c_e\) & \(200\,Ns/m\)\\
\(c_a\) & \(100\,Ns/m\)\\
\(c_1\) & \(5\,Ns/m\)\\
\(c_e\) & \(100\,Ns/m\)\\
\(c_a\) & \(50\,Ns/m\)\\
\(g_a\) & \(-2.58\,N/V\)\\
\(g_s\) & \(0.46\,V/\mu m\)\\
\bottomrule
\end{tabularx}
\caption{\label{tab:test_apa_2dof_parameters}Summary of the obtained parameters for the 2 DoF APA300ML model}
\end{table}
\section{Obtained Dynamics}
\label{ssec:test_apa_2dof_model_result}
The dynamics of the 2DoF APA300ML model is now extracted using optimized parameters (listed in Table \ref{tab:test_apa_2dof_parameters}) from the Simscape model.
It is compared with the experimental data in Figure \ref{fig:test_apa_2dof_comp_frf}.
The dynamics of the two degrees-of-freedom model of the APA300ML are extracted using optimized parameters (listed in Table \ref{tab:test_apa_2dof_parameters}) from the multi-body model.
This is compared with the experimental data in Figure \ref{fig:test_apa_2dof_comp_frf}.
A good match can be observed between the model and the experimental data, both for the encoder (Figure \ref{fig:test_apa_2dof_comp_frf_enc}) and for the force sensor (Figure \ref{fig:test_apa_2dof_comp_frf_force}).
This indicates that this model represents well the axial dynamics of the APA300ML.
@@ -621,83 +609,33 @@ This indicates that this model represents well the axial dynamics of the APA300M
\chapter{APA300ML - Super Element}
\label{sec:test_apa_model_flexible}
In this section, a \emph{super element} of the Amplified Piezoelectric Actuator ``APA300ML'' is extracted using a Finite Element Software.
It is then imported in Simscape (using the stiffness and mass matrices) and it is included in the same model that was used in \ref{sec:test_apa_model_2dof}.
In this section, a \emph{super element} of the APA300ML is computed using a finite element software\footnote{Ansys\textsuperscript{\textregistered} was used}.
It is then imported into multi-body (in the form of a stiffness matrix and a mass matrix) and included in the same model that was used in \ref{sec:test_apa_model_2dof}.
This procedure is illustrated in Figure \ref{fig:test_apa_super_element_simscape}.
Several \emph{remote points} are defined in the finite element model (here illustrated by colorful planes and numbers from \texttt{1} to \texttt{5}) and are then made accessible in Simscape as shown at the right by the ``frames'' \texttt{F1} to \texttt{F5}.
For the APA300ML \emph{super element}, 5 \emph{remote points} are defined.
Two \emph{remote points} (\texttt{1} and \texttt{2}) are fixed to the top and bottom mechanical interfaces of the APA300ML and will be used to connect the APA300ML with other mechanical elements.
Two \emph{remote points} (\texttt{3} and \texttt{4}) are located across two piezoelectric stacks and are used to apply internal forces representing the actuator stacks.
Finally, two \emph{remote points} (\texttt{4} and \texttt{5}) are located across the third piezoelectric stack, and will be used to measured the strain of the sensor stack.
\begin{figure}[htbp]
\centering
\includegraphics[scale=1,width=1.0\linewidth]{figs/test_apa_super_element_simscape.png}
\caption{\label{fig:test_apa_super_element_simscape}Finite Element Model of the APA300ML with ``remotes points'' on the left. Simscape model with included ``Reduced Order Flexible Solid'' on the right.}
\end{figure}
\section{Extraction of the super-element}
\begin{itemize}
\item Explain how the ``remote points'' are chosen
\item Show some parts of the mass and stiffness matrices?
\item Say which materials were used?
\item Maybe this was already explain earlier in the manuscript
\end{itemize}
\section{Identification of the Actuator and Sensor constants}
\label{ssec:test_apa_flexible_ga_gs}
Once the APA300ML \emph{super element} is included in the Simscape model, the transfer function from \(F_a\) to \(d_L\) and \(d_e\) can be identified.
The gains \(g_a\) and \(g_s\) can then be tuned such that the gain of the transfer functions are matching the identified ones.
\subsubsection{Identification of the Actuator and Sensor constants}
Once the APA300ML \emph{super element} is included in the multi-body model, the transfer function from \(F_a\) to \(d_L\) and \(d_e\) can be extracted.
The gains \(g_a\) and \(g_s\) are then tuned such that the gains of the transfer functions match the identified ones.
By doing so, \(g_s = 4.9\,V/\mu m\) and \(g_a = 23.2\,N/V\) are obtained.
\subsubsection{Comparison of the obtained dynamics}
To make sure these ``gains'' are physically valid, it is possible to estimate them from physical properties of the piezoelectric stack material.
The obtained dynamics using the \emph{super element} with the tuned ``sensor sensitivity'' and ``actuator sensitivity'' are compared with the experimentally identified frequency response functions in Figure \ref{fig:test_apa_super_element_comp_frf}.
A good match between the model and the experimental results was observed.
It is however surprising that the model is ``softer'' than the measured system, as finite element models usually overestimate the stiffness (see Section \ref{ssec:test_apa_spurious_resonances} for possible explanations).
From \cite[p. 123]{fleming14_desig_model_contr_nanop_system}, the relation between relative displacement \(d_L\) of the sensor stack and generated voltage \(V_s\) is given by \eqref{eq:test_apa_piezo_strain_to_voltage} and from \cite{fleming10_integ_strain_force_feedb_high} the relation between the force \(F_a\) and the applied voltage \(V_a\) is given by \eqref{eq:test_apa_piezo_voltage_to_force}.
\begin{subequations}
\begin{align}
V_s &= \underbrace{\frac{d_{33}}{\epsilon^T s^D n}}_{g_s} d_L \label{eq:test_apa_piezo_strain_to_voltage} \\
F_a &= \underbrace{d_{33} n k_a}_{g_a} \cdot V_a, \quad k_a = \frac{c^{E} A}{L} \label{eq:test_apa_piezo_voltage_to_force}
\end{align}
\end{subequations}
Parameters used in equations \eqref{eq:test_apa_piezo_strain_to_voltage} and \eqref{eq:test_apa_piezo_voltage_to_force} are described in Table \ref{tab:test_apa_piezo_properties}.
Unfortunately, the manufacturer of the stack was not willing to share the piezoelectric material properties of the stack used in the APA300ML.
However, based on available properties of the APA300ML stacks in the data-sheet, the soft Lead Zirconate Titanate ``THP5H'' from Thorlabs seemed to match quite well the observed properties.
The properties of this ``THP5H'' material used to compute \(g_a\) and \(g_s\) are listed in Table \ref{tab:test_apa_piezo_properties}.
From these parameters, \(g_s = 5.1\,V/\mu m\) and \(g_a = 26\,N/V\) were obtained which are very close to the identified constants using the experimentally identified transfer functions.
\begin{table}[htbp]
\caption{\label{tab:test_apa_piezo_properties}Piezoelectric properties used for the estimation of the sensor and actuators ``gains''}
\centering
\begin{tabularx}{1\linewidth}{ccX}
\toprule
\textbf{Parameter} & \textbf{Value} & \textbf{Description}\\
\midrule
\(d_{33}\) & \(680 \cdot 10^{-12}\,m/V\) & Piezoelectric constant\\
\(\epsilon^{T}\) & \(4.0 \cdot 10^{-8}\,F/m\) & Permittivity under constant stress\\
\(s^{D}\) & \(21 \cdot 10^{-12}\,m^2/N\) & Elastic compliance understand constant electric displacement\\
\(c^{E}\) & \(48 \cdot 10^{9}\,N/m^2\) & Young's modulus of elasticity\\
\(L\) & \(20\,mm\) per stack & Length of the stack\\
\(A\) & \(10^{-4}\,m^2\) & Area of the piezoelectric stack\\
\(n\) & \(160\) per stack & Number of layers in the piezoelectric stack\\
\bottomrule
\end{tabularx}
\end{table}
\section{Comparison of the obtained dynamics}
\label{ssec:test_apa_flexible_comp_frf}
The obtained dynamics using the \emph{super element} with the tuned ``sensor gain'' and ``actuator gain'' are compared with the experimentally identified frequency response functions in Figure \ref{fig:test_apa_super_element_comp_frf}.
A good match between the model and the experimental results is observed.
\begin{itemize}
\item the \emph{super element}
\end{itemize}
This model represents fairly
The flexible model is a bit ``soft'' as compared with the experimental results.
This method can be used to model piezoelectric stack actuators as well as amplified piezoelectric stack actuators.
Using this simple test bench, it can be concluded that the \emph{super element} model of the APA300ML captures the axial dynamics of the actuator (the actuator stacks, the force sensor stack as well as the shell used as a mechanical lever).
\begin{figure}[htbp]
\begin{subfigure}{0.49\textwidth}
@@ -712,15 +650,30 @@ This method can be used to model piezoelectric stack actuators as well as amplif
\end{center}
\subcaption{\label{fig:test_apa_super_element_comp_frf_force}from $u$ to $V_s$}
\end{subfigure}
\caption{\label{fig:test_apa_super_element_comp_frf}Comparison of the measured frequency response functions and the identified dynamics from the ``flexible'' model of the APA300ML. Both for the dynamics from \(u\) to \(d_e\) (\subref{fig:test_apa_2dof_comp_frf_enc}) (\subref{fig:test_apa_2dof_comp_frf_force}) and from \(u\) to \(V_s\) (\subref{fig:test_apa_2dof_comp_frf_force})}
\caption{\label{fig:test_apa_super_element_comp_frf}Comparison of the measured frequency response functions and the identified dynamics from the finite element model of the APA300ML. Both for the dynamics from \(u\) to \(d_e\) (\subref{fig:test_apa_super_element_comp_frf_enc}) and from \(u\) to \(V_s\) (\subref{fig:test_apa_super_element_comp_frf_force})}
\end{figure}
\chapter{Conclusion}
\label{sec:test_apa_conclusion}
\begin{itemize}
\item Compare 2DoF and FEM models (usefulness of the two)
\item Good match between all the APA: will simplify the modeling and control of the nano-hexapod
\item No advantage of the FEM model here (as only uniaxial behavior is checked), but may be useful later
\end{itemize}
In this study, the amplified piezoelectric actuators ``APA300ML'' have been characterized to ensure that they fulfill all the requirements determined during the detailed design phase.
Geometrical features such as the flatness of its interfaces, electrical capacitance, and achievable strokes were measured in Section \ref{sec:test_apa_basic_meas}.
These simple measurements allowed for the early detection of a manufacturing defect in one of the APA300ML.
Then in Section \ref{sec:test_apa_dynamics}, using a dedicated test bench, the dynamics of all the APA300ML were measured and were found to all match very well (Figure \ref{fig:test_apa_frf_dynamics}).
This consistency indicates good manufacturing tolerances, facilitating the modeling and control of the nano-hexapod.
Although a non-minimum zero was identified in the transfer function from \(u\) to \(V_s\) (Figure \ref{fig:test_apa_non_minimum_phase}), it was found not to be problematic because a large amount of damping could be added using the integral force feedback strategy (Figure \ref{fig:test_apa_iff}).
Then, two different models were used to represent the APA300ML dynamics.
In Section \ref{sec:test_apa_model_2dof}, a simple two degrees-of-freedom mass-spring-damper model was presented and tuned based on the measured dynamics.
After following a tuning procedure, the model dynamics was shown to match very well with the experiment.
However, this model only represents the axial dynamics of the actuators, assuming infinite stiffness in other directions.
In Section \ref{sec:test_apa_model_flexible}, a \emph{super element} extracted from a finite element model was used to model the APA300ML.
Here, the \emph{super element} represents the dynamics of the APA300ML in all directions.
However, only the axial dynamics could be compared with the experimental results, yielding a good match.
The benefit of employing this model over the two degrees-of-freedom model is not immediately apparent due to its increased complexity and the larger number of model states involved.
Nonetheless, the \emph{super element} model's value will become clear in subsequent sections, when its capacity to accurately model the APA300ML's flexibility across various directions will be important.
\printbibliography[heading=bibintoc,title={Bibliography}]
\printglossaries
\end{document}