BriefFiniteElementNet / BriefFiniteElement.Net

BriefFiniteElementDotNET (BFE.NET) is a library for linear-static Finite Element Method (FEM) analysis of solids and structures in .NET
GNU Lesser General Public License v3.0
154 stars 57 forks source link

Element stresses #73

Closed thaletob closed 4 years ago

thaletob commented 4 years ago

Hey again, I'm actually working on a pretty big model using your BriefFiniteElement-Library (with Quad-Elements) and already got the solver working properly. At the moment I am having problems while reading out the Element-Stress-Tensor of each Quadrilateral-Element (using GetInternalStress/ GetLocalInternalStress - Functions). This should be converted into global coords later to evaluate the stresses later and compare stresses between the single elements.

Do you have any suggestions on doing it correctly? Thank you very much!

epsi1on commented 4 years ago

Yes, first you have to make sure that returned value from GetInternalStress() method is correct, and for that we should do some validation with known programs like Abaqus etc. I am working on validation of TriangleElement under bending plus Membrane behavior. I am getting about 0.74% (i.e. 0.0074) error on nodal displacement, which totally looks acceptable but also 25% (i.e. 0.25) error in internal force in integration points, which do not looks good. I think better to first focus on accuracy of TriangleElemenet's internal force, then we can identify problem in QuadrilaturalElement much faster, as both are pretty much same code. We are discussing about accuracy of TriangleElement in #43 (this link)

thaletob commented 4 years ago

@epsi1on Thank you for your answer, but I actually have some problems while using the GetLocalInternalStress-Function itself. My plan is to read out the Element-Stress in the middle of the Element. I am using the defaultLoadCase as the first parameter (I have not defined a special Loadcase for each of the hundred nodal-loads) and the isoCoordinates (0.5|0.5|0.5) to represent the middle of the Element. But I am just running into Errors ("The method ot the process is not implemented").

epsi1on commented 4 years ago

I think you should check Exception.StackTrace of thrown exception and find out the exception's origin in order to find out what method is not implemented yet I'll try to take a look at that after validation of triangle element is done. Also note that unlike triangle, iso-parametric point (0.5,0.5,0.5) is not the center, but 0,0,0 is the center of rectangle

thaletob commented 4 years ago

Thanks, that is a good hint. I've never heard of this function before. Yeah, I found out that GetLocalInternalStressAt()-Functions of all helper-classes were not implemented yet. This is the reason for the error. After checking it I found out that my code was not up to date... I need to check if the error is gone soon.

Thanks for your help again!

thaletob commented 4 years ago

Good evening, this error seems to be gone for now. But with the latest code the Solver is now running into Stack-Overflow-Exception. Ths did not happen with the previous version. Any ideas?

(The Exception happens at UniformIsotropicMaterial line 44-> GetMaterialPropertiesAt)

thaletob commented 4 years ago

@ #76