Skip to content

Solvers Available in package

Ehsan M.A edited this page Jun 16, 2019 · 2 revisions

Solvers available in BriefFiniteElement.NET

There are two solvers available in BriefFiniteElement.NET: Conjugate Gradient and Cholesky solver. you can set the model to use a specific solver with passing a parameter of SolverType type into Model.Solve method like this:

  • Model.Solve(SolverType.CholeskyDecomposition); //will use Cholesky as solver or
  • Model.Solve(SolverType.ConjugateGradient); //will use Conjugate Gradient as solver

Note: if do not provide SolverType for Model.Solve() method, Cholesky will be used by default.

Difference between Solvers in BriefFIniteElement.NET

I've found a pretty good information about difference of solvers in SolidWorks by Irfan Zardadkhan. I suggest you to see at least the last link (the video):

In BriefFiniteElement.NET there are two built it solvers available:

  • CondugateGradient solver which is itterative like FFEPlus solver in SolidWorks
  • SparseCholesky solver which is a direct solver and there is a very likely difference (regarding the error and accuracy) between these two solvers with solvers in SolidWorks. In overal this is comparison table of two solvers:

Cholesky Solver (Direct Solver)

  • pros:
    • More accuracy
    • Once the structure is analyzed for a load case (once the stiffness matrix factorized) a negligible time is needed for analyzing structure for another load case
  • cons:
    • Slower than iterative solver
    • More memory and computational cost is needed than iterative solver (in some large problems it makes it impossible to use direct solver)

Conjugate Gradient Solver (Iterative)

  • pros
    • Faster than direct solver
    • less computational cost
  • cons
    • Less accuracy
    • analyzing structure for any load case takes same amount of time

Please have a look at [Performance of BriefFiniteElement.NET] to see more information about speed of solvers in action.