Hi again
I'm just playing around right now getting to know sfepy better - and I like it the more I see.
Attached is a hack of an simple Optimality Criteria method: Move nodes outward with large stress, inwards with low stress. Some first implementation of a simple mesh smoothing, which currently only works for inner nodes.
Then I wanted to check what happens with a 2nd degree field (Quadratic elements, right?). And here the compute_nodal_normals fails:
Traceback (most recent call last): File "../../simple.py", line 113, in <module> main() File "../../simple.py", line 110, in main app() File "/opt/sfepy/sfepy-release-2011.1_beta/sfepy/sfepy/applications/application.py", line 33, in call_parametrized for aux in generator: File "linear_elastic_tractions_beam_oc.py", line 179, in shape_oc normals = compute_nodal_normals(top_nodes, top_reg, disp_field) File "/opt/sfepy/sfepy-release-2011.1_beta/sfepy/sfepy/fem/utils.py", line 42, in compute_nodal_normals mask[econn] += 1 IndexError: index 582 out of bounds 0<=index<525
I guess the problem is the extra nodes appended due to the higher order elements, but I kind of get stuck in debugging the routine...
I am also not quite sure what to expect - I mean, the regions are 'simple' corner nodes, but I would actually like to also get the higher order nodes in the regions as well. Should I initialize the regions differently or ...?
Best regards
Peter