SINTEF / Splipy

Spline modelling made easy.
GNU General Public License v3.0
100 stars 18 forks source link

Finitestrain solver (edge_curves) is not working after nutils v3.0 #67

Closed VikingScientist closed 6 years ago

VikingScientist commented 6 years ago
from splipy import *                                                           
import splipy.curve_factory as cf                                              
import splipy.surface_factory as sf                                            
from splipy.io import *                                                        

c1 = cf.polygon([[-1, 1], [-1,-1], [1,-1]])                                    
c2 = cf.polygon([[ 1,-1], [ 1, 0]])                                            
c3 = cf.polygon([[ 1, 0], [ 0, 0], [0, 1]])                                    
c4 = cf.polygon([[ 0, 1], [-1, 1]])                                            
c1.refine(2).raise_order(1)                                                    
c2.refine(2).raise_order(1)                                                    
surf = sf.edge_curves([c1, c2, c3, c4], type='finitestrain')                   

with G2('out.g2') as f:                                                        
    f.write(surf)                                                              

lshape controlnet

This used to work before, see #42 where there was support for interior 270 degree angles. I suspect it has something to do with the solver.optimize('lhs', energy, ...) which frankly I don't know all the details about. Whatever it does, it is something different from what we had in the nutils v2.0 implementation.

VikingScientist commented 6 years ago

Fixed in f3f66c5a3a6064cbb7ef690f8ce9840f12748394