diff --git a/experiment/rotation-test/PolarPlotLocalEnergy.py b/experiment/rotation-test/PolarPlotLocalEnergy.py index 67429fda67c053e403a735c2573004e2df30b7a7..5cb9d8de81d4f07126b5cf16c548ba7a0cf4855e 100644 --- a/experiment/rotation-test/PolarPlotLocalEnergy.py +++ b/experiment/rotation-test/PolarPlotLocalEnergy.py @@ -48,7 +48,7 @@ def ReadEffectiveQuantities(QFilePath, BFilePath): B = np.array([X[0][2], X[1][2], X[2][2]]) return Q, B -number=2 +number=1 kappa=np.zeros(number) for n in range(0,number): # Read from Date @@ -62,8 +62,8 @@ for n in range(0,number): B=np.transpose([B]) # - N=500 - length=5 + N=300 + length=.5 r, theta = np.meshgrid(np.linspace(0,length,N),np.radians(np.linspace(0, 360, N))) E=np.zeros(np.shape(r)) for i in range(0,N): @@ -87,7 +87,7 @@ for n in range(0,number): plt.colorbar(pcm, extend='max', ticks=colorbarticks, pad=0.1) plt.show() -f = open("./experiment/wood-bilayer/results/kappa_simulation.txt", "w") +f = open("./experiment/rotation-test/results/kappa_simulation.txt", "w") f.write(str(kappa)) f.close() diff --git a/experiment/rotation-test/cellsolver.parset b/experiment/rotation-test/cellsolver.parset index e674549614e510e493c929fe6d48145b78df7f03..065f1d158ab8c12d5abd8dc02b7fb3e09e600055 100644 --- a/experiment/rotation-test/cellsolver.parset +++ b/experiment/rotation-test/cellsolver.parset @@ -4,7 +4,7 @@ # -------------------------------------------------------- # Path for results and logfile -outputPath=./experiment/rotation-test/results/0 +outputPath=./experiment/rotation-test/results/3 # Path for material description geometryFunctionPath =experiment/rotation-test/ @@ -24,7 +24,7 @@ geometryFunctionPath =experiment/rotation-test/ ## {start,finish} computes on all grid from 2^(start) to 2^finish refinement #---------------------------------------------------- -numLevels=4 4 +numLevels=3 3 #numLevels = 1 1 # computes all levels from first to second entry #numLevels = 2 2 # computes all levels from first to second entry #numLevels = 1 3 # computes all levels from first to second entry diff --git a/experiment/rotation-test/isotrop_orthotrop_rotation.py b/experiment/rotation-test/isotrop_orthotrop_rotation.py index d4809134ba6dce598d4a59ef62758959b193e2cd..1669e6040944be92e3fe8ff5ed3090d5ac8639c9 100644 --- a/experiment/rotation-test/isotrop_orthotrop_rotation.py +++ b/experiment/rotation-test/isotrop_orthotrop_rotation.py @@ -25,7 +25,7 @@ prestrain_wood=np.array([[-0.050821460301886785, 0, 0], [0, -2.134501332679245, 0], [0, 0, -0.8824453561509432]]) # rotation angle -param_theta = 0 +param_theta = 1.5707963267948966 # untere Schicht: isotrop, ohne prestrain @@ -49,7 +49,8 @@ materialParameters_phase1 = np.dot(np.dot(N,compliance_wood),N.T) materialParameters_phase1 = (0.5*(materialParameters_phase1.T+materialParameters_phase1)).tolist() # rotation of strain def prestrain_phase1(x): - return elast.voigt_to_strain(np.dot(elast.rotation_matrix_compliance(2,param_theta),np.dot(elast.strain_to_voigt(np.array(prestrain_wood)),N.T))).tolist() + R=elast.rotation_matrix(2,param_theta) + return np.dot(R,np.dot(np.array(prestrain_wood),R.T)).tolist() # --- PHASE 2 phase2_type="isotropic" diff --git a/experiment/rotation-test/rotation_test.py b/experiment/rotation-test/rotation_test.py index 340617078264671212be03fa925f2f3367744eae..07d889e311b6cae6a3186d1c2d8fa629ec05c184 100644 --- a/experiment/rotation-test/rotation_test.py +++ b/experiment/rotation-test/rotation_test.py @@ -107,13 +107,14 @@ outputPath = Path + '/results/' class ParameterSet: pass +#ParameterSet.materialFunction = "isotrop_orthotrop_rotation" ParameterSet.materialFunction = "isotrop_orthotrop_rotation" ParameterSet.gamma=1.0 -ParameterSet.numLevels=4 +ParameterSet.numLevels=3 # ----- Define Parameters for Material Function -------------------- # Liste mit Drehwinkel theta -materialFunctionParameter=[0,np.pi/12, 2*np.pi/12,3*np.pi/12, 4*np.pi/12, 5*np.pi/12] +materialFunctionParameter=[0, 2*np.pi/12, 4*np.pi/12, 6*np.pi/12] # ------ Loops through Parameters for Material Function ----------- for i in range(0,np.shape(materialFunctionParameter)[0]): diff --git a/experiment/wood-bilayer/#readme.txt# b/experiment/wood-bilayer/#readme.txt# new file mode 100644 index 0000000000000000000000000000000000000000..81861acedf12d9c04d20bf014db0106952e3765e --- /dev/null +++ b/experiment/wood-bilayer/#readme.txt# @@ -0,0 +1,12 @@ +Zum Starten im Verzeichnis dune-microstructure: +python ./experimenta/wood_text.py +(sonst kommt das script mit den Verzeichnissen durcheinander) + +Definition des Komposits: +wood_europea_beech.py + +Zum Plotten: +PolarPlotLocalEnergy.py + +Toolbox +elasticity_toolboy.py \ No newline at end of file diff --git a/experiment/wood-bilayer/.gitignore b/experiment/wood-bilayer/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/experiment/wood-bilayer/PolarPlotLocalEnergy.py b/experiment/wood-bilayer/PolarPlotLocalEnergy.py index fae4dbb6d3c091afa7c5e21c22cbd6a068da1a52..8a7cc06ce6ec2e1af28c56b53ada55364d9102c2 100644 --- a/experiment/wood-bilayer/PolarPlotLocalEnergy.py +++ b/experiment/wood-bilayer/PolarPlotLocalEnergy.py @@ -48,12 +48,14 @@ def ReadEffectiveQuantities(QFilePath, BFilePath): B = np.array([X[0][2], X[1][2], X[2][2]]) return Q, B +# Number of experiments / folders number=7 kappa=np.zeros(number) for n in range(0,number): # Read from Date print(str(n)) DataPath = './experiment/wood-bilayer/results/'+str(n) + DataPath = './experiment/wood-bilayer/results/'+str(n) QFilePath = DataPath + '/QMatrix.txt' BFilePath = DataPath + '/BMatrix.txt' Q, B = ReadEffectiveQuantities(QFilePath,BFilePath) diff --git a/experiment/wood-bilayer/__pycache__/elasticity_toolbox.cpython-310.pyc b/experiment/wood-bilayer/__pycache__/elasticity_toolbox.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..23ea9ef696e037927165d5e533a22f55855c9a95 Binary files /dev/null and b/experiment/wood-bilayer/__pycache__/elasticity_toolbox.cpython-310.pyc differ diff --git a/experiment/wood-bilayer/__pycache__/wood_european_beech.cpython-310.pyc b/experiment/wood-bilayer/__pycache__/wood_european_beech.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..12b7e98a66b84afe9b00cb5b987c3f42eb6e8be7 Binary files /dev/null and b/experiment/wood-bilayer/__pycache__/wood_european_beech.cpython-310.pyc differ diff --git a/experiment/wood-bilayer/readme.txt b/experiment/wood-bilayer/readme.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/experiment/wood-bilayer/results/0/BMatrix.txt b/experiment/wood-bilayer/results/0/BMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..84844fde453df96f7bf5718a227f54c954ec7a21 --- /dev/null +++ b/experiment/wood-bilayer/results/0/BMatrix.txt @@ -0,0 +1,3 @@ +1 1 1.22028443964317246 +1 2 -0.2845146939877648 +1 3 -1.41110998730663744e-33 diff --git a/experiment/wood-bilayer/results/0/QMatrix.txt b/experiment/wood-bilayer/results/0/QMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..2969e15f5e4c2de60e7c8f891f12670454bd328f --- /dev/null +++ b/experiment/wood-bilayer/results/0/QMatrix.txt @@ -0,0 +1,9 @@ +1 1 304.52882446568799 +1 2 19.1058810430896244 +1 3 -1.65436122510605535e-24 +2 1 19.1058932055586403 +2 2 524.281062366142351 +2 3 1.18131731230229265e-23 +3 1 7.66396164928418806e-33 +3 2 1.21058723308231638e-32 +3 3 88.8021141416043207 diff --git a/experiment/wood-bilayer/results/0/output.txt b/experiment/wood-bilayer/results/0/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..636885605765bbf184b8dedf9119e22e5242ab85 --- /dev/null +++ b/experiment/wood-bilayer/results/0/output.txt @@ -0,0 +1,49 @@ +Number of Grid-Elements in each direction: [16,16,16] +Solver-type used: GMRES-Solver +---------- OUTPUT ---------- + -------------------- +Corrector-Matrix M_1: +-0.233954 -1.54165e-27 0 +-1.54165e-27 0.0110659 0 +0 0 0 + + -------------------- +Corrector-Matrix M_2: +-0.0025163 1.89724e-27 0 +1.89724e-27 0.11024 0 +0 0 0 + + -------------------- +Corrector-Matrix M_3: +0 0.0227636 0 +0.0227636 0 0 +0 0 0 + + -------------------- +--- Effective moduli --- +Qeff_: +304.529 19.1059 -1.65436e-24 +19.1059 524.281 1.18132e-23 +7.66396e-33 1.21059e-32 88.8021 + +------------------------ +--- Prestrain Output --- +Bhat_: 366.176 -125.851 -1.19402e-31 +Beff_: 1.22028 -0.284515 -1.41111e-33 (Effective Prestrain) +------------------------ +size of FiniteElementBasis: 13056 +q1=304.529 +q2=524.281 +q3=88.8021 +q12=19.1059 +q23=1.18132e-23 +q_onetwo=19.105881 +b1=1.220284 +b2=-0.284515 +b3=-0.000000 +mu_gamma=88.802114 +--------------------------------------------------------------------------------------------------------------------------------------- + Levels | q1 | q2 | q3 | q12 | q23 | b1 | b2 | b3 | +--------------------------------------------------------------------------------------------------------------------------------------- + 4 & 3.04529e+02 & 5.24281e+02 & 8.88021e+01 & 1.91059e+01 & 1.18132e-23 & 1.22028e+00 & -2.84515e-01 & -1.41111e-33 & +--------------------------------------------------------------------------------------------------------------------------------------- diff --git a/experiment/wood-bilayer/results/0/parameter.txt b/experiment/wood-bilayer/results/0/parameter.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee7ee08fcca4bcbcac93d88a2edf8ee1497033da --- /dev/null +++ b/experiment/wood-bilayer/results/0/parameter.txt @@ -0,0 +1,4 @@ +r = 0.22 +h = 0.0053 +omega_flat = 17.17547062 +omega_target = 14.72680026 diff --git a/experiment/wood-bilayer/results/1/BMatrix.txt b/experiment/wood-bilayer/results/1/BMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..2b051e9579279010d1bdd5647cc1e8dc1fb79118 --- /dev/null +++ b/experiment/wood-bilayer/results/1/BMatrix.txt @@ -0,0 +1,3 @@ +1 1 1.7573834621025497 +1 2 -0.42040684090086522 +1 3 -1.93627631123640932e-32 diff --git a/experiment/wood-bilayer/results/1/QMatrix.txt b/experiment/wood-bilayer/results/1/QMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..d6f7407d939a66de43a8da1af41b09342291ce8d --- /dev/null +++ b/experiment/wood-bilayer/results/1/QMatrix.txt @@ -0,0 +1,9 @@ +1 1 315.078030302231809 +1 2 20.6661963902054353 +1 3 -5.16987882845642297e-24 +2 1 20.6662089007290781 +2 2 537.77534277449513 +2 3 -1.27954501004296468e-24 +3 1 9.31699229364431294e-32 +3 2 -1.2996446844110351e-32 +3 3 90.3065313535569913 diff --git a/experiment/wood-bilayer/results/1/output.txt b/experiment/wood-bilayer/results/1/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..d135fa65c315a46bb6c2cd1aa5a26b276545c27d --- /dev/null +++ b/experiment/wood-bilayer/results/1/output.txt @@ -0,0 +1,49 @@ +Number of Grid-Elements in each direction: [16,16,16] +Solver-type used: GMRES-Solver +---------- OUTPUT ---------- + -------------------- +Corrector-Matrix M_1: +-0.232471 2.20455e-26 0 +2.20455e-26 0.0115767 0 +0 0 0 + + -------------------- +Corrector-Matrix M_2: +-0.0026877 1.24089e-27 0 +1.24089e-27 0.110113 0 +0 0 0 + + -------------------- +Corrector-Matrix M_3: +0 0.0222889 0 +0.0222889 0 0 +0 0 0 + + -------------------- +--- Effective moduli --- +Qeff_: +315.078 20.6662 -5.16988e-24 +20.6662 537.775 -1.27955e-24 +9.31699e-32 -1.29964e-32 90.3065 + +------------------------ +--- Prestrain Output --- +Bhat_: 545.025 -189.766 -1.57938e-30 +Beff_: 1.75738 -0.420407 -1.93628e-32 (Effective Prestrain) +------------------------ +size of FiniteElementBasis: 13056 +q1=315.078 +q2=537.775 +q3=90.3065 +q12=20.6662 +q23=-1.27955e-24 +q_onetwo=20.666196 +b1=1.757383 +b2=-0.420407 +b3=-0.000000 +mu_gamma=90.306531 +--------------------------------------------------------------------------------------------------------------------------------------- + Levels | q1 | q2 | q3 | q12 | q23 | b1 | b2 | b3 | +--------------------------------------------------------------------------------------------------------------------------------------- + 4 & 3.15078e+02 & 5.37775e+02 & 9.03065e+01 & 2.06662e+01 & -1.27955e-24 & 1.75738e+00 & -4.20407e-01 & -1.93628e-32 & +--------------------------------------------------------------------------------------------------------------------------------------- diff --git a/experiment/wood-bilayer/results/1/parameter.txt b/experiment/wood-bilayer/results/1/parameter.txt new file mode 100644 index 0000000000000000000000000000000000000000..23cacfffe7ac1743e8de3970520ef790b1d315ab --- /dev/null +++ b/experiment/wood-bilayer/results/1/parameter.txt @@ -0,0 +1,4 @@ +r = 0.22 +h = 0.0053 +omega_flat = 17.17547062 +omega_target = 13.64338887 diff --git a/experiment/wood-bilayer/results/2/BMatrix.txt b/experiment/wood-bilayer/results/2/BMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..06fe4580e31da659241d5b8e63e7df8fefd506ff --- /dev/null +++ b/experiment/wood-bilayer/results/2/BMatrix.txt @@ -0,0 +1,3 @@ +1 1 2.36523001516716569 +1 2 -0.581569592422200854 +1 3 2.33065121544418776e-34 diff --git a/experiment/wood-bilayer/results/2/QMatrix.txt b/experiment/wood-bilayer/results/2/QMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..b04d2a6212525a24e99671105ab6895d675c5adc --- /dev/null +++ b/experiment/wood-bilayer/results/2/QMatrix.txt @@ -0,0 +1,9 @@ +1 1 327.048205759343205 +1 2 22.5165789852819032 +1 3 -3.72877510502419507e-24 +2 1 22.5165911472273521 +2 2 553.147634470043045 +2 3 1.34416849539866997e-24 +3 1 9.61672195943999387e-33 +3 2 6.28741120991523548e-33 +3 3 92.0137173817475684 diff --git a/experiment/wood-bilayer/results/2/output.txt b/experiment/wood-bilayer/results/2/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..27357ee26a698ee88c6a76e6456b41056effc6d9 --- /dev/null +++ b/experiment/wood-bilayer/results/2/output.txt @@ -0,0 +1,49 @@ +Number of Grid-Elements in each direction: [16,16,16] +Solver-type used: GMRES-Solver +---------- OUTPUT ---------- + -------------------- +Corrector-Matrix M_1: +-0.230885 2.19762e-26 0 +2.19762e-26 0.0121584 0 +0 0 0 + + -------------------- +Corrector-Matrix M_2: +-0.00288395 3.79325e-27 0 +3.79325e-27 0.109978 0 +0 0 0 + + -------------------- +Corrector-Matrix M_3: +0 0.0217664 0 +0.0217664 0 0 +0 0 0 + + -------------------- +--- Effective moduli --- +Qeff_: +327.048 22.5166 -3.72878e-24 +22.5166 553.148 1.34417e-24 +9.61672e-33 6.28741e-33 92.0137 + +------------------------ +--- Prestrain Output --- +Bhat_: 760.449 -268.437 4.05344e-32 +Beff_: 2.36523 -0.58157 2.33065e-34 (Effective Prestrain) +------------------------ +size of FiniteElementBasis: 13056 +q1=327.048 +q2=553.148 +q3=92.0137 +q12=22.5166 +q23=1.34417e-24 +q_onetwo=22.516579 +b1=2.365230 +b2=-0.581570 +b3=0.000000 +mu_gamma=92.013717 +--------------------------------------------------------------------------------------------------------------------------------------- + Levels | q1 | q2 | q3 | q12 | q23 | b1 | b2 | b3 | +--------------------------------------------------------------------------------------------------------------------------------------- + 4 & 3.27048e+02 & 5.53148e+02 & 9.20137e+01 & 2.25166e+01 & 1.34417e-24 & 2.36523e+00 & -5.81570e-01 & 2.33065e-34 & +--------------------------------------------------------------------------------------------------------------------------------------- diff --git a/experiment/wood-bilayer/results/2/parameter.txt b/experiment/wood-bilayer/results/2/parameter.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b0b796f34fbcecdcb056432bd2b48af88d3876a --- /dev/null +++ b/experiment/wood-bilayer/results/2/parameter.txt @@ -0,0 +1,4 @@ +r = 0.22 +h = 0.0053 +omega_flat = 17.17547062 +omega_target = 12.41305478 diff --git a/experiment/wood-bilayer/results/3/BMatrix.txt b/experiment/wood-bilayer/results/3/BMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..82579fb33426d74bcdf234954d899bf847acf1cd --- /dev/null +++ b/experiment/wood-bilayer/results/3/BMatrix.txt @@ -0,0 +1,3 @@ +1 1 2.73380820761312782 +1 2 -0.68295979603524104 +1 3 -1.51829981430077995e-33 diff --git a/experiment/wood-bilayer/results/3/QMatrix.txt b/experiment/wood-bilayer/results/3/QMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..ba86d73705311372c7b8a3d79b947b490b5d23bd --- /dev/null +++ b/experiment/wood-bilayer/results/3/QMatrix.txt @@ -0,0 +1,9 @@ +1 1 334.324056037577748 +1 2 23.6828912676120602 +1 3 4.21345124519198472e-24 +2 1 23.6828964275446054 +2 2 562.522258871768145 +2 3 4.30392412468997212e-24 +3 1 -1.16480740815231617e-32 +3 2 -8.12511691239257716e-33 +3 3 93.0513170279158714 diff --git a/experiment/wood-bilayer/results/3/output.txt b/experiment/wood-bilayer/results/3/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..cdcdccdbf1ce91545b7a09323abf7f35e89c94e2 --- /dev/null +++ b/experiment/wood-bilayer/results/3/output.txt @@ -0,0 +1,49 @@ +Number of Grid-Elements in each direction: [16,16,16] +Solver-type used: GMRES-Solver +---------- OUTPUT ---------- + -------------------- +Corrector-Matrix M_1: +-0.229968 2.88958e-27 0 +2.88958e-27 0.012513 0 +0 0 0 + + -------------------- +Corrector-Matrix M_2: +-0.00300407 -2.3938e-28 0 +-2.3938e-28 0.109899 0 +0 0 0 + + -------------------- +Corrector-Matrix M_3: +0 0.0214569 0 +0.0214569 0 0 +0 0 0 + + -------------------- +--- Effective moduli --- +Qeff_: +334.324 23.6829 4.21345e-24 +23.6829 562.522 4.30392e-24 +-1.16481e-32 -8.12512e-33 93.0513 + +------------------------ +--- Prestrain Output --- +Bhat_: 897.803 -319.436 -1.67574e-31 +Beff_: 2.73381 -0.68296 -1.5183e-33 (Effective Prestrain) +------------------------ +size of FiniteElementBasis: 13056 +q1=334.324 +q2=562.522 +q3=93.0513 +q12=23.6829 +q23=4.30392e-24 +q_onetwo=23.682891 +b1=2.733808 +b2=-0.682960 +b3=-0.000000 +mu_gamma=93.051317 +--------------------------------------------------------------------------------------------------------------------------------------- + Levels | q1 | q2 | q3 | q12 | q23 | b1 | b2 | b3 | +--------------------------------------------------------------------------------------------------------------------------------------- + 4 & 3.34324e+02 & 5.62522e+02 & 9.30513e+01 & 2.36829e+01 & 4.30392e-24 & 2.73381e+00 & -6.82960e-01 & -1.51830e-33 & +--------------------------------------------------------------------------------------------------------------------------------------- diff --git a/experiment/wood-bilayer/results/3/parameter.txt b/experiment/wood-bilayer/results/3/parameter.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ab41d62a901caa341c63e0f671904b3fff6ca30 --- /dev/null +++ b/experiment/wood-bilayer/results/3/parameter.txt @@ -0,0 +1,4 @@ +r = 0.22 +h = 0.0053 +omega_flat = 17.17547062 +omega_target = 11.66482931 diff --git a/experiment/wood-bilayer/results/4/BMatrix.txt b/experiment/wood-bilayer/results/4/BMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..a0f25ae1a0e60f9ae00daad6e2418e7bc2a7e839 --- /dev/null +++ b/experiment/wood-bilayer/results/4/BMatrix.txt @@ -0,0 +1,3 @@ +1 1 3.01257794449986038 +1 2 -0.761426746467108506 +1 3 -2.00301081070281749e-33 diff --git a/experiment/wood-bilayer/results/4/QMatrix.txt b/experiment/wood-bilayer/results/4/QMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..7dbc4bb9649e95273f0cfb72e33989969a51293e --- /dev/null +++ b/experiment/wood-bilayer/results/4/QMatrix.txt @@ -0,0 +1,9 @@ +1 1 339.836353364801084 +1 2 24.5874784431021602 +1 3 -9.71937219749807518e-24 +2 1 24.5874898806789268 +2 2 569.639985045040589 +2 3 2.29930360895599411e-23 +3 1 -2.0503720577364613e-32 +3 2 -1.25878986003714669e-32 +3 3 93.8373197975450353 diff --git a/experiment/wood-bilayer/results/4/output.txt b/experiment/wood-bilayer/results/4/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..29680bb58a08f3504ddaf930030d5f5693dd3cf0 --- /dev/null +++ b/experiment/wood-bilayer/results/4/output.txt @@ -0,0 +1,49 @@ +Number of Grid-Elements in each direction: [16,16,16] +Solver-type used: GMRES-Solver +---------- OUTPUT ---------- + -------------------- +Corrector-Matrix M_1: +-0.229296 1.44303e-25 0 +1.44303e-25 0.012782 0 +0 0 0 + + -------------------- +Corrector-Matrix M_2: +-0.00309544 1.50887e-26 0 +1.50887e-26 0.109842 0 +0 0 0 + + -------------------- +Corrector-Matrix M_3: +0 0.0212263 0 +0.0212263 0 0 +0 0 0 + + -------------------- +--- Effective moduli --- +Qeff_: +339.836 24.5875 -9.71937e-24 +24.5875 569.64 2.2993e-23 +-2.05037e-32 -1.25879e-32 93.8373 + +------------------------ +--- Prestrain Output --- +Bhat_: 1005.06 -359.667 -2.40141e-31 +Beff_: 3.01258 -0.761427 -2.00301e-33 (Effective Prestrain) +------------------------ +size of FiniteElementBasis: 13056 +q1=339.836 +q2=569.64 +q3=93.8373 +q12=24.5875 +q23=2.2993e-23 +q_onetwo=24.587478 +b1=3.012578 +b2=-0.761427 +b3=-0.000000 +mu_gamma=93.837320 +--------------------------------------------------------------------------------------------------------------------------------------- + Levels | q1 | q2 | q3 | q12 | q23 | b1 | b2 | b3 | +--------------------------------------------------------------------------------------------------------------------------------------- + 4 & 3.39836e+02 & 5.69640e+02 & 9.38373e+01 & 2.45875e+01 & 2.29930e-23 & 3.01258e+00 & -7.61427e-01 & -2.00301e-33 & +--------------------------------------------------------------------------------------------------------------------------------------- diff --git a/experiment/wood-bilayer/results/4/parameter.txt b/experiment/wood-bilayer/results/4/parameter.txt new file mode 100644 index 0000000000000000000000000000000000000000..391a2bf4441d18b9c73c1769757935cd7b532d0d --- /dev/null +++ b/experiment/wood-bilayer/results/4/parameter.txt @@ -0,0 +1,4 @@ +r = 0.22 +h = 0.0053 +omega_flat = 17.17547062 +omega_target = 11.09781471 diff --git a/experiment/wood-bilayer/results/5/BMatrix.txt b/experiment/wood-bilayer/results/5/BMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..8e6000c561b1e9160879813615e66c383d3a4565 --- /dev/null +++ b/experiment/wood-bilayer/results/5/BMatrix.txt @@ -0,0 +1,3 @@ +1 1 3.82701535427334427 +1 2 -0.999166807715384686 +1 3 1.36223980815737315e-34 diff --git a/experiment/wood-bilayer/results/5/QMatrix.txt b/experiment/wood-bilayer/results/5/QMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..c14621ce7edcdcf227bc739a1728218c374427db --- /dev/null +++ b/experiment/wood-bilayer/results/5/QMatrix.txt @@ -0,0 +1,9 @@ +1 1 355.98933444216442 +1 2 27.3425221293822105 +1 3 -1.18907213054497728e-24 +2 1 27.3425338419695017 +2 2 590.572959316512765 +2 3 1.55096364853692689e-25 +3 1 -1.32587679531366614e-33 +3 2 -1.39370368771301563e-33 +3 3 96.1397819755019469 diff --git a/experiment/wood-bilayer/results/5/output.txt b/experiment/wood-bilayer/results/5/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..f9656ea81e1bc6415356cef086d0543e77272649 --- /dev/null +++ b/experiment/wood-bilayer/results/5/output.txt @@ -0,0 +1,49 @@ +Number of Grid-Elements in each direction: [16,16,16] +Solver-type used: GMRES-Solver +---------- OUTPUT ---------- + -------------------- +Corrector-Matrix M_1: +-0.227431 4.59477e-27 0 +4.59477e-27 0.0135725 0 +0 0 0 + + -------------------- +Corrector-Matrix M_2: +-0.00336484 3.60248e-27 0 +3.60248e-27 0.109684 0 +0 0 0 + + -------------------- +Corrector-Matrix M_3: +0 0.0205697 0 +0.0205697 0 0 +0 0 0 + + -------------------- +--- Effective moduli --- +Qeff_: +355.989 27.3425 -1.18907e-24 +27.3425 590.573 1.55096e-25 +-1.32588e-33 -1.3937e-33 96.1398 + +------------------------ +--- Prestrain Output --- +Bhat_: 1335.06 -485.441 9.41494e-33 +Beff_: 3.82702 -0.999167 1.36224e-34 (Effective Prestrain) +------------------------ +size of FiniteElementBasis: 13056 +q1=355.989 +q2=590.573 +q3=96.1398 +q12=27.3425 +q23=1.55096e-25 +q_onetwo=27.342522 +b1=3.827015 +b2=-0.999167 +b3=0.000000 +mu_gamma=96.139782 +--------------------------------------------------------------------------------------------------------------------------------------- + Levels | q1 | q2 | q3 | q12 | q23 | b1 | b2 | b3 | +--------------------------------------------------------------------------------------------------------------------------------------- + 4 & 3.55989e+02 & 5.90573e+02 & 9.61398e+01 & 2.73425e+01 & 1.55096e-25 & 3.82702e+00 & -9.99167e-01 & 1.36224e-34 & +--------------------------------------------------------------------------------------------------------------------------------------- diff --git a/experiment/wood-bilayer/results/5/parameter.txt b/experiment/wood-bilayer/results/5/parameter.txt new file mode 100644 index 0000000000000000000000000000000000000000..861b07bc1e875136fb5095ba4ff5be4e8a86befe --- /dev/null +++ b/experiment/wood-bilayer/results/5/parameter.txt @@ -0,0 +1,4 @@ +r = 0.22 +h = 0.0053 +omega_flat = 17.17547062 +omega_target = 9.435795985 diff --git a/experiment/wood-bilayer/results/6/BMatrix.txt b/experiment/wood-bilayer/results/6/BMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..72e1ddee30cbc3c5a34b48c0a473833fd3c9d8fa --- /dev/null +++ b/experiment/wood-bilayer/results/6/BMatrix.txt @@ -0,0 +1,3 @@ +1 1 4.05964843125063535 +1 2 -1.06932937107897685 +1 3 5.63758516062832998e-32 diff --git a/experiment/wood-bilayer/results/6/QMatrix.txt b/experiment/wood-bilayer/results/6/QMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..b1b977427545c0b432e0a63598358aae380f6a49 --- /dev/null +++ b/experiment/wood-bilayer/results/6/QMatrix.txt @@ -0,0 +1,9 @@ +1 1 360.61715085991392 +1 2 28.1605370711061482 +1 3 -3.51551760335036762e-24 +2 1 28.1605407781263679 +2 2 596.590840822605628 +2 3 9.85508151674505628e-24 +3 1 -1.17988935076666896e-31 +3 2 -8.86266063963928227e-32 +3 3 96.7991406490075548 diff --git a/experiment/wood-bilayer/results/6/output.txt b/experiment/wood-bilayer/results/6/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..96a2e7ea964a16489e619d50de37b663bb5d8a2f --- /dev/null +++ b/experiment/wood-bilayer/results/6/output.txt @@ -0,0 +1,49 @@ +Number of Grid-Elements in each direction: [16,16,16] +Solver-type used: GMRES-Solver +---------- OUTPUT ---------- + -------------------- +Corrector-Matrix M_1: +-0.226924 7.72095e-26 0 +7.72095e-26 0.0137995 0 +0 0 0 + + -------------------- +Corrector-Matrix M_2: +-0.00344244 -2.16662e-27 0 +-2.16662e-27 0.109641 0 +0 0 0 + + -------------------- +Corrector-Matrix M_3: +0 0.0203866 0 +0.0203866 0 0 +0 0 0 + + -------------------- +--- Effective moduli --- +Qeff_: +360.617 28.1605 -3.51552e-24 +28.1605 596.591 9.85508e-24 +-1.17989e-31 -8.86266e-32 96.7991 + +------------------------ +--- Prestrain Output --- +Bhat_: 1433.87 -523.63 5.07291e-30 +Beff_: 4.05965 -1.06933 5.63759e-32 (Effective Prestrain) +------------------------ +size of FiniteElementBasis: 13056 +q1=360.617 +q2=596.591 +q3=96.7991 +q12=28.1605 +q23=9.85508e-24 +q_onetwo=28.160537 +b1=4.059648 +b2=-1.069329 +b3=0.000000 +mu_gamma=96.799141 +--------------------------------------------------------------------------------------------------------------------------------------- + Levels | q1 | q2 | q3 | q12 | q23 | b1 | b2 | b3 | +--------------------------------------------------------------------------------------------------------------------------------------- + 4 & 3.60617e+02 & 5.96591e+02 & 9.67991e+01 & 2.81605e+01 & 9.85508e-24 & 4.05965e+00 & -1.06933e+00 & 5.63759e-32 & +--------------------------------------------------------------------------------------------------------------------------------------- diff --git a/experiment/wood-bilayer/results/6/parameter.txt b/experiment/wood-bilayer/results/6/parameter.txt new file mode 100644 index 0000000000000000000000000000000000000000..4dc714627ad1059b77194447695b20aaa3a0c7c6 --- /dev/null +++ b/experiment/wood-bilayer/results/6/parameter.txt @@ -0,0 +1,4 @@ +r = 0.22 +h = 0.0053 +omega_flat = 17.17547062 +omega_target = 8.959564147 diff --git a/experiment/wood-bilayer/results/auswertung.py b/experiment/wood-bilayer/results/auswertung.py index 12e9fc7a2c88da4429613778cf6044c325abe1eb..204c9a3092a31baa2c617ec56ebd15120abc2695 100644 --- a/experiment/wood-bilayer/results/auswertung.py +++ b/experiment/wood-bilayer/results/auswertung.py @@ -1,12 +1,23 @@ import matplotlib.pyplot as plt +from matplotlib.ticker import StrMethodFormatter + omega=[ 14.72680026, 13.64338887, 12.41305478, 11.66482931, 11.09781471, 9.435795985, 8.959564147] kappa_sim=[1.20240481, 1.73346693, 2.3246493, 2.68537074, 2.95591182, 3.74749499, 3.97795591] kappa_exp=[ 1.058078122, 1.544624544, 2.317033799, 2.686043143, 2.967694189, 3.913528418, 4.262750825] -plt.scatter(omega,kappa_sim, label="simulation") -plt.scatter(omega, kappa_exp, marker='x', label="experiment") -plt.xlabel="target humidity" -plt.ylabel="curvature" + +# plotting a line plot after changing it's width and height +f = plt.figure() +f.set_figwidth(6) +f.set_figheight(3) +plt.gca().yaxis.set_major_formatter(StrMethodFormatter('{x:,.1f}')) # 2 decimal places +plt.gca().xaxis.set_major_formatter(StrMethodFormatter('{x:,.1f}')) # 2 decimal places +plt.scatter(omega, kappa_exp, marker='o', label="Experiment") +plt.scatter(omega, kappa_sim, marker='x', label="Simulation") +plt.xticks(omega) +plt.ylabel(r"curvature $\kappa$ (1/mm)") +plt.xlabel(r"wood moisture content $\omega$ (%)") +plt.legend() plt.show() diff --git a/experiment/wood-bilayer/results/kappa_simulation.txt b/experiment/wood-bilayer/results/kappa_simulation.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff67e05b0c99cbda8986d0dd7fef4a29c31f4feb --- /dev/null +++ b/experiment/wood-bilayer/results/kappa_simulation.txt @@ -0,0 +1,2 @@ +[1.20240481 1.73346693 2.3246493 2.68537074 2.95591182 3.74749499 + 3.97795591] \ No newline at end of file diff --git a/experiment/wood-bilayer/wood_european_beech.py b/experiment/wood-bilayer/wood_european_beech.py index 456cb0bc32f45d9ee75544674dcace081cd5248f..e30fd721460bc1356cfc3593ef5aaf23243c00d3 100644 --- a/experiment/wood-bilayer/wood_european_beech.py +++ b/experiment/wood-bilayer/wood_european_beech.py @@ -15,16 +15,20 @@ import elasticity_toolbox as elast #--- define indicator function # Parameters of the model -# -- ratio between upper layer / thickness, thickness [m] +# -- (thickness upper layer) / (thickness) param_r = 0.22 +# -- thickness [meter] param_h = 0.0053 -# -- moisture content in the flat state and target state [%] +# -- moisture content in the flat state [%] param_omega_flat = 17.17547062 +# -- moisture content in the target state [%] param_omega_target = 8.959564147 +# -- Drehwinkel (nicht implementiert) param_theta = 0 # # # +# -- increment of the moisture content delta_omega=param_omega_target-param_omega_flat # moisture content for material law omega=param_omega_target @@ -41,40 +45,31 @@ omega=param_omega_target properties_coefficients=np.array([ # [b_0, b_1] -[2565.6,-59.7], # E_R [MPa] -[885.4, -23.4], # E_T [MPa] -[17136.7,-282.4], # E_L [MPa] -[667.8, -15.19], # G_RT [MPa] -[1482, -15.26], # G_RL [MPa] -[1100, -17.72], # G_TL [MPa] -[0.2933, -0.001012], # nu_TR [1] -[0.383, -0.008722], # nu_LR [1] -[0.3368, -0.009071] # nu_LT [1] -]) -# Compute actual properties -#E_R=1500 + [2565.6,-59.7], # E_R [MPa] + [885.4, -23.4], # E_T [MPa] + [17136.7,-282.4], # E_L [MPa] + [667.8, -15.19], # G_RT [MPa] + [1482, -15.26], # G_RL [MPa] + [1100, -17.72], # G_TL [MPa] + [0.2933, -0.001012], # nu_TR [1] + [0.383, -0.008722], # nu_LR [1] + [0.3368, -0.009071] # nu_LT [1] + ]) +# Compute actual material properties E_R = properties_coefficients[0,0]+properties_coefficients[0,1]*omega -# E_T=450 E_T = properties_coefficients[1,0]+properties_coefficients[1,1]*omega -#E_L=12000 E_L = properties_coefficients[2,0]+properties_coefficients[2,1]*omega -# G_RT=400 G_RT = properties_coefficients[3,0]+properties_coefficients[3,1]*omega -# G_RL=1200 G_LR = properties_coefficients[4,0]+properties_coefficients[4,1]*omega -# G_TL=800 G_LT = properties_coefficients[5,0]+properties_coefficients[5,1]*omega -# nu_TR=0.28 nu_TR = properties_coefficients[6,0]+properties_coefficients[6,1]*omega -# nu_LR=0.2125 nu_LR = properties_coefficients[7,0]+properties_coefficients[7,1]*omega -# nu_LT=0.175 nu_LT = properties_coefficients[8,0]+properties_coefficients[8,1]*omega -# +# Compute the remaining Poisson ratios nu_TL=nu_LT*E_T/E_L nu_RT=nu_TR*E_R/E_T nu_RL=nu_LR*E_R/E_L - +# # --- differential swelling strain # --- relation to swelling strain eps: eps=alpha* delta_omega with delta_omega = change of water content in % alpha_L=0.00011 # PLOS paper @@ -114,7 +109,9 @@ compliance_S=np.array([[1/E_1, -nu_21/E_2, -nu_31/E_3, 0.0, [0.0, 0.0, 0.0, 0.0, 1/G_31, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1/G_12]]); materialParameters_phase1 = compliance_S + def prestrain_phase1(x): + # hB=delta_omega * alpha with delta_omega increment of moisture content and alpha swelling factor. return [[1/param_h*delta_omega*alpha_L, 0, 0], [0,1/param_h*delta_omega*alpha_T,0], [0,0,1/param_h*delta_omega*alpha_R]] # --- PHASE 2 @@ -133,8 +130,6 @@ compliance_S=np.array([[1/E_1, -nu_21/E_2, -nu_31/E_3, 0.0, [0.0, 0.0, 0.0, 0.0, 1/G_31, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 1/G_12]]); materialParameters_phase2 = compliance_S -#phase2_type="orthotropic" -#materialParameters_phase2 = [E_R, E_L, E_T,G_RL, G_TL, G_RT,nu_LR, nu_TR,nu_LT] def prestrain_phase2(x): return [[1/param_h*delta_omega*alpha_R, 0, 0], [0,1/param_h*delta_omega*alpha_L,0], [0,0,1/param_h*delta_omega*alpha_T]] @@ -149,4 +144,4 @@ materialParameters_phase3 = np.dot(np.dot(N,materialParameters_phase1),N.T) materialParameters_phase3 = 0.5*(materialParameters_phase3.T+materialParameters_phase3) # rotation of strain def prestrain_phase3(x): - return elast.voigt_to_strain(np.dot(elast.rotation_matrix_compliance(2,param_theta),np.dot(elast.strain_to_voigt(np.array(prestrain_phase1(x))),N.T))).tolist() + return elast.voigt_to_strain(np.dot(elast.rotation_matrix_compliance(2,param_theta),np.dot(elast.strain_to_voigt(np.array(prestrain_phase1(x))),N.T))).tolist() \ No newline at end of file diff --git a/experiment/wood-bilayer/wood_test.py b/experiment/wood-bilayer/wood_test.py index 56a48fd0d4126f0f8c38739f820ef1121bb6e2a2..b8194e49b9279cd5414045798af587577cbdcd48 100644 --- a/experiment/wood-bilayer/wood_test.py +++ b/experiment/wood-bilayer/wood_test.py @@ -113,6 +113,13 @@ ParameterSet.numLevels=4 # ----- Define Parameters for Material Function -------------------- # [r, h, omega_flat, omega_target, theta, experimental_kappa] +# r = (thickness upper layer)/(thickness) +# h = thickness [meter] +# omega_flat = moisture content in the flat state before drying [%] +# omega_target = moisture content in the target state [%] +# theta = rotation angle (not implemented and used) +# experimental_kappa = curvature measure in experiment +# materialFunctionParameter=[ [0.22, 0.0053, 17.17547062, 14.72680026, 0, 1.058078122], [0.22, 0.0053, 17.17547062, 13.64338887, 0, 1.544624544], @@ -122,11 +129,6 @@ materialFunctionParameter=[ [0.22, 0.0053, 17.17547062, 9.435795985, 0, 3.913528418], [0.22, 0.0053, 17.17547062, 8.959564147, 0, 4.262750825] ] -# materialFunctionParameter=[ -# [0.22, 0.0053, 17.17547062, 8.959564147, 0, 4.262750825], -# [0.22, 0.0053, 17.17547062, 8.959564147, np.pi/2, 4.262750825] -# ] - # ------ Loops through Parameters for Material Function ----------- for i in range(0,np.shape(materialFunctionParameter)[0]): print("------------------")