Add flexor FEM model

This commit is contained in:
Thomas Dehaeze 2020-07-31 13:57:13 +02:00
parent e7f47b2840
commit 3a1ab301d9
8 changed files with 4835 additions and 8 deletions

2177
data/flexor_ID16/22921061.STEP Executable file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,20 @@
MAT_K:
[ 1, 1]: 1.122e+07 [ 1, 2]: 1.950e+02 [ 1, 3]: 2.215e+03 [ 1, 4]:-7.188e-01 [ 1, 5]:-2.652e+02 [ 1, 6]: 1.594e+00 [ 1, 7]:-1.122e+07 [ 1, 8]:-2.132e+02 [ 1, 9]:-2.217e+03 [ 1,10]: 1.471e-01 [ 1,11]: 2.656e+02 [ 1,12]:-1.333e+00 [ 1,13]: 0.000e+00 [ 1,14]: 0.000e+00 [ 1,15]: 0.000e+00 [ 1,16]: 0.000e+00 [ 1,17]: 0.000e+00 [ 1,18]: 0.000e+00
[ 2, 1]: 1.950e+02 [ 2, 2]: 1.143e+07 [ 2, 3]: 1.286e+03 [ 2, 4]:-1.484e+02 [ 2, 5]:-1.875e-01 [ 2, 6]: 2.414e+00 [ 2, 7]:-2.122e+02 [ 2, 8]:-1.143e+07 [ 2, 9]:-1.286e+03 [ 2,10]: 1.484e+02 [ 2,11]: 1.357e-01 [ 2,12]:-2.542e+00 [ 2,13]: 0.000e+00 [ 2,14]: 0.000e+00 [ 2,15]: 0.000e+00 [ 2,16]: 0.000e+00 [ 2,17]: 0.000e+00 [ 2,18]: 0.000e+00
[ 3, 1]: 2.215e+03 [ 3, 2]: 1.286e+03 [ 3, 3]: 1.194e+08 [ 3, 4]: 1.309e+00 [ 3, 5]: 1.488e+00 [ 3, 6]: 1.789e+00 [ 3, 7]:-2.221e+03 [ 3, 8]:-1.286e+03 [ 3, 9]:-1.194e+08 [ 3,10]:-1.310e+00 [ 3,11]:-1.329e+00 [ 3,12]:-1.784e+00 [ 3,13]: 0.000e+00 [ 3,14]: 0.000e+00 [ 3,15]: 0.000e+00 [ 3,16]: 0.000e+00 [ 3,17]: 0.000e+00 [ 3,18]: 0.000e+00
[ 4, 1]:-7.188e-01 [ 4, 2]:-1.484e+02 [ 4, 3]: 1.309e+00 [ 4, 4]: 3.296e+01 [ 4, 5]: 4.883e-04 [ 4, 6]:-9.766e-04 [ 4, 7]: 1.410e-01 [ 4, 8]: 1.483e+02 [ 4, 9]:-1.309e+00 [ 4,10]:-3.297e+01 [ 4,11]: 2.641e-04 [ 4,12]: 3.780e-04 [ 4,13]: 0.000e+00 [ 4,14]: 0.000e+00 [ 4,15]: 0.000e+00 [ 4,16]: 0.000e+00 [ 4,17]: 0.000e+00 [ 4,18]: 0.000e+00
[ 5, 1]:-2.652e+02 [ 5, 2]:-1.875e-01 [ 5, 3]: 1.488e+00 [ 5, 4]: 4.883e-04 [ 5, 5]: 3.298e+01 [ 5, 6]: 2.930e-03 [ 5, 7]: 2.658e+02 [ 5, 8]: 1.537e-01 [ 5, 9]:-1.488e+00 [ 5,10]: 2.599e-04 [ 5,11]:-3.294e+01 [ 5,12]:-2.446e-03 [ 5,13]: 0.000e+00 [ 5,14]: 0.000e+00 [ 5,15]: 0.000e+00 [ 5,16]: 0.000e+00 [ 5,17]: 0.000e+00 [ 5,18]: 0.000e+00
[ 6, 1]: 1.594e+00 [ 6, 2]: 2.414e+00 [ 6, 3]: 1.789e+00 [ 6, 4]:-9.766e-04 [ 6, 5]: 2.930e-03 [ 6, 6]: 2.358e+02 [ 6, 7]:-1.323e+00 [ 6, 8]:-2.547e+00 [ 6, 9]:-1.792e+00 [ 6,10]: 3.789e-04 [ 6,11]:-2.516e-03 [ 6,12]:-2.358e+02 [ 6,13]: 0.000e+00 [ 6,14]: 0.000e+00 [ 6,15]: 0.000e+00 [ 6,16]: 0.000e+00 [ 6,17]: 0.000e+00 [ 6,18]: 0.000e+00
[ 7, 1]:-1.122e+07 [ 7, 2]:-2.122e+02 [ 7, 3]:-2.221e+03 [ 7, 4]: 1.410e-01 [ 7, 5]: 2.658e+02 [ 7, 6]:-1.323e+00 [ 7, 7]: 1.145e+07 [ 7, 8]: 2.458e+04 [ 7, 9]: 1.637e+03 [ 7,10]: 1.200e+02 [ 7,11]:-4.800e+03 [ 7,12]:-4.800e+01 [ 7,13]: 0.000e+00 [ 7,14]: 0.000e+00 [ 7,15]: 0.000e+00 [ 7,16]: 0.000e+00 [ 7,17]: 0.000e+00 [ 7,18]: 0.000e+00
[ 8, 1]:-2.132e+02 [ 8, 2]:-1.143e+07 [ 8, 3]:-1.286e+03 [ 8, 4]: 1.483e+02 [ 8, 5]: 1.537e-01 [ 8, 6]:-2.547e+00 [ 8, 7]: 2.458e+04 [ 8, 8]: 1.143e+07 [ 8, 9]: 1.287e+03 [ 8,10]:-7.200e+01 [ 8,11]:-6.400e+01 [ 8,12]:-8.000e+00 [ 8,13]: 0.000e+00 [ 8,14]: 0.000e+00 [ 8,15]: 0.000e+00 [ 8,16]: 0.000e+00 [ 8,17]: 0.000e+00 [ 8,18]: 0.000e+00
[ 9, 1]:-2.217e+03 [ 9, 2]:-1.286e+03 [ 9, 3]:-1.194e+08 [ 9, 4]:-1.309e+00 [ 9, 5]:-1.488e+00 [ 9, 6]:-1.792e+00 [ 9, 7]: 1.637e+03 [ 9, 8]: 1.287e+03 [ 9, 9]: 1.194e+08 [ 9,10]: 1.320e+00 [ 9,11]: 1.188e+01 [ 9,12]: 2.216e+00 [ 9,13]: 0.000e+00 [ 9,14]: 0.000e+00 [ 9,15]: 0.000e+00 [ 9,16]: 0.000e+00 [ 9,17]: 0.000e+00 [ 9,18]: 0.000e+00
[10, 1]: 1.471e-01 [10, 2]: 1.484e+02 [10, 3]:-1.310e+00 [10, 4]:-3.297e+01 [10, 5]: 2.599e-04 [10, 6]: 3.789e-04 [10, 7]: 1.200e+02 [10, 8]:-7.200e+01 [10, 9]: 1.320e+00 [10,10]: 3.469e+01 [10,11]:-7.750e+00 [10,12]:-5.000e-01 [10,13]: 0.000e+00 [10,14]: 0.000e+00 [10,15]: 0.000e+00 [10,16]: 0.000e+00 [10,17]: 0.000e+00 [10,18]: 0.000e+00
[11, 1]: 2.656e+02 [11, 2]: 1.357e-01 [11, 3]:-1.329e+00 [11, 4]: 2.641e-04 [11, 5]:-3.294e+01 [11, 6]:-2.516e-03 [11, 7]:-4.800e+03 [11, 8]:-6.400e+01 [11, 9]: 1.188e+01 [11,10]:-7.750e+00 [11,11]: 1.300e+02 [11,12]:-5.000e-01 [11,13]: 0.000e+00 [11,14]: 0.000e+00 [11,15]: 0.000e+00 [11,16]: 0.000e+00 [11,17]: 0.000e+00 [11,18]: 0.000e+00
[12, 1]:-1.333e+00 [12, 2]:-2.542e+00 [12, 3]:-1.784e+00 [12, 4]: 3.780e-04 [12, 5]:-2.446e-03 [12, 6]:-2.358e+02 [12, 7]:-4.800e+01 [12, 8]:-8.000e+00 [12, 9]: 2.216e+00 [12,10]:-5.000e-01 [12,11]:-5.000e-01 [12,12]: 2.385e+02 [12,13]: 0.000e+00 [12,14]: 0.000e+00 [12,15]: 0.000e+00 [12,16]: 0.000e+00 [12,17]: 0.000e+00 [12,18]: 0.000e+00
[13, 1]: 0.000e+00 [13, 2]: 0.000e+00 [13, 3]: 0.000e+00 [13, 4]: 0.000e+00 [13, 5]: 0.000e+00 [13, 6]: 0.000e+00 [13, 7]: 0.000e+00 [13, 8]: 0.000e+00 [13, 9]: 0.000e+00 [13,10]: 0.000e+00 [13,11]: 0.000e+00 [13,12]: 0.000e+00 [13,13]: 4.356e+09 [13,14]: 0.000e+00 [13,15]: 0.000e+00 [13,16]: 0.000e+00 [13,17]: 0.000e+00 [13,18]: 0.000e+00
[14, 1]: 0.000e+00 [14, 2]: 0.000e+00 [14, 3]: 0.000e+00 [14, 4]: 0.000e+00 [14, 5]: 0.000e+00 [14, 6]: 0.000e+00 [14, 7]: 0.000e+00 [14, 8]: 0.000e+00 [14, 9]: 0.000e+00 [14,10]: 0.000e+00 [14,11]: 0.000e+00 [14,12]: 0.000e+00 [14,13]: 0.000e+00 [14,14]: 4.593e+09 [14,15]: 0.000e+00 [14,16]: 0.000e+00 [14,17]: 0.000e+00 [14,18]: 0.000e+00
[15, 1]: 0.000e+00 [15, 2]: 0.000e+00 [15, 3]: 0.000e+00 [15, 4]: 0.000e+00 [15, 5]: 0.000e+00 [15, 6]: 0.000e+00 [15, 7]: 0.000e+00 [15, 8]: 0.000e+00 [15, 9]: 0.000e+00 [15,10]: 0.000e+00 [15,11]: 0.000e+00 [15,12]: 0.000e+00 [15,13]: 0.000e+00 [15,14]: 0.000e+00 [15,15]: 4.948e+09 [15,16]: 0.000e+00 [15,17]: 0.000e+00 [15,18]: 0.000e+00
[16, 1]: 0.000e+00 [16, 2]: 0.000e+00 [16, 3]: 0.000e+00 [16, 4]: 0.000e+00 [16, 5]: 0.000e+00 [16, 6]: 0.000e+00 [16, 7]: 0.000e+00 [16, 8]: 0.000e+00 [16, 9]: 0.000e+00 [16,10]: 0.000e+00 [16,11]: 0.000e+00 [16,12]: 0.000e+00 [16,13]: 0.000e+00 [16,14]: 0.000e+00 [16,15]: 0.000e+00 [16,16]: 1.919e+10 [16,17]: 0.000e+00 [16,18]: 0.000e+00
[17, 1]: 0.000e+00 [17, 2]: 0.000e+00 [17, 3]: 0.000e+00 [17, 4]: 0.000e+00 [17, 5]: 0.000e+00 [17, 6]: 0.000e+00 [17, 7]: 0.000e+00 [17, 8]: 0.000e+00 [17, 9]: 0.000e+00 [17,10]: 0.000e+00 [17,11]: 0.000e+00 [17,12]: 0.000e+00 [17,13]: 0.000e+00 [17,14]: 0.000e+00 [17,15]: 0.000e+00 [17,16]: 0.000e+00 [17,17]: 2.147e+10 [17,18]: 0.000e+00
[18, 1]: 0.000e+00 [18, 2]: 0.000e+00 [18, 3]: 0.000e+00 [18, 4]: 0.000e+00 [18, 5]: 0.000e+00 [18, 6]: 0.000e+00 [18, 7]: 0.000e+00 [18, 8]: 0.000e+00 [18, 9]: 0.000e+00 [18,10]: 0.000e+00 [18,11]: 0.000e+00 [18,12]: 0.000e+00 [18,13]: 0.000e+00 [18,14]: 0.000e+00 [18,15]: 0.000e+00 [18,16]: 0.000e+00 [18,17]: 0.000e+00 [18,18]: 3.336e+10

View File

@ -0,0 +1,20 @@
MAT_M:
[ 1, 1]: 1.624e-02 [ 1, 2]: 9.999e-10 [ 1, 3]:-3.692e-08 [ 1, 4]:-1.155e-10 [ 1, 5]: 2.049e-04 [ 1, 6]:-2.881e-11 [ 1, 7]: 4.064e-03 [ 1, 8]: 4.955e-08 [ 1, 9]: 7.368e-08 [ 1,10]: 1.379e-10 [ 1,11]:-7.160e-06 [ 1,12]: 6.897e-11 [ 1,13]:-2.028e-05 [ 1,14]: 5.554e-02 [ 1,15]: 3.599e-06 [ 1,16]: 2.900e-06 [ 1,17]: 8.272e-02 [ 1,18]:-2.468e-06
[ 2, 1]: 9.999e-10 [ 2, 2]: 1.848e-02 [ 2, 3]:-3.219e-07 [ 2, 4]:-2.074e-04 [ 2, 5]:-1.119e-10 [ 2, 6]:-2.255e-09 [ 2, 7]: 2.195e-08 [ 2, 8]: 4.013e-03 [ 2, 9]: 2.886e-07 [ 2,10]: 9.997e-06 [ 2,11]:-3.644e-10 [ 2,12]:-3.744e-12 [ 2,13]:-1.437e-05 [ 2,14]:-5.095e-06 [ 2,15]: 8.806e-02 [ 2,16]:-1.237e-02 [ 2,17]: 1.500e-07 [ 2,18]: 3.313e-02
[ 3, 1]:-3.692e-08 [ 3, 2]:-3.219e-07 [ 3, 3]: 1.804e-02 [ 3, 4]: 7.130e-10 [ 3, 5]:-1.637e-09 [ 3, 6]: 1.340e-09 [ 3, 7]: 3.136e-07 [ 3, 8]: 7.272e-08 [ 3, 9]: 2.993e-03 [ 3,10]: 1.259e-09 [ 3,11]:-5.922e-10 [ 3,12]: 1.317e-09 [ 3,13]: 5.819e-06 [ 3,14]: 3.227e-06 [ 3,15]:-3.103e-06 [ 3,16]: 4.241e-06 [ 3,17]:-9.604e-07 [ 3,18]:-2.639e-06
[ 4, 1]:-1.155e-10 [ 4, 2]:-2.074e-04 [ 4, 3]: 7.130e-10 [ 4, 4]: 3.510e-06 [ 4, 5]:-1.359e-12 [ 4, 6]:-5.567e-13 [ 4, 7]: 1.778e-10 [ 4, 8]:-6.847e-06 [ 4, 9]:-7.847e-10 [ 4,10]:-1.254e-09 [ 4,11]: 9.463e-13 [ 4,12]: 1.958e-12 [ 4,13]: 4.641e-08 [ 4,14]: 1.613e-08 [ 4,15]:-2.170e-04 [ 4,16]: 6.874e-05 [ 4,17]:-1.637e-08 [ 4,18]:-5.990e-04
[ 5, 1]: 2.049e-04 [ 5, 2]:-1.119e-10 [ 5, 3]:-1.637e-09 [ 5, 4]:-1.359e-12 [ 5, 5]: 3.311e-06 [ 5, 6]: 1.683e-13 [ 5, 7]: 9.441e-06 [ 5, 8]: 3.860e-11 [ 5, 9]: 1.766e-09 [ 5,10]:-2.762e-13 [ 5,11]:-1.297e-09 [ 5,12]: 1.810e-12 [ 5,13]:-6.036e-08 [ 5,14]: 1.813e-04 [ 5,15]: 9.642e-09 [ 5,16]: 2.704e-08 [ 5,17]: 8.113e-04 [ 5,18]:-2.302e-08
[ 6, 1]:-2.881e-11 [ 6, 2]:-2.255e-09 [ 6, 3]: 1.340e-09 [ 6, 4]:-5.567e-13 [ 6, 5]: 1.683e-13 [ 6, 6]: 3.708e-07 [ 6, 7]: 8.410e-11 [ 6, 8]: 9.292e-10 [ 6, 9]:-1.086e-09 [ 6,10]: 2.396e-12 [ 6,11]:-5.002e-13 [ 6,12]: 6.502e-08 [ 6,13]: 2.552e-04 [ 6,14]: 9.650e-08 [ 6,15]: 6.459e-09 [ 6,16]:-9.240e-10 [ 6,17]:-5.548e-09 [ 6,18]: 3.141e-08
[ 7, 1]: 4.064e-03 [ 7, 2]: 2.195e-08 [ 7, 3]: 3.136e-07 [ 7, 4]: 1.778e-10 [ 7, 5]: 9.441e-06 [ 7, 6]: 8.410e-11 [ 7, 7]: 1.674e-02 [ 7, 8]:-7.211e-08 [ 7, 9]:-3.482e-07 [ 7,10]:-2.155e-10 [ 7,11]:-1.699e-04 [ 7,12]:-6.684e-11 [ 7,13]:-3.188e-05 [ 7,14]: 8.552e-02 [ 7,15]: 4.929e-06 [ 7,16]:-4.308e-06 [ 7,17]:-9.224e-03 [ 7,18]: 1.941e-06
[ 8, 1]: 4.955e-08 [ 8, 2]: 4.013e-03 [ 8, 3]: 7.272e-08 [ 8, 4]:-6.847e-06 [ 8, 5]: 3.860e-11 [ 8, 6]: 9.292e-10 [ 8, 7]:-7.211e-08 [ 8, 8]: 1.459e-02 [ 8, 9]:-3.946e-08 [ 8,10]: 1.670e-04 [ 8,11]: 4.772e-10 [ 8,12]: 1.298e-09 [ 8,13]: 2.789e-06 [ 8,14]:-2.877e-06 [ 8,15]: 5.546e-02 [ 8,16]: 7.601e-02 [ 8,17]:-2.596e-06 [ 8,18]:-6.673e-03
[ 9, 1]: 7.368e-08 [ 9, 2]: 2.886e-07 [ 9, 3]: 2.993e-03 [ 9, 4]:-7.847e-10 [ 9, 5]: 1.766e-09 [ 9, 6]:-1.086e-09 [ 9, 7]:-3.482e-07 [ 9, 8]:-3.946e-08 [ 9, 9]: 1.708e-02 [ 9,10]:-1.230e-09 [ 9,11]: 4.937e-10 [ 9,12]:-1.568e-09 [ 9,13]:-5.366e-06 [ 9,14]:-4.779e-06 [ 9,15]: 2.951e-06 [ 9,16]:-1.252e-06 [ 9,17]: 5.979e-06 [ 9,18]:-2.257e-06
[10, 1]: 1.379e-10 [10, 2]: 9.997e-06 [10, 3]: 1.259e-09 [10, 4]:-1.254e-09 [10, 5]:-2.762e-13 [10, 6]: 2.396e-12 [10, 7]:-2.155e-10 [10, 8]: 1.670e-04 [10, 9]:-1.230e-09 [10,10]: 2.413e-06 [10,11]:-1.085e-13 [10,12]:-1.860e-12 [10,13]: 9.566e-09 [10,14]:-1.039e-08 [10,15]: 1.953e-04 [10,16]: 6.785e-04 [10,17]:-2.458e-08 [10,18]:-7.855e-05
[11, 1]:-7.160e-06 [11, 2]:-3.644e-10 [11, 3]:-5.922e-10 [11, 4]: 9.463e-13 [11, 5]:-1.297e-09 [11, 6]:-5.002e-13 [11, 7]:-1.699e-04 [11, 8]: 4.772e-10 [11, 9]: 4.937e-10 [11,10]:-1.085e-13 [11,11]: 2.569e-06 [11,12]:-1.144e-12 [11,13]: 7.355e-08 [11,14]:-2.049e-04 [11,15]:-1.424e-08 [11,16]: 5.036e-08 [11,17]: 4.737e-05 [11,18]:-1.820e-08
[12, 1]: 6.897e-11 [12, 2]:-3.744e-12 [12, 3]: 1.317e-09 [12, 4]: 1.958e-12 [12, 5]: 1.810e-12 [12, 6]: 6.502e-08 [12, 7]:-6.684e-11 [12, 8]: 1.298e-09 [12, 9]:-1.568e-09 [12,10]:-1.860e-12 [12,11]:-1.144e-12 [12,12]: 4.129e-07 [12,13]: 2.609e-04 [12,14]: 9.485e-08 [12,15]: 4.034e-08 [12,16]:-2.487e-08 [12,17]: 4.305e-09 [12,18]: 7.568e-09
[13, 1]:-2.028e-05 [13, 2]:-1.437e-05 [13, 3]: 5.819e-06 [13, 4]: 4.641e-08 [13, 5]:-6.036e-08 [13, 6]: 2.552e-04 [13, 7]:-3.188e-05 [13, 8]: 2.789e-06 [13, 9]:-5.366e-06 [13,10]: 9.566e-09 [13,11]: 7.355e-08 [13,12]: 2.609e-04 [13,13]: 1.000e+00 [13,14]: 0.000e+00 [13,15]: 0.000e+00 [13,16]: 0.000e+00 [13,17]: 0.000e+00 [13,18]: 0.000e+00
[14, 1]: 5.554e-02 [14, 2]:-5.095e-06 [14, 3]: 3.227e-06 [14, 4]: 1.613e-08 [14, 5]: 1.813e-04 [14, 6]: 9.650e-08 [14, 7]: 8.552e-02 [14, 8]:-2.877e-06 [14, 9]:-4.779e-06 [14,10]:-1.039e-08 [14,11]:-2.049e-04 [14,12]: 9.485e-08 [14,13]: 0.000e+00 [14,14]: 1.000e+00 [14,15]: 0.000e+00 [14,16]: 0.000e+00 [14,17]: 0.000e+00 [14,18]: 0.000e+00
[15, 1]: 3.599e-06 [15, 2]: 8.806e-02 [15, 3]:-3.103e-06 [15, 4]:-2.170e-04 [15, 5]: 9.642e-09 [15, 6]: 6.459e-09 [15, 7]: 4.929e-06 [15, 8]: 5.546e-02 [15, 9]: 2.951e-06 [15,10]: 1.953e-04 [15,11]:-1.424e-08 [15,12]: 4.034e-08 [15,13]: 0.000e+00 [15,14]: 0.000e+00 [15,15]: 1.000e+00 [15,16]: 0.000e+00 [15,17]: 0.000e+00 [15,18]: 0.000e+00
[16, 1]: 2.900e-06 [16, 2]:-1.237e-02 [16, 3]: 4.241e-06 [16, 4]: 6.874e-05 [16, 5]: 2.704e-08 [16, 6]:-9.240e-10 [16, 7]:-4.308e-06 [16, 8]: 7.601e-02 [16, 9]:-1.252e-06 [16,10]: 6.785e-04 [16,11]: 5.036e-08 [16,12]:-2.487e-08 [16,13]: 0.000e+00 [16,14]: 0.000e+00 [16,15]: 0.000e+00 [16,16]: 1.000e+00 [16,17]: 0.000e+00 [16,18]: 0.000e+00
[17, 1]: 8.272e-02 [17, 2]: 1.500e-07 [17, 3]:-9.604e-07 [17, 4]:-1.637e-08 [17, 5]: 8.113e-04 [17, 6]:-5.548e-09 [17, 7]:-9.224e-03 [17, 8]:-2.596e-06 [17, 9]: 5.979e-06 [17,10]:-2.458e-08 [17,11]: 4.737e-05 [17,12]: 4.305e-09 [17,13]: 0.000e+00 [17,14]: 0.000e+00 [17,15]: 0.000e+00 [17,16]: 0.000e+00 [17,17]: 1.000e+00 [17,18]: 0.000e+00
[18, 1]:-2.468e-06 [18, 2]: 3.313e-02 [18, 3]:-2.639e-06 [18, 4]:-5.990e-04 [18, 5]:-2.302e-08 [18, 6]: 3.141e-08 [18, 7]: 1.941e-06 [18, 8]:-6.673e-03 [18, 9]:-2.257e-06 [18,10]:-7.855e-05 [18,11]:-1.820e-08 [18,12]: 7.568e-09 [18,13]: 0.000e+00 [18,14]: 0.000e+00 [18,15]: 0.000e+00 [18,16]: 0.000e+00 [18,17]: 0.000e+00 [18,18]: 1.000e+00

View File

@ -0,0 +1,40 @@
LIST ALL SELECTED NODES. DSYS= 0
*** ANSYS - ENGINEERING ANALYSIS SYSTEM RELEASE 2020 R2 20.2 ***
DISTRIBUTED ANSYS Academic Research
00208316 VERSION=WINDOWS x64 16:37:53 JUL 30, 2020 CP= 3.062
Flex-FV--Modal (B5)
NODE X Y Z THXY THYZ THZX
181278 0.0000 0.0000 0.10000E-008 0.00 0.00 0.00
181279 0.0000 0.0000 -0.10000E-008 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 Academic Research
00208316 VERSION=WINDOWS x64 16:37:53 JUL 30, 2020 CP= 3.062
Flex-FV--Modal (B5)
NODE LABEL SUPPORT
181278 UX
181278 UY
181278 UZ
181278 ROTX
181278 ROTY
181278 ROTZ
181279 UX
181279 UY
181279 UZ
181279 ROTX
181279 ROTY
181279 ROTZ

439
index.org
View File

@ -166,15 +166,15 @@ Parameters for the APA95ML:
#+begin_src matlab
d33 = 3e-10; % Strain constant [m/V]
n = 80; % Number of layers per stack
eT = 1.6e-8; % Permittivity under constant stress [F/m]
eT = 1.6e-7; % Permittivity under constant stress [F/m]
sD = 2e-11; % Elastic compliance under constant electric displacement [m2/N]
ka = 235e6; % Stack stiffness [N/m]
C = 5e-6; % Stack capactiance [F]
#+end_src
#+begin_src matlab
na = 3; % Number of stacks used as actuator
ns = 0; % Number of stacks used as force sensor
na = 2; % Number of stacks used as actuator
ns = 1; % Number of stacks used as force sensor
#+end_src
The ratio of the developed force to applied voltage is $d_{33} n k_a$ in [N/V].
@ -185,7 +185,7 @@ We denote this constant by $g_a$ and:
#+end_src
#+RESULTS:
: 1.88
: 3.76
From cite:fleming14_desig_model_contr_nanop_system (page 123), the relation between relative displacement and generated voltage is:
\[ V_s = \frac{d_{33}}{\epsilon^T s^D n} \Delta h \]
@ -201,7 +201,7 @@ where:
#+end_src
#+RESULTS:
: 5.8594
: 1.1719
** Identification of the Dynamics
The flexible element is imported using the =Reduced Order Flexible Solid= simscape block.
@ -622,6 +622,47 @@ The two identified dynamics are compared in Figure [[fig:dynamics_act_disp_comp_
save('../test-bench-apa/mat/fem_model_5kg.mat', 'G')
#+end_src
** Dynamics from input voltage to output voltage
#+begin_src matlab
m = 5;
#+end_src
#+begin_src matlab
%% Name of the Simulink File
mdl = 'piezo_amplified_3d';
%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/Va'], 1, 'openinput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/Vs'], 1, 'openoutput'); io_i = io_i + 1;
G = -linearize(mdl, io);
#+end_src
#+begin_src matlab :exports none
freqs = logspace(1, 4, 5000);
figure;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(freqresp(G, freqs, 'Hz'))));
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
hold off;
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180/pi*unwrap(angle(squeeze(freqresp(G, freqs, 'Hz')))));
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:90:360);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
linkaxes([ax1,ax2],'x');
xlim([10, 5e3]);
#+end_src
* APA300ML
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
@ -643,6 +684,11 @@ The two identified dynamics are compared in Figure [[fig:dynamics_act_disp_comp_
** Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates
We first extract the stiffness and mass matrices.
#+begin_src matlab
K = extractMatrix('mat_K-48modes-7MDoF.matrix');
M = extractMatrix('mat_M-48modes-7MDoF.matrix');
#+end_src
#+begin_src matlab
K = extractMatrix('mat_K-80modes-7MDoF.matrix');
M = extractMatrix('mat_M-80modes-7MDoF.matrix');
@ -768,9 +814,6 @@ where:
#+RESULTS:
: 5.8594
** Identification of the Dynamics
The flexible element is imported using the =Reduced Order Flexible Solid= simscape block.
@ -976,6 +1019,386 @@ The two identified dynamics are compared in Figure [[fig:dynamics_act_disp_comp_
xlabel('Real Part'); ylabel('Imaginary Part');
#+end_src
** Sensor Fusion
- [ ] What is the goal of that? Special control properties, lower the sensor noise?
Use the relative motion sensor at low frequency and the force sensor at high frequency.
#+begin_src matlab
m = 10;
#+end_src
#+begin_src matlab
%% Name of the Simulink File
mdl = 'APA300ML_test_bench';
%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/Va'], 1, 'openinput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/Vs'], 1, 'openoutput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/y'], 1, 'openoutput'); io_i = io_i + 1;
G = linearize(mdl, io);
#+end_src
#+begin_src matlab :exports none
freqs = logspace(1, 5, 1000);
Gresp = squeeze(freqresp(G, freqs, 'Hz'));
figure;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(Gresp(1, :)), '-');
plot(freqs, abs(Gresp(2, :)), '-');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
hold off;
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180/pi*unwrap(angle(Gresp(1, :))), '-', ...
'DisplayName', 'Force');
plot(freqs, 180/pi*unwrap(angle(Gresp(2, :))), '-', ...
'DisplayName', 'Displacement');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:90:360);
ylim([-390 30]);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);
legend('location', 'southwest');
#+end_src
Merge around 1kHz
#+begin_src matlab :exports none
freqs = logspace(1, 5, 1000);
figure;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(Gresp(1, :).*squeeze(freqresp(0.0065/s^2, freqs, 'Hz'))'), '-');
plot(freqs, abs(Gresp(2, :)), '-');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
hold off;
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180/pi*unwrap(angle(Gresp(1, :).*squeeze(freqresp(1/s^2, freqs, 'Hz'))')), '-', ...
'DisplayName', 'Force');
plot(freqs, 180/pi*unwrap(angle(Gresp(2, :))), '-', ...
'DisplayName', 'Displacement');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:90:360);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);
legend('location', 'southwest');
#+end_src
LPF and HPF
#+begin_src matlab
n = 3; w0 = 2*pi*1e3; G0 = 1/10; G1 = 1e5; Gc = 1/2;
W1 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
n = 3; w0 = 2*pi*1e3; G0 = 1e5; G1 = 0.1; Gc = 1/2;
W2 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
#+end_src
#+begin_src matlab
P = [W1 -W1;
0 W2;
1 0];
[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
H1 = 1 - H2;
#+end_src
#+begin_src matlab :exports none
freqs = logspace(1, 5, 1000);
Gresp = squeeze(freqresp(G, freqs, 'Hz'));
figure;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(Gresp(1, :).*squeeze(freqresp(0.0065/s^2*H2, freqs, 'Hz'))'), '-');
plot(freqs, abs(Gresp(2, :).*squeeze(freqresp(H1, freqs, 'Hz'))'), '-');
plot(freqs, abs(Gresp(2, :).*squeeze(freqresp(H1, freqs, 'Hz'))' + Gresp(1, :).*squeeze(freqresp(0.0065/s^2*H2, freqs, 'Hz'))'), 'k--');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
hold off;
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180/pi*unwrap(angle(Gresp(1, :).*squeeze(freqresp(0.0065/s^2*H2, freqs, 'Hz'))')), '-', ...
'DisplayName', 'Force');
plot(freqs, 180/pi*unwrap(angle(Gresp(2, :).*squeeze(freqresp(H1, freqs, 'Hz'))')), '-', ...
'DisplayName', 'Displacement');
plot(freqs, 180/pi*unwrap(angle(Gresp(2, :).*squeeze(freqresp(H1, freqs, 'Hz'))' + Gresp(1, :).*squeeze(freqresp(0.0065/s^2*H2, freqs, 'Hz'))')), 'k--', ...
'DisplayName', 'Super Sensor');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:90:360);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);
legend('location', 'southwest');
#+end_src
#+begin_src matlab :exports none
Gss = -zpk(G(1)*0.0065/s^2*H2 + G(2)*H1);
freqs = logspace(1, 5, 1000);
figure;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(freqresp(Gss, freqs, 'Hz'))'), '-');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
hold off;
ax2 = subplot(2,1,2);
hold on;
plot(freqs, 180/pi*(angle(squeeze(freqresp(Gss, freqs, 'Hz'))')), '-', ...
'DisplayName', 'Force');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:90:360);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);
legend('location', 'southwest');
#+end_src
Root locus
#+begin_src matlab
figure;
gains = logspace(4, 7, 100);
hold on;
plot(real(pole(Gss)), imag(pole(Gss)), 'kx');
plot(real(tzero(Gss)), imag(tzero(Gss)), 'ko');
for k = 1:length(gains)
cl_poles = pole(feedback(Gss, gains(k)*s));
plot(real(cl_poles), imag(cl_poles), 'k.');
end
hold off;
axis square;
xlim([-500, 10]); ylim([0, 510]);
xlabel('Real Part'); ylabel('Imaginary Part');
#+end_src
* Flexible Joint
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)
<<matlab-dir>>
#+end_src
#+begin_src matlab :exports none :results silent :noweb yes
<<matlab-init>>
#+end_src
#+begin_src matlab
addpath('./src/');
addpath('./data/flexor_ID16/');
#+end_src
#+begin_src matlab :exports none
open('flexor_ID16.slx');
#+end_src
** Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates
We first extract the stiffness and mass matrices.
#+begin_src matlab
K = extractMatrix('mat_K_6modes_2MDoF.matrix');
M = extractMatrix('mat_M_6modes_2MDoF.matrix');
#+end_src
Then, we extract the coordinates of the interface nodes.
#+begin_src matlab
[int_xyz, int_i, n_xyz, n_i, nodes] = extractNodes('out_nodes_3D.txt');
#+end_src
#+begin_src matlab
save('./mat/flexor_ID16.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
#+end_src
** Output parameters
#+begin_src matlab
load('./mat/flexor_ID16.mat', 'int_xyz', 'int_i', 'n_xyz', 'n_i', 'nodes', 'M', 'K');
#+end_src
#+begin_src matlab :exports results :results value table replace :tangle no
data2orgtable([length(n_i); length(int_i); size(M,1) - 6*length(int_i); size(M,1)], {'Total number of Nodes', 'Number of interface Nodes', 'Number of Modes', 'Size of M and K matrices'}, {}, ' %.0f ');
#+end_src
#+RESULTS:
| Total number of Nodes | 2 |
| Number of interface Nodes | 2 |
| Number of Modes | 6 |
| Size of M and K matrices | 18 |
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
data2orgtable([[1:length(int_i)]', int_i, int_xyz], {}, {'Node i', 'Node Number', 'x [m]', 'y [m]', 'z [m]'}, ' %f ');
#+end_src
#+caption: Coordinates of the interface nodes
#+RESULTS:
| Node i | Node Number | x [m] | y [m] | z [m] |
|--------+-------------+-------+-------+-------|
| 1.0 | 181278.0 | 0.0 | 0.0 | 0.0 |
| 2.0 | 181279.0 | 0.0 | 0.0 | -0.0 |
#+begin_src matlab :exports results :results value table replace :tangle no
data2orgtable(K(1:10, 1:10), {}, {}, ' %.2e ');
#+end_src
#+caption: First 10x10 elements of the Stiffness matrix
#+RESULTS:
| 11200000.0 | 195.0 | 2220.0 | -0.719 | -265.0 | 1.59 | -11200000.0 | -213.0 | -2220.0 | 0.147 |
| 195.0 | 11400000.0 | 1290.0 | -148.0 | -0.188 | 2.41 | -212.0 | -11400000.0 | -1290.0 | 148.0 |
| 2220.0 | 1290.0 | 119000000.0 | 1.31 | 1.49 | 1.79 | -2220.0 | -1290.0 | -119000000.0 | -1.31 |
| -0.719 | -148.0 | 1.31 | 33.0 | 0.000488 | -0.000977 | 0.141 | 148.0 | -1.31 | -33.0 |
| -265.0 | -0.188 | 1.49 | 0.000488 | 33.0 | 0.00293 | 266.0 | 0.154 | -1.49 | 0.00026 |
| 1.59 | 2.41 | 1.79 | -0.000977 | 0.00293 | 236.0 | -1.32 | -2.55 | -1.79 | 0.000379 |
| -11200000.0 | -212.0 | -2220.0 | 0.141 | 266.0 | -1.32 | 11400000.0 | 24600.0 | 1640.0 | 120.0 |
| -213.0 | -11400000.0 | -1290.0 | 148.0 | 0.154 | -2.55 | 24600.0 | 11400000.0 | 1290.0 | -72.0 |
| -2220.0 | -1290.0 | -119000000.0 | -1.31 | -1.49 | -1.79 | 1640.0 | 1290.0 | 119000000.0 | 1.32 |
| 0.147 | 148.0 | -1.31 | -33.0 | 0.00026 | 0.000379 | 120.0 | -72.0 | 1.32 | 34.7 |
#+begin_src matlab :exports results :results value table replace :tangle no
data2orgtable(M(1:10, 1:10), {}, {}, ' %.1g ');
#+end_src
#+caption: First 10x10 elements of the Mass matrix
#+RESULTS:
| 0.02 | 1e-09 | -4e-08 | -1e-10 | 0.0002 | -3e-11 | 0.004 | 5e-08 | 7e-08 | 1e-10 |
| 1e-09 | 0.02 | -3e-07 | -0.0002 | -1e-10 | -2e-09 | 2e-08 | 0.004 | 3e-07 | 1e-05 |
| -4e-08 | -3e-07 | 0.02 | 7e-10 | -2e-09 | 1e-09 | 3e-07 | 7e-08 | 0.003 | 1e-09 |
| -1e-10 | -0.0002 | 7e-10 | 4e-06 | -1e-12 | -6e-13 | 2e-10 | -7e-06 | -8e-10 | -1e-09 |
| 0.0002 | -1e-10 | -2e-09 | -1e-12 | 3e-06 | 2e-13 | 9e-06 | 4e-11 | 2e-09 | -3e-13 |
| -3e-11 | -2e-09 | 1e-09 | -6e-13 | 2e-13 | 4e-07 | 8e-11 | 9e-10 | -1e-09 | 2e-12 |
| 0.004 | 2e-08 | 3e-07 | 2e-10 | 9e-06 | 8e-11 | 0.02 | -7e-08 | -3e-07 | -2e-10 |
| 5e-08 | 0.004 | 7e-08 | -7e-06 | 4e-11 | 9e-10 | -7e-08 | 0.01 | -4e-08 | 0.0002 |
| 7e-08 | 3e-07 | 0.003 | -8e-10 | 2e-09 | -1e-09 | -3e-07 | -4e-08 | 0.02 | -1e-09 |
| 1e-10 | 1e-05 | 1e-09 | -1e-09 | -3e-13 | 2e-12 | -2e-10 | 0.0002 | -1e-09 | 2e-06 |
Using =K=, =M= and =int_xyz=, we can use the =Reduced Order Flexible Solid= simscape block.
** Flexible Joint Characteristics
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
data2orgtable([1e-6*K(3,3), K(4,4), K(5,5), K(6,6)]', {'Axial Stiffness [N/um]', 'Bending Stiffness [Nm/rad]', 'Bending Stiffness [Nm/rad]', 'Torsion Stiffness [Nm/rad]'}, {'*Caracteristic*', '*Value*'}, ' %0.f ');
#+end_src
#+RESULTS:
| *Caracteristic* | *Value* |
|----------------------------+---------|
| Axial Stiffness [N/um] | 119 |
| Bending Stiffness [Nm/rad] | 33 |
| Bending Stiffness [Nm/rad] | 33 |
| Torsion Stiffness [Nm/rad] | 236 |
** Identification
#+begin_src matlab
m = 10;
#+end_src
The dynamics is identified from the applied force to the measured relative displacement.
#+begin_src matlab
%% Name of the Simulink File
mdl = 'flexor_ID16';
%% Input/Output definition
clear io; io_i = 1;
io(io_i) = linio([mdl, '/T'], 1, 'openinput'); io_i = io_i + 1;
io(io_i) = linio([mdl, '/D'], 1, 'openoutput'); io_i = io_i + 1;
G = linearize(mdl, io);
#+end_src
#+begin_src matlab :exports results :results value table replace :tangle no :post addhdr(*this*)
data2orgtable([1e-6*K(3,3), K(4,4), K(5,5), K(6,6) ; 1e-6./dcgain(G(3,3)), 1./dcgain(G(4,4)), 1./dcgain(G(5,5)), 1./dcgain(G(6,6))]', {'Axial Stiffness Dz [N/um]', 'Bending Stiffness Rx [Nm/rad]', 'Bending Stiffness Ry [Nm/rad]', 'Torsion Stiffness Rz [Nm/rad]'}, {'*Caracteristic*', '*Value*', '*Identification*'}, ' %0.f ');
#+end_src
#+RESULTS:
| *Caracteristic* | *Value* | *Identification* |
|-------------------------------+---------+------------------|
| Axial Stiffness Dz [N/um] | 119 | 119 |
| Bending Stiffness Rx [Nm/rad] | 33 | 34 |
| Bending Stiffness Ry [Nm/rad] | 33 | 126 |
| Torsion Stiffness Rz [Nm/rad] | 236 | 238 |
#+begin_src matlab :exports none
freqs = logspace(0, 5, 1000);
figure;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(freqresp(G(1,1), freqs, 'Hz'))), '-');
plot(freqs, abs(squeeze(freqresp(G(2,2), freqs, 'Hz'))), '-');
plot(freqs, abs(squeeze(freqresp(G(3,3), freqs, 'Hz'))), '-');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
hold off;
ax2 = subplot(2,1,2);
hold on
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(1,1), freqs, 'Hz')))), '-');
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(2,2), freqs, 'Hz')))), '-');
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(3,3), freqs, 'Hz')))), '-');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:90:360);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);
#+end_src
#+begin_src matlab :exports none
freqs = logspace(0, 5, 1000);
figure;
ax1 = subplot(2,1,1);
hold on;
plot(freqs, abs(squeeze(freqresp(G(4,4), freqs, 'Hz'))), '-');
plot(freqs, abs(squeeze(freqresp(G(5,5), freqs, 'Hz'))), '-');
plot(freqs, abs(squeeze(freqresp(G(6,6), freqs, 'Hz'))), '-');
hold off;
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log');
ylabel('Amplitude'); set(gca, 'XTickLabel',[]);
hold off;
ax2 = subplot(2,1,2);
hold on
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(4,4), freqs, 'Hz')))), '-');
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(5,5), freqs, 'Hz')))), '-');
plot(freqs, 180/pi*(angle(squeeze(freqresp(G(6,6), freqs, 'Hz')))), '-');
set(gca, 'XScale', 'log'); set(gca, 'YScale', 'lin');
yticks(-360:90:360);
xlabel('Frequency [Hz]'); ylabel('Phase [deg]');
hold off;
linkaxes([ax1,ax2],'x');
xlim([freqs(1), freqs(end)]);
#+end_src
* Integral Force Feedback with Amplified Piezo
** Matlab Init :noexport:ignore:
#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name)