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 you 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.

Last edited Aug 9, 2014 at 5:22 AM by epsi1on, version 3