I want to extract the angle of ply or layer of laminate orientation and it's related stress respectively, to optimize the stacking sequence of ply angles.
please help me to solve this problem.
with best regards
If using this toolbox for research or industrial purposes, please cite:
Advances in Engineering Software. Vol 105. March 2017. Pages 9-16. (2017)
Hello Shery Tomy,
Thank you for your interest in Abaqus2Matlab software and apologies for the late reply to your inquiry.
Regarding the extraction of the orientation angles of plies or layers of laminates and other related properties, you can execute a Python code in Abaqus/CAE or Abaqus/Viewer similar to the following:
import os from odbAccess import * from abaqusConstants import * SectionFile=open('sectionDef.dat','w') odb1 = openOdb(path='yourOdbFile.odb', readOnly=True) allSections = odb1.sections for mySection in allSections.values(): SectionFile.write('Section Type : '+str(type(mySection))+'\n') SectionFile.write('Section Name : '+mySection.name+'\n') try: SectionFile.write('Section Layup Name : '+mySection.layupName+'\n') for k in mySection.layup: SectionFile.write(str(k.additionalRotationField)+', ') SectionFile.write(str(k.additionalRotationType)+', ') SectionFile.write(str(k.angle)+', ') SectionFile.write(str(k.axis)+', ') SectionFile.write(str(k.material)+', ') SectionFile.write(str(k.numIntPts)+', ') SectionFile.write(str(k.orientAngle)+', ') SectionFile.write(str(k.orientation)+', ') SectionFile.write(str(k.plyName)+', ') SectionFile.write(str(k.thickness)+'\n') except: SectionFile.write('\n') odb1.close() SectionFile.close()
This code actually processes the odb file with name "yourOdbFile.odb" and generates a txt file named sectionDef.dat. The latter contains all the information that you have requested. I send you the above code attached to this post, in case that you have difficulties in processing it.
Regarding the extraction of stresses, the way is much more straightforward and easy. Please check the Abaqus2Matlab function readElementFieldOdb.m that can be found in its libraries. The Abaqus2Matlab documentation provides full information about how to use this function. Anyway, if you have problems with it, please let me know.
Best regards,
George
Hi Shery Tomy,
I have to delve into your model in order to help you with the above. Please send me an email with your model attached.
Thanks.
Hi George, How can I separate the results from one column data using indices, I can't understand the structure of the readElementFieldOdb function to extract the stresses with MatLab help? then, I want the stress to calculate the Tsai-Wu criteria, is there a way to extract it by readElementFieldOdb, or another function? And how can I use the Function extractPlyInfo.py in Matlab? actually I want to change the orientation of plies in the loop per each run in Matlab to optimize the angles.
You have to extract the stress results for all plies using the function readElementFieldOdb, and then manually separate the results that correspond to each ply. The current version of Abaqus2Matlab cannot do this automatically.
Hello George, thanks to your answer, I do that in MATLAB and ABAQUS, But I've got some syntax errors, My Problem is , extracting result for each ply in a set, In function readElementFieldOdb we can extract results only for a complete set, not for a ply Separately, how can we extract results for each ply separately?
Hello George, could you please look into this problem? https://abaqus2matlab.wixsite.com/abaqus2matlab/forum/abaqus2matlab-users-forum/problem-with-abaqus2matlab-tool
It'll be very kind of you, if you do.