-
Notifications
You must be signed in to change notification settings - Fork 58
Solvers Available in package
Ehsan M.A edited this page Jun 16, 2019
·
2 revisions
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.
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.