FEAP User Forum
FEAP => FE^2 => Topic started by: jezdagst on March 21, 2019, 02:51:08 AM
-
Dear Prof. Taylor,
I want to solve a problem in FE2, where the microstructure includes different materials at different inclusions then the averaged components per each material, as well, should be returned to the macrostructure at each Gauss point.
I'm not sure whether 'Hill' command should be used at all in my input file, and if not, how are the averages computed at the microstructure? Therefore, I'm adding here my input file for your check, please?
Best regards
Ghina
-
First, the hill, read command is for the serial version so will cause unknown results when used with FE2.
I am not clear on what you want to do. The FE2 program will solve the same RVE you name at every Gauss point. We do pass a parameter 'opar(3)' with the strains and it could be used to modify the constituents in some simple way, however, you would need to code what you want it to do. In the past we have used it to orient a material for each RVE to account for layout in the macro-scale problem.
Currently, also the program only averages over the RVE as this is the data needed by the macro-scale problem. Can you explain in detail if you want something else too?
-
Note it is possible to use multiple RVEs in a single computation. To do so, define multiple materials in your macro problem, each with its own RVE Input file.
-
Also be sure you use enough processors np > no. different RVE's + 1 for the macro-scale problem
-
Dears,
Many thanks for your replies, I have RVE with 3 different materials describing the microstructure and as long as averaging is needed for the materials and for the whole microstructure to return the values to the macrostructure I though Hill command is needed, but you made the idea clear that Hill doesn't fit here.
Then I don't have three different materials at the macrostructure but at each point of the macrostructure, I have a composite with three different materials at the microstructure. This is why I attach the revised input file and the IRVE file for your check, would the implementation run correctly this way or do I have errors, on the other hand, do the resulting macro stresses include material averaging (using the built-in function) or should I change anything to include it. Regarding the number of processors, I'm already using 'mpiexec -n 5'.
I already started testing the attached files and at the 17th time step the residual became suddenly too large and then the computations were interrupted, please advise?
I can't attach O file, it's too large, but here is the error:
Energy convergence test
Initial = 2.215975269886001E-06 Current = 3.525300453044647E-09
Relative = 1.590857308270414E-03 Tolerance = 1.000000000000000E-16
*Command 8 * next v: 2.00 7.00 2.00
t= 4838.95 0.00
*Command 7 * tang v: 1.00 0.00 0.00
t= 4838.95 0.00
>>>>> PARDISO for symmetric indefinite matrices activated.
Compressed Storage = 65186 t= 4838.95 0.00
ERROR: RVE = 219 PROCESSOR = 2 POINT 874
NUMBER = 1.0000E+00
ERROR: RVE = 220 PROCESSOR = 2 POINT 878
NUMBER = 1.0000E+00
ERROR: RVE = 261 PROCESSOR = 3 POINT 1043
NUMBER = 1.0000E+00
ERROR: RVE = 262 PROCESSOR = 3 POINT 1047
NUMBER = 1.0000E+00
ERROR: RVE = 263 PROCESSOR = 3 POINT 1051
NUMBER = 1.0000E+00
ERROR: RVE = 264 PROCESSOR = 3 POINT 1055
NUMBER = 1.0000E+00
ERROR: RVE = 657 PROCESSOR = 4 POINT 2628
NUMBER = 1.0000E+00
ERROR: RVE = 658 PROCESSOR = 4 POINT 2632
NUMBER = 1.0000E+00
ERROR: RVE = 659 PROCESSOR = 3 POINT 2635
NUMBER = 1.0000E+00
ERROR: RVE = 659 PROCESSOR = 4 POINT 2636
NUMBER = 1.0000E+00
ERROR: RVE = 660 PROCESSOR = 3 POINT 2639
NUMBER = 1.0000E+00
ERROR: RVE = 660 PROCESSOR = 4 POINT 2640
NUMBER = 1.0000E+00
Residual norm = 1.5986429E+20 7.2675826E+21 t= 4951.71 0.00
End USOLVE Solution Step t= 4951.72 0.00
Energy convergence test
Initial = 2.215975269886001E-06 Current = 3.091847750087867E+39
Relative = 1.395253725122539E+45 Tolerance = 1.000000000000000E-16
*Command 8 * next v: 3.00 7.00 3.00
t= 4951.72 0.00
*Command 7 * tang v: 1.00 0.00 0.00
t= 4951.72 0.00
>>>>> PARDISO for symmetric indefinite matrices activated.
Compressed Storage = 65186 t= 4951.72 0.00
ERROR: RVE = 1 PROCESSOR = 1 POINT 1
NUMBER = 1.0000E+00
ERROR: RVE = 1 PROCESSOR = 2 POINT 2
NUMBER = 1.0000E+00
ERROR: RVE = 1 PROCESSOR = 3 POINT 3
NUMBER = 1.0000E+00
ERROR: RVE = 1 PROCESSOR = 4 POINT 4
NUMBER = 1.0000E+00
ERROR: RVE = 2 PROCESSOR = 1 POINT 5
NUMBER = 1.0000E+00
ERROR: RVE = 2 PROCESSOR = 2 POINT 6
NUMBER = 1.0000E+00
ERROR: RVE = 2 PROCESSOR = 3 POINT 7
NUMBER = 1.0000E+00
ERROR: RVE = 2 PROCESSOR = 4 POINT 8
NUMBER = 1.0000E+00
ERROR: RVE = 3 PROCESSOR = 1 POINT 9
NUMBER = 1.0000E+00
ERROR: RVE = 3 PROCESSOR = 2 POINT 10
NUMBER = 1.0000E+00
ERROR: RVE = 3 PROCESSOR = 3 POINT 11
NUMBER = 1.0000E+00
ERROR: RVE = 3 PROCESSOR = 4 POINT 12
NUMBER = 1.0000E+00
ERROR: RVE = 4 PROCESSOR = 1 POINT 13
NUMBER = 1.0000E+00
ERROR: RVE = 4 PROCESSOR = 2 POINT 14
NUMBER = 1.0000E+00
ERROR: RVE = 4 PROCESSOR = 3 POINT 15
NUMBER = 1.0000E+00
ERROR: RVE = 4 PROCESSOR = 4 POINT 16
NUMBER = 1.0000E+00
ERROR: RVE = 5 PROCESSOR = 1 POINT 17
NUMBER = 1.0000E+00
ERROR: RVE = 5 PROCESSOR = 2 POINT 18
NUMBER = 1.0000E+00
ERROR: RVE = 5 PROCESSOR = 3 POINT 19
NUMBER = 1.0000E+00
ERROR: RVE = 5 PROCESSOR = 4 POINT 20
NUMBER = 1.0000E+00
ERROR: RVE = 6 PROCESSOR = 1 POINT 21
NUMBER = 1.0000E+00
ERROR: RVE = 6 PROCESSOR = 2 POINT 22
NUMBER = 1.0000E+00
ERROR: RVE = 6 PROCESSOR = 3 POINT 23
NUMBER = 1.0000E+00
ERROR: RVE = 6 PROCESSOR = 4 POINT 24
NUMBER = 1.0000E+00
ERROR: RVE = 7 PROCESSOR = 1 POINT 25
NUMBER = 1.0000E+00
ERROR: RVE = 7 PROCESSOR = 2 POINT 26
NUMBER = 1.0000E+00
ERROR: RVE = 7 PROCESSOR = 3 POINT 27
NUMBER = 1.0000E+00
ERROR: RVE = 7 PROCESSOR = 4 POINT 28
NUMBER = 1.0000E+00
ERROR: RVE = 8 PROCESSOR = 1 POINT 29
NUMBER = 1.0000E+00
ERROR: RVE = 8 PROCESSOR = 2 POINT 30
NUMBER = 1.0000E+00
ERROR: RVE = 8 PROCESSOR = 3 POINT 31
NUMBER = 1.0000E+00
ERROR: RVE = 8 PROCESSOR = 4 POINT 32
NUMBER = 1.0000E+00
ERROR: RVE = 9 PROCESSOR = 1 POINT 33
NUMBER = 1.0000E+00
ERROR: RVE = 9 PROCESSOR = 2 POINT 34
NUMBER = 1.0000E+00
ERROR: RVE = 9 PROCESSOR = 3 POINT 35
NUMBER = 1.0000E+00
ERROR: RVE = 9 PROCESSOR = 4 POINT 36
NUMBER = 1.0000E+00
ERROR: RVE = 10 PROCESSOR = 1 POINT 37
NUMBER = 1.0000E+00
ERROR: RVE = 10 PROCESSOR = 2 POINT 38
NUMBER = 1.0000E+00
ERROR: RVE = 10 PROCESSOR = 3 POINT 39
NUMBER = 1.0000E+00
ERROR: RVE = 10 PROCESSOR = 4 POINT 40
NUMBER = 1.0000E+00
ERROR: RVE = 11 PROCESSOR = 1 POINT 41
NUMBER = 1.0000E+00
ERROR: RVE = 11 PROCESSOR = 2 POINT 42
NUMBER = 1.0000E+00
ERROR: RVE = 11 PROCESSOR = 3 POINT 43
NUMBER = 1.0000E+00
ERROR: RVE = 11 PROCESSOR = 4 POINT 44
NUMBER = 1.0000E+00
ERROR: RVE = 12 PROCESSOR = 1 POINT 45
NUMBER = 1.0000E+00
ERROR: RVE = 12 PROCESSOR = 2 POINT 46
NUMBER = 1.0000E+00
ERROR: RVE = 12 PROCESSOR = 3 POINT 47
NUMBER = 1.0000E+00
ERROR: RVE = 12 PROCESSOR = 4 POINT 48
NUMBER = 1.0000E+00
ERROR: RVE = 13 PROCESSOR = 1 POINT 49
NUMBER = 1.0000E+00
ERROR: RVE = 13 PROCESSOR = 2 POINT 50
NUMBER = 1.0000E+00
ERROR: RVE = 13 PROCESSOR = 3 POINT 51
NUMBER = 1.0000E+00
ERROR: RVE = 13 PROCESSOR = 4 POINT 52
NUMBER = 1.0000E+00
ERROR: RVE = 14 PROCESSOR = 1 POINT 53
NUMBER = 1.0000E+00
ERROR: RVE = 14 PROCESSOR = 2 POINT 54
NUMBER = 1.0000E+00
ERROR: RVE = 14 PROCESSOR = 3 POINT 55
NUMBER = 1.0000E+00
ERROR: RVE = 14 PROCESSOR = 4 POINT 56
NUMBER = 1.0000E+00
ERROR: RVE = 15 PROCESSOR = 1 POINT 57
NUMBER = 1.0000E+00
ERROR: RVE = 15 PROCESSOR = 2 POINT 58
NUMBER = 1.0000E+00
ERROR: RVE = 15 PROCESSOR = 3 POINT 59
NUMBER = 1.0000E+00
ERROR: RVE = 15 PROCESSOR = 4 POINT 60
NUMBER = 1.0000E+00
ERROR: RVE = 16 PROCESSOR = 1 POINT 61
NUMBER = 1.0000E+00
ERROR: RVE = 16 PROCESSOR = 2 POINT 62
NUMBER = 1.0000E+00
ERROR: RVE = 16 PROCESSOR = 3 POINT 63
NUMBER = 1.0000E+00
ERROR: RVE = 16 PROCESSOR = 4 POINT 64
NUMBER = 1.0000E+00
ERROR: RVE = 17 PROCESSOR = 1 POINT 65
NUMBER = 1.0000E+00
ERROR: RVE = 17 PROCESSOR = 2 POINT 66
NUMBER = 1.0000E+00
ERROR: RVE = 17 PROCESSOR = 3 POINT 67
NUMBER = 1.0000E+00
ERROR: RVE = 17 PROCESSOR = 4 POINT 68
NUMBER = 1.0000E+00
ERROR: RVE = 18 PROCESSOR = 1 POINT 69
NUMBER = 1.0000E+00
ERROR: RVE = 18 PROCESSOR = 2 POINT 70
NUMBER = 1.0000E+00
ERROR: RVE = 18 PROCESSOR = 3 POINT 71
NUMBER = 1.0000E+00
ERROR: RVE = 18 PROCESSOR = 4 POINT 72
NUMBER = 1.0000E+00
ERROR: RVE = 19 PROCESSOR = 1 POINT 73
NUMBER = 1.0000E+00
ERROR: RVE = 19 PROCESSOR = 2 POINT 74
NUMBER = 1.0000E+00
ERROR: RVE = 19 PROCESSOR = 3 POINT 75
NUMBER = 1.0000E+00
ERROR: RVE = 19 PROCESSOR = 4 POINT 76
NUMBER = 1.0000E+00
ERROR: RVE = 20 PROCESSOR = 1 POINT 77
NUMBER = 1.0000E+00
ERROR: RVE = 20 PROCESSOR = 2 POINT 78
NUMBER = 1.0000E+00
ERROR: RVE = 20 PROCESSOR = 3 POINT 79
NUMBER = 1.0000E+00
ERROR: RVE = 20 PROCESSOR = 4 POINT 80
NUMBER = 1.0000E+00
ERROR: RVE = 21 PROCESSOR = 1 POINT 81
NUMBER = 1.0000E+00
ERROR: RVE = 21 PROCESSOR = 2 POINT 82
NUMBER = 1.0000E+00
ERROR: RVE = 21 PROCESSOR = 3 POINT 83
NUMBER = 1.0000E+00
ERROR: RVE = 21 PROCESSOR = 4 POINT 84
NUMBER = 1.0000E+00
ERROR: RVE = 22 PROCESSOR = 1 POINT 85
NUMBER = 1.0000E+00
ERROR: RVE = 22 PROCESSOR = 2 POINT 86
NUMBER = 1.0000E+00
ERROR: RVE = 22 PROCESSOR = 3 POINT 87
NUMBER = 1.0000E+00
ERROR: RVE = 22 PROCESSOR = 4 POINT 88
NUMBER = 1.0000E+00
ERROR: RVE = 23 PROCESSOR = 1 POINT 89
NUMBER = 1.0000E+00
-
It appears that you have set up the problem correctly, however, the error message is telling you that the RVE solution is not converged. Since you have plasticity with no hardening it is probable that the limit load has been reached. I would suggest adding some hardening to see if the problem behaves better.
The only error in the original input file was the "hill read" -- also increasing the solution tolerance could cause the program to fail by not achieving such a low tolerance.
-
Many thanks for your check Prof. Taylor,
I also tried to test the problem using the same inputs used previously at macro and micro structures but with only one single material, which is the first material, and everything went fine without interruption. And if we consider that this material has the least yield limit so it will be the first one to yield in the case of the composite, but still for single material didn't cause any error. Do you still thing that adding hardening would solve the problem, or even reducing the load.
Regards
Ghina
-
Yes, because the stress will be higher for same strains
-
Many thanks Prof. Taylor,
I'll test it.
Regards
-
Dear prof. Taylor,
Now the model is working adequately after I added hardening according to your suggestion, but the question now, I'm trying to write the plastic strains for specific elements using 'tplot' command, as shown in the input file attached. According to the manual for a general case, number 4 refers to the first component of the plastic strains, isn't it? I'm not sure whether I'm writing this correctly, I doubt it! As in the history data attached, the values of the plastic strains started to appear from the first time step and are not equal to zero although the first couple of steps are elastic ones, additionally, I'm giving two element numbers which are 551 & 110, where I want to check the values of the plastic strain, and they turned out to be the same, I don't think this is correct. The computations are still running, this is why the history file is not completed.
Best Regards
Ghina
-
When you use an RVE for the constitution all you get back is the stress and the tangent moduii -- there are no internal variable (e.g., plastic strain) history variables associated to the RVE. In an RVE simulation we store the stresses as "history" type variables, thus if you ask for one all you really get is one of the stress components.
-
Many thanks. It's good to know.