Alneos / vega

Finite element format converter
GNU General Public License v2.0
23 stars 9 forks source link

Managment of useless lines #17

Closed ThomasAbballe closed 5 years ago

ThomasAbballe commented 7 years ago

Hi all !

I'm currently combing through a lot of simple NASTRAN examples, and an issue was raised by "useless lines" of my example. A lot of examples, especially the industrial ones, have useless lines: super-element matrices used in "similar but not this one" examples, various material (for comparison tests), etc. In my experience, most of included file have useless lines, because they are used by a variety of examples.

In my example, an error was raised because an useless material was not assigned to any cell. While technically true, the message "Material is not valid" is not very helpful. Especially as the rest of the translation goes smoothly.

So, I think it would be great if we could improve the management by VEGA of these lines. For example, T::validate() could provide a specific message (how is another question) for these things. Maybe, by default, these "invalidate" parts of the Model could be destroyed ? I think it'll allows for a more robust writing process... But it may be wishful thinking. And of course, we should not forget that "real" invalid lines must be treated accordingly.

Issue linked to #12

siavelism commented 7 years ago

Hi Thomas,

Thanks for your contribution to VEGA and your effort to improve this. I think that the best way for this issue is to clean up by removing unused and useless object materials (it can be done in Model::removeIneffectives). Then validate method will not be called for these materials.

ThomasAbballe commented 7 years ago

Hi msiavelis,

I'll check Model::removeIneffectives(), to see what I can do in a reasonable time. Thanks for the pointer !

ThomasAbballe commented 5 years ago

Since c97a2cd4232fecf7edeb0b4b28ff6568a4fb8a9e (and probably before), invalid objects are removed from the model. So "half-defined" parts of the model are not translated and, more importantly, don't stop VEGA anymore.

We may need to be more explicit with the validation messages, but that's an other topic.