2.7.1: Results Retrieval on Shells

import clr
clr.AddReferenceToFileAndPath("C:\Program Files\Rhino 8\Plug-ins\karamba\karamba.gha")
clr.AddReferenceToFileAndPath("C:\Program Files\Rhino 8\Plug-ins\karamba\karambaCommon.dll")
import Karamba.Models.Model as Model
import Karamba.Elements.ModelShell as Shell
import feb.ShellMesh as ShellMesh
import feb.TriShell3D as TriShell
import feb.VectSurface3DSigEps as TriStates
import feb.EnergyVisitor as EnergyVisitor
for element in Model_in.elems:
if type(element) != Shell:
continue
print "shell!"
femesh = Model_in.febmodel.triMesh(element.fe_id)
n_tri = femesh.numberOfElems()
print "number of triangle elements:", n_tri
energy_visitor = EnergyVisitor(Model_in.febmodel, Model_in.febmodel.state(0), 0);
energy_visitor.visit(Model_in.febmodel);
for ind in xrange(n_tri):
print "Axial Energy ", energy_visitor.axialEnergy(Model_in.elems[0].fe_id + ind)
print "Bending Energy ", energy_visitor.bendingEnergy(Model_in.elems[0].fe_id + ind)
zRel = 0.0
febLCInd = 0
factor = 1.0
layerInd = 0
tri_states = femesh.elementSigEps(Model_in.febmodel, zRel, febLCInd, factor, layerInd)
for tri_state in tri_states:
s = tri_state.sig_princ()
print "first principal stress (kN/cm2):",s.x()/10000
print "second principal stress (kN/cm2):",s.y()/10000
print "Number of elements", Model_in.elems.CountLast updated