BriefFiniteElementNet / BriefFiniteElement.Net

BriefFiniteElementDotNET (BFE.NET) is a library for linear-static Finite Element Method (FEM) analysis of solids and structures in .NET
https://www.bfe-framework.net
GNU Lesser General Public License v3.0
154 stars 58 forks source link

Add validation for MpcElements #90

Closed epsi1on closed 3 years ago

epsi1on commented 4 years ago

Adding a validation that :

epsi1on commented 4 years ago

Hi @rubsy92 , Would you like to please handle this issue? If you can, please also sync with master branch, i think your fork is behind. Thanks

rubsy92 commented 4 years ago

Hi @epsi1on ,

Okay, I'll check it out. Do you have a certain type of elements in mind (e.g. bar-element/shell/...)? Or do you prefer to have these tests for all types of elements?

epsi1on commented 4 years ago

No this is for MPC (Multy Point Constraint) Elements. For erxample BriefFiniteElementNet.MpcElements.RigidElement_Mpc is MpcElement, which is an un-deformable element. There is difference between this type of element with other elements like BarElement or triangle element. These MPC elements (which are inherited from MpcElement) do add extra equations to the system instead of affecting stiffness matrix.

epsi1on commented 4 years ago

this is example for deprecated RigidElement:

https://www.codeproject.com/Articles/850733/RigidElements-in-BriefFiniteElement-NET

New version of RigidElement is RigidElement_MPC which needs to be validated

rubsy92 commented 3 years ago

Yes, I know. But I was referring to the other elements on which you connect the MPC element. E.g. Beams + rigid or shells + rigid? I implemented a class for the rigid-element in combination with some beam elements. Can you check if this is the thing you have in mind? If so I'll do the others too.

epsi1on commented 3 years ago

I think the simple validation of Beam>RigidElement>Beam would do good job.

Note

If we want to improve the validation at any time, then can use a more complex model. I think the type of other element do not matters so much, but having multiple rigid element in combination with other elements, or even connect two rigid elements with a HingLink would be a good validation and can show us possible errors.

#

I'll close the issue for now, thanks

rubsy92 commented 3 years ago

Hi @epsi1on,

What is the difference between a VirtualSupport and a boundary condition? If it is the same I can make a test example with 2 times the same structure, but once refraining it from moving with a boundary condition and once with a VirtualSupport.

epsi1on commented 3 years ago

Hi, VirtualSupport and nodal boundary conditions are same, only difference is that VirtualSupport can ba activated based on LoadCase and LoadNature (for more info pls. see here, MpcElement.UseForAllLoads, MpcElement.AppliedLoadCases and MpcElement.AppliedLoadTypes), but nodal boundary conditions are applied for all LoadCases and LoadNatures. The example of two models you described is good, can be used for validation the VirtualSupport.

Thanks

epsi1on commented 3 years ago

Validation.Case_04 is about rigid element