diff --git a/geometries/material_neukamm.py b/geometries/material_neukamm.py index d513ae98cf742dd47d31d1a6d0e0d4945d1864f1..ae706749b9ebdaea55d76c3f4aacd1b5a5cf590c 100644 --- a/geometries/material_neukamm.py +++ b/geometries/material_neukamm.py @@ -7,10 +7,11 @@ import math # x[2] : x3-component def f(x): theta=0.25 + factor=0.8 # --- replace with your definition of indicatorFunction: if ((abs(x[0]) < theta/2) and x[2]<-1/2+theta): return 1 #Phase1 - elif ((abs(x[1]) < theta/2) and x[2]>1/2-theta): + elif ((abs(x[1]) < factor*theta/2) and x[2]>1/2-theta): return 1 #Phase1 else : return 0 #Phase2 diff --git a/microstructure_testsuite/plot.py b/microstructure_testsuite/plot.py index ca3535106872c52c3f5831051bb29c9890e79dee..b05ba650864b63a1842ff2b1e641a717912f18ca 100644 --- a/microstructure_testsuite/plot.py +++ b/microstructure_testsuite/plot.py @@ -54,8 +54,8 @@ elif case==-1: # Read from outputs # # -length=.05 -N=300 +length=0.05 +N=200 h=length/N E=np.zeros([N,N]) X=np.zeros([N,N]) @@ -67,7 +67,7 @@ for i in range(0,N): X[i,j]=(i-N/2)*h Y[i,j]=(j-N/2)*h K=xytokappaalpha(x,y) - E[i,j]=energy(K[0],K[1],Q,B) # N-1-j damit die x,y Axen stimmen + E[i,j]=energy(K[0],K[1],Q,B) fig = plt.figure(figsize=(7,6)) ax = plt.gca() diff --git a/outputs/Results/2/BMatrix.txt b/outputs/Results/2/BMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..0fb3c029f0d5b544c5143e50eba13984d5eafcb9 --- /dev/null +++ b/outputs/Results/2/BMatrix.txt @@ -0,0 +1,3 @@ +1 1 -0.0144287202371896055 +1 2 0.014428690223795131 +1 3 -2.0320334857961725e-11 diff --git a/outputs/Results/2/QMatrix.txt b/outputs/Results/2/QMatrix.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d8813d5e9119a8465e30a2c344c65f631f07469 --- /dev/null +++ b/outputs/Results/2/QMatrix.txt @@ -0,0 +1,9 @@ +1 1 12.4813265250416485 +1 2 2.0831795458888962 +1 3 3.83811740666402797e-10 +2 1 2.0831795513179836 +2 2 12.481326525238547 +2 3 1.78942192122814843e-10 +3 1 -6.40561063029264521e-10 +3 2 -1.00945173229121783e-09 +3 3 10.3922965257922275 diff --git a/outputs/Results/2/output.txt b/outputs/Results/2/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..215cb327a77feb1fa2f8aaf6bc22fd0475dcbd10 --- /dev/null +++ b/outputs/Results/2/output.txt @@ -0,0 +1,61 @@ +material_prestrain used: material_neukamm +----- Input Parameters -----: +alpha: 8 +gamma: 1 +theta: 0.25 +beta: 3 +material parameters: +mu1: 1 +mu2: 3 +lambda1: 1 +lambda2: 3 +----------------------------: +Number of Elements in each direction: [4,4,4] +size of FiniteElementBasis: 240 +Solver-type used: CG-Solver +---------- OUTPUT ---------- + -------------------- +Corrector-Matrix M_1: +-0.00922212 -2.49142e-10 0 +-2.49142e-10 -0.00494017 0 +0 0 0 + + -------------------- +Corrector-Matrix M_2: +0.00494016 -2.03726e-10 0 +-2.03726e-10 0.00922211 0 +0 0 0 + + -------------------- +Corrector-Matrix M_3: +1.90697e-10 -4.74653e-11 0 +-4.74653e-11 1.93256e-10 0 +0 0 0 + + -------------------- +Effective Matrix Q: +12.4813 2.08318 3.83812e-10 +2.08318 12.4813 1.78942e-10 +-6.40561e-10 -1.00945e-09 10.3923 + +--- Prestrain Output --- +B_hat: -0.150032 0.150032 -2.16498e-10 +B_eff: -0.0144287 0.0144287 -2.03203e-11 (Effective Prestrain) +------------------------ +q1=12.4813 +q2=12.4813 +q3=10.3923 +q12=2.08318 +b1=-0.0144287 +b2=0.0144287 +b3=-2.03203e-11 +b1_hat: -0.150032 +b2_hat: 0.150032 +b3_hat: -2.16498e-10 +mu_gamma=10.3923 +q_onetwo=2.083180 +--------------------------------------------------------------------------------------------------------- + Levels | q1 | q2 | q3 | b1 | b2 | b3 | +--------------------------------------------------------------------------------------------------------- + 2 & 1.24813e+01 & 1.24813e+01 & 1.03923e+01 & -1.44287e-02 & 1.44287e-02 & -2.03203e-11 & +--------------------------------------------------------------------------------------------------------- diff --git a/outputs/Results/2/parameter b/outputs/Results/2/parameter new file mode 100644 index 0000000000000000000000000000000000000000..10f37df11b185156e8436f398c69120c201e6701 --- /dev/null +++ b/outputs/Results/2/parameter @@ -0,0 +1,15 @@ +mu=80 60 +lambda=80 25 +rho=1.0 0 + +def f(x): + theta=0.25 + factor=0.8 + # --- replace with your definition of indicatorFunction: + if ((abs(x[0]) < theta/2) and x[2]<-1/2+theta): + return 1 #Phase1 + elif ((abs(x[1]) < factor*theta/2) and x[2]>1/2-theta): + return 1 #Phase1 + else : + return 0 #Phase2 +