JWock82 / PyNite

A 3D structural engineering finite element library for Python.
MIT License
421 stars 86 forks source link

Possible Skewed Quad Error #198

Open JWock82 opened 1 month ago

JWock82 commented 1 month ago

Quad results for skewed plates might be off. I've had trouble transforming local forces to global forces for these elements, and have come to the conclusion the issue might be in my implementation of the MITC4 element. I'm currently working on a DKMQ element to replace the MITC4 element, which has a simpler implementation, provides better results, and will provide a second check against whether the plate formulation itself is responsible for this force transformation issue. More to come on this.

bjhowie commented 1 month ago

Can ask what sort of issues you've been encountering?

I've been running tests on skewed quad meshes and comparing the results to rectangular meshes and the results seem to align quite well.

bjhowie commented 1 month ago

Can I ask what sort of issues you've been encountering?

I've been running tests on skewed quad meshes and comparing the results to rectangular meshes and the results seem to align quite well.

JWock82 commented 1 month ago

@bjhowie This is the issue you and I have been discussing. I'm almost certain I've got the local to global plate stress transformation equations correct, and yet when I do it to skewed quads, the final global plate stress results appear to be off by a fair amount. If my transformation equations are right, that means the quad could be the problem. The unit tests I have set up only check rectangular quads, so an error in skewed quads could be lurking. The derivation I've used for the MITC4 is mathematically intensive, and I've found a more straightforward derivation for a DKMQ element, which is an improvement over the MITC4. I've been meaning to implement it for some time. Now seems like a natural time to do it. I'm going to use the DKMQ as a benchmark for my force transformation. If the DKMQ has problems too, I'll know it wasn't the MITC4 element itself that was the problem.

bjhowie commented 1 month ago

I figured as much. Curious that my local axis modification method gives good results for skewed quads while the global transformation method doesn't seem too. They should be equivalent, but the difference may suggest the issue isn't with the element itself? In either case, cross checking with the DKMQ element is a great idea. Good luck!