docs: def addElement(self,etype='hex8',corners=[-1.0,-1.0,-1.0,1.,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,-1.0,1.0,1.0],name='new_elem'):
          '''
          corners - list of nodal coordinates properly ordered for element type (counter clockwise)
          '''
          lastelm = self.elements[-1][1]
          lastnode = self.nodes[-1][0]
          elm = [etype,lastelm+1]
          for i in range(old_div(len(corners),3)):
              elm.append(lastnode+1+i)
              
          self.elements.append(elm)
          self.elsets['e'+name] = {}
          self.elsets['e'+name][int(elm[1])] = True
          
          cnt = 1
          self.nsets['n'+name] = []
          for i in range(0,len(corners),3):
              self.nodes.append([lastnode+cnt, corners[i], corners[i+1], corners[i+2]])
              self.nsets['n'+name].append(lastnode+cnt)
              cnt += 1
          
          # if this is a quad4 or tri3 element make a surface set
          if etype == 'quad4' or etype == 'tri3':
              self.fsets['f'+name] = [[etype, MeshDef.facetID, lastnode+1, lastnode+2, lastnode+3, lastnode+4]]
              MeshDef.facetID += 1