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

Cleanup Matrix class #81

Closed wo80 closed 4 years ago

wo80 commented 4 years ago

This closes #72 .

The Matrix class now derives from CSparse.Double.DenseMatrix. The class wasn't removed completely due to the use of operator overloads, which aren't implemented in CSparse. If those were replaced by method calls, the class could be removed. Most static and member methods are converted to extensions methods.

I didn't touch the actual matrix pooling, but the (empty) finalizer and the matrix instance counter were removed.

Please review carefully.

epsi1on commented 4 years ago

Tomorrow I'll do the test and merge this PR. @wo80 I've got full Jetbrains free license for opensource contributors do you need one? If yes, could you please send me an email ? my email address available in my github profile. Thanks

wo80 commented 4 years ago

Take your time with testing and make sure that all element types are working.

I don't need a Jetbrains license right now, but I might come back to your offer, thanks! Which products are included?

epsi1on commented 4 years ago

Which products are included?

Not sure but I think it is a full license which includes all products, or at least JetBrain Ultimate!

epsi1on commented 4 years ago

Seems working good. You did already mentioned to use nuget for ArrayPool instead of built-in array pool. BFE is compatible with NET4 But System.Buffers needs at least .NET 4.5 so i need to remove compatibility with NET4 and minimum version would be 4.5. What you do think? having support for NET4 is not critical, but i think better to keep compatibility with older dotnets.

wo80 commented 4 years ago

Seems working good.

👍

You did already mentioned to use nuget for ArrayPool instead of built-in array pool. BFE is compatible with NET4 But System.Buffers needs at least .NET 4.5 so i need to remove compatibility with NET4 and minimum version would be 4.5. What you do think? having support for NET4 is not critical, but i think better to keep compatibility with older dotnets.

Let discuss this in a separate issue.