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>
File "../../simple.py", line 110, in main
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)
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 ...?