IV.3.4.4 Properties of the laminates defined in an ESAComp file
The third example, defined in file “testCla3.rb” illustrates the creation of a ClaLoad object
and the calculation of corresponding ply stresses and strains. It is reproduced extensively
below:
require "FeResPost"
require "extendedCLA"
include FeResPost
db=ClaDb.new
db.Id="testDB"
db.readEdf("test.edf")
tmpLoad=ClaLoad.new
tmpLoad.Id="testF0T"
tmpLoad.setT(20.0)
tmpLoad.setMembrane([0.03,0.0,0.1],"SC","SC","SC")
tmpLoad.setFlexural([0.000000e+00,0.000000e+00,0.000000e+00],"SC","SC","SC")
tmpLoad.setOutOfPlane([100.0,200.0],"FM","FM")
lam=db.getLaminateCopy("testLam2")
lam.setAllPliesIlss(3.0e+7)
lam.setLaminateIlss(3.0e+7)
theta=45.0
lam.calcResponse(db,theta,tmpLoad,true,false,true)
lam.write_loadResponse(STDOUT,theta)
STDOUT.printf("' n")
lam.write_loadResponse(STDOUT,0.0)
STDOUT.printf("' n")
lam.write_PliesInPlaneStrainsAndStresses(STDOUT)
STDOUT.printf("' n")
lam.write_PliesTemperatures(STDOUT)
STDOUT.printf("' n")
criteria=["Tresca2D","VonMises2D","MaxStress","MaxStrain",'
"TsaiHill","TsaiWu","Hoffman","Puck","Puck_b","Puck_c",'
"Hashin","YamadaSun","CombStrain2D","Ilss"]
lam.write_crit(STDOUT,db,criteria)
STDOUT.printf("' n")
This example has been used for mainly debugging composite classes. It illustrates the calculation of
failure indices, reserve factors and equivalent stresses in a laminate for a given loading. The reader
should examine carefully the result for interlaminar shear.
Note that some criterion may give infinite or NaN values because all the material allowables
have not been initialized. (See for example the failure indices of Tresca and Von Mises
criteria.)