Stiffness matrix should not have negative elements along the diagonal. Other than that, I believe there can be negative terms in the matrix. Check the results given in the PBC documentation.
I also met a similar problem when using the script to calculate the effective properties of SUBC. For my case, my stiffness matrix and compliance matrix is not correct. I found it is the issue of the print format in the script. You can check whether can you get the correct Effective properties. If you can get the correct properties, you can ignore this issue and use the effective properties to reconstruct the compliance and stiffness matrix.
Yes. I changed it to BC = SBCS. But got the error "unknown format code 'f' for object of type str". I tried to directly print the stiffness and compliance matrix, and I got correct one.
I have a follow up to this discussion. For my displacement BC and periodic BC I have ~0 for my poisson's ratios. I've checked my mesh, BC assignments, I've even tried different attempts and all result in nonsense poisson ratios. The rest of the values (like E) are fine. The traction BC case results in poisson ratios that are fine.
Has anyone else been running into this problem? Anyone have an idea on how to fix this?
I really appreciate any help.
Thanks,
Imad
PS: I know that this is because my compliance matrix has diagonal terms only, all others 0, but I don't know why this is happening.
Did you use the script to calculate effective properties? If you used the one provided by Bo in this problem. You can check have you changed the BC ="KUBC".
I'm actually using the original script that Bo provided. However with either script (and making sure I choose KUBC) I end up with 0 for poisson ratios.
Basically the two versions are based on the same equations. You may want to use the new version, which is much more concise and also work for SUBC. If you find slight anti-symmetric part in the effective stiffness matrix, usually it is because that the mesh is not totally symmetric. You can get rid of this anti-symmetric part using average.
Thanks for the response. My concerns are not regarding anti-symmetric properties of the matrix. My issue is that the stiffness matrices have only diagonal terms. Please see the attached image, perhaps this will give you an idea of what I may need to do in my model to fix this?
Any idea or comment that you have would be really helpful, I honestly have no clue what to try next. I've double and triple checked my BC's and my mesh. I'm sure I'm missing something but I don't know what it is.
Were you able to resolve the issue of having zeroes in your stiffness matrix for KUBC? I guess it is a problem with your boundary conditions as suggested by Bo.
Do you still have the same results for C11 in the case of KUBC?
Thanks for all the advice and the suggestions. The problem was indeed with my boundary conditions for the cases of e_11, e_22, and e_33. I realized this when I compared the boundary conditions Bo provided in the above script with my boundary conditions. I applied, for example in the e_11 case, displacement in the 1 direction, but I did not fix the displacements in the 2 and 3 directions (and similarly for the PBC, I did not set the displacements of reference points 2 and 3 to 0). Upon fixing those boundary conditions, it now works and I get values for nu that are not 0.
Lohit, my C11 value changed slightly, it's now 169.6810.
Thanks again for all your comments and suggestions.
-Imad
Akanksha Parmar @ on
Hi everyone,
I have applied the displacement boundary conditions for KUBC and traction boundary conditions for SUBC and I have checked them over and over again.
I have also meshed the model properly.
But when I run the python script, I end up with negative terms in stiffness matrix which is asymmetric.
Any suggestions on where I might be going wrong?
Thanks,
Akanksha.
Report abuse
Lohit Gudivada @ on
Hi Akanksha,
Stiffness matrix should not have negative elements along the diagonal. Other than that, I believe there can be negative terms in the matrix. Check the results given in the PBC documentation.
Report abuse
Fei Tao @ on
Hi Akanksha,
I also met a similar problem when using the script to calculate the effective properties of SUBC. For my case, my stiffness matrix and compliance matrix is not correct. I found it is the issue of the print format in the script. You can check whether can you get the correct Effective properties. If you can get the correct properties, you can ignore this issue and use the effective properties to reconstruct the compliance and stiffness matrix.
Best,
Fei
Report abuse
Bo Peng @ on
Please note that the 2nd script in the attachment needs to be revised so that it works for SUBC.
Report abuse
Fei Tao @ on
Yes. I changed it to BC = SBCS. But got the error "unknown format code 'f' for object of type str". I tried to directly print the stiffness and compliance matrix, and I got correct one.
Report abuse
Bo Peng @ on
Try to use the attached script for calculating effective properties of SUBC.
Deff.py
8 KBClick to download
Report abuse
Bo Peng @ on
Fei, I think you are using a new version. The error you met can be revised by simply change the .f to other format such as .s. Try it.
Report abuse
Bo Peng @ on
Fei, I think you are using a new version. The error you met can be revised by simply change the .f to other format such as .s. Try it.
Report abuse
Fei Tao @ on
This one works perfect! Thank you!
Report abuse
Fei Tao @ on
Yes. I tried to change it to .s. It also works! Thank you for your time.
Report abuse
Imad Hanhan @ on — Edited @ @ on
Hi everyone,
I have a follow up to this discussion. For my displacement BC and periodic BC I have ~0 for my poisson's ratios. I've checked my mesh, BC assignments, I've even tried different attempts and all result in nonsense poisson ratios. The rest of the values (like E) are fine. The traction BC case results in poisson ratios that are fine.
Has anyone else been running into this problem? Anyone have an idea on how to fix this?
I really appreciate any help.
Thanks,
Imad
PS: I know that this is because my compliance matrix has diagonal terms only, all others 0, but I don't know why this is happening.
Report abuse
Fei Tao @ on
Hi Imad,
Did you use the script to calculate effective properties? If you used the one provided by Bo in this problem. You can check have you changed the BC ="KUBC".
Best,
Fei
Report abuse
Imad Hanhan @ on — Edited @ @ on
Hi Fei,
I'm actually using the original script that Bo provided. However with either script (and making sure I choose KUBC) I end up with 0 for poisson ratios.
Do you have any other suggestions?
Thanks,
Imad
Report abuse
Bo Peng @ on
Basically the two versions are based on the same equations. You may want to use the new version, which is much more concise and also work for SUBC. If you find slight anti-symmetric part in the effective stiffness matrix, usually it is because that the mesh is not totally symmetric. You can get rid of this anti-symmetric part using average.
Report abuse
Imad Hanhan @ on
Bo,
Thanks for the response. My concerns are not regarding anti-symmetric properties of the matrix. My issue is that the stiffness matrices have only diagonal terms. Please see the attached image, perhaps this will give you an idea of what I may need to do in my model to fix this?
Any idea or comment that you have would be really helpful, I honestly have no clue what to try next. I've double and triple checked my BC's and my mesh. I'm sure I'm missing something but I don't know what it is.
Thanks,
Imad
Report abuse
Bo Peng @ on
Interesting, I have never met this before. Can you check your surfaces definition?
And try to use this script to define the applied strain to see if you still have the problem.
Set6StepBCsfor3ReferencePoint.py
4 KBClick to download
Report abuse
Lohit Gudivada @ on
Hi Imad,
Were you able to resolve the issue of having zeroes in your stiffness matrix for KUBC? I guess it is a problem with your boundary conditions as suggested by Bo.
Do you still have the same results for C11 in the case of KUBC?
Report abuse
Kunal Samel @ on
Imad,
are your nu's zero, it seems we would get your stiffness matrix if hte nus were coming out 0
Report abuse
Imad Hanhan @ on
Hi all,
Thanks for all the advice and the suggestions. The problem was indeed with my boundary conditions for the cases of e_11, e_22, and e_33. I realized this when I compared the boundary conditions Bo provided in the above script with my boundary conditions. I applied, for example in the e_11 case, displacement in the 1 direction, but I did not fix the displacements in the 2 and 3 directions (and similarly for the PBC, I did not set the displacements of reference points 2 and 3 to 0). Upon fixing those boundary conditions, it now works and I get values for nu that are not 0.
Lohit, my C11 value changed slightly, it's now 169.6810.
Thanks again for all your comments and suggestions.
-Imad
Report abuse