pygeo icon indicating copy to clipboard operation
pygeo copied to clipboard

DVGeometry allows ref axis to be added after a finalize is called

Open bbrelje opened this issue 4 years ago • 1 comments

Description

DVGeometry will allow the user to addRefAxis() following a finalize call without raising an error or warning. Instead, an obscure error is raised, e.g.

Traceback (most recent call last):
  File "runFFDExample.py", line 43, in <module>
    stlmesh.vectors[:,1,:] = DVGeo.update('mesh_v1')
  File "/home/ben/packages/pygeo/pygeo/DVGeometry.py", line 1281, in update
    self._complexifyCoef()
  File "/home/ben/packages/pygeo/pygeo/DVGeometry.py", line 2746, in _complexifyCoef
    self.rot_x[key].coef = self.rot_x[key].coef.astype('D')
AttributeError: 'DVGeometry' object has no attribute 'rot_x'

Steps to reproduce issue

  1. Create a DVGeometry object
  2. Add a pointset
  3. Update the pointset
  4. Add a ref axis
  5. Try to update again

Current behavior

Raises obscure error potentially much later than when the refAxis is added

Expected behavior

Should raise error at the time the ref axis is added if the system is finalized

bbrelje avatar Feb 28 '21 14:02 bbrelje

@bernardopacini @sseraj as you mentioned you are working on testing, there might also be an opportunity to fix and test this issue (I also call myself in to work on this @marcomangano )

marcomangano avatar Aug 30 '21 15:08 marcomangano