IV.3.3 Composite thermal properties
The example illustrates the calculation of laminate thermal properties. The example is presented in
directory “TESTSAT/RUBY/EX12”, in file “testClaTherm.rb”.
The following statements correspond to the introduction of isotropic thermal properties in a
material:
mat1=ClaMat.new
mat1.Id="mat1"
mat1.Type="isotropic"
mat1.fillThermalData({"lambdaT"=>170.0,"rho"=>2700.0,"Cp"=>17.0})
db.insertMaterial(mat1)
similarly, one defines an anisotropic material as follows:
mat1=ClaMat.new
mat1.Id="mat_aniso"
mat1.Type="anisotropic"
mat1.fillThermalData({"lambdaT1"=>170.0,"lambdaT2"=>17.0,
"lambdaT3"=>17.0,"lambdaT12"=>0.0,"lambdaT23"=>0.0,
"lambdaT31"=>0.0,"rho"=>50.0,"Cp"=>17.0})
db.insertMaterial(mat1)
The thermal properties stored in a ClaMat object can be printed with the following statements:
lambdaMat = mat2.getInPlaneLambdaT
printf("' n' n lambdaMat:' n' n")
lambdaMat.each do |line|
line.each do |cell|
printf("%14g",cell)
end
printf("' n")
end
printf("' n")
printf(" rho = %g' n",mat2.getRho)
printf(" Cp = %g' n",mat2.getCp)
printf(" rho * Cp = %g' n",mat2.getRhoCp)
One also defines a method that calculates and prints laminate thermal properties:
def writeLamThermalProperties(os,lam,db)
lam.calcLaminateProperties(db)
mat = lam.get_LambdaT
os.printf("' n' n LambdaT:' n' n")
mat.each do |line|
line.each do |cell|
os.printf("%14g",cell)
end
os.printf("' n")
end
os.printf("' n R33T = %g' n",lam.get_R33T)
os.printf(" RhoCpH = %g' n",lam.get_RhoCpH)
end
This method is called with the following statement:
writeLamThermalProperties(STDOUT,lam,db)