#include <Solver.h>
Public Types | |
| typedef KMAT | matrix_type |
Public Member Functions | |
| Solver (KMAT &K, nArray &f) | |
| int | NumEquations () const |
| virtual int | Solve (nArray &d)=0 |
| template<class INDX> | |
| int | SolveConstrained (nArray &d, INDX &ifix) |
| int | SolveConstrained (nArray &d, iArray &ifix, nArray &ival) |
| virtual void | GetReactionForces (const nArray &d, nArray &freac) |
| bool | Solved () const |
Protected Member Functions | |
| template<class INDX> | |
| void | GetReactionMatrix (const INDX &ifix) |
| template<class INDX> | |
| void | SetConstraintsOnMatrix (const INDX &ifix) |
| template<class INDX> | |
| void | SetConstraintsOnF (const INDX &ifix) |
| template<class INDX> | |
| void | SetConstraintsOnF (const INDX &ifix, nArray &ival) |
Protected Attributes | |
| KMAT * | Kptr |
| nArray * | fptr |
| KMAT | Kreac |
| Numeric | wt |
| bool | solved |
This class is templated so that it can serve for various system matricies
Definition at line 25 of file Solver.h.
| int basso::Solver< KMAT >::NumEquations | ( | ) | const [inline] |
returns the number of equations in the system
Definition at line 38 of file Solver.h.
Referenced by basso::Solver< KMAT >::SetConstraintsOnF(), and basso::Solver< KMAT >::SetConstraintsOnMatrix().
| virtual int basso::Solver< KMAT >::Solve | ( | nArray & | d | ) | [pure virtual] |
solves the system. The solution is returned in
| d | if the solution is succesful zero is returned, if not the unity is returned. |
Implemented in basso::SuperLUSolverCSR.
Referenced by basso::Solver< KMAT >::SolveConstrained().
| int basso::Solver< KMAT >::SolveConstrained | ( | nArray & | d, | |
| INDX & | ifix | |||
| ) | [inline] |
Solves the system with the constraints d(ifix)=0
Definition at line 143 of file Solver.h.
References basso::Solver< KMAT >::GetReactionMatrix(), basso::Solver< KMAT >::SetConstraintsOnF(), basso::Solver< KMAT >::SetConstraintsOnMatrix(), and basso::Solver< KMAT >::Solve().
| int basso::Solver< KMAT >::SolveConstrained | ( | nArray & | d, | |
| iArray & | ifix, | |||
| nArray & | ival | |||
| ) | [inline] |
Solves the system with the constraints d(ifix)=ival
Definition at line 152 of file Solver.h.
References basso::Solver< KMAT >::GetReactionMatrix(), basso::Solver< KMAT >::SetConstraintsOnF(), basso::Solver< KMAT >::SetConstraintsOnMatrix(), and basso::Solver< KMAT >::Solve().
| virtual void basso::Solver< KMAT >::GetReactionForces | ( | const nArray & | d, | |
| nArray & | freac | |||
| ) | [inline, virtual] |
| bool basso::Solver< KMAT >::Solved | ( | ) | const [inline] |
| void basso::Solver< KMAT >::GetReactionMatrix | ( | const INDX & | ifix | ) | [inline, protected] |
Gets the reaction matrix for constraints on ifix
Definition at line 88 of file Solver.h.
References basso::Solver< KMAT >::Kptr, and basso::Solver< KMAT >::Kreac.
Referenced by basso::Solver< KMAT >::SolveConstrained().
| void basso::Solver< KMAT >::SetConstraintsOnMatrix | ( | const INDX & | ifix | ) | [inline, protected] |
Modifies the matrix so that the constraints on ifix are imposed
Definition at line 105 of file Solver.h.
References basso::Solver< KMAT >::NumEquations(), and basso::Solver< KMAT >::wt.
Referenced by basso::Solver< KMAT >::SolveConstrained().
| void basso::Solver< KMAT >::SetConstraintsOnF | ( | const INDX & | ifix | ) | [inline, protected] |
Modifies the RHS vector so that homogeious constraints on ifix are imposed
Definition at line 123 of file Solver.h.
References basso::Solver< KMAT >::fptr.
Referenced by basso::Solver< KMAT >::SolveConstrained().
| void basso::Solver< KMAT >::SetConstraintsOnF | ( | const INDX & | ifix, | |
| nArray & | ival | |||
| ) | [inline, protected] |
Modifies the RHS vector so that inhomogeionus constraints on ifix are imposed
Definition at line 131 of file Solver.h.
References basso::Solver< KMAT >::fptr, basso::Solver< KMAT >::Kptr, basso::Solver< KMAT >::NumEquations(), and basso::Solver< KMAT >::wt.
1.5.2