1 /* 2 *_________________________________________________________________________* 3 * POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE * 4 * DESCRIPTION: SEE READ-ME * 5 * FILE NAME: solver.cpp * 6 * AUTHORS: See Author List * 7 * GRANTS: See Grants List * 8 * COPYRIGHT: (C) 2005 by Authors as listed in Author's List * 9 * LICENSE: Please see License Agreement * 10 * DOWNLOAD: Free at www.rpi.edu/~anderk5 * 11 * ADMINISTRATOR: Prof. Kurt Anderson * 12 * Computational Dynamics Lab * 13 * Rensselaer Polytechnic Institute * 14 * 110 8th St. Troy NY 12180 * 15 * CONTACT: anderk5@rpi.edu * 16 *_________________________________________________________________________*/ 17 18 #include "solver.h" 19 #include "system.h" 20 #include "matrices.h" 21 Solver()22Solver::Solver(){ 23 24 } 25 ~Solver()26Solver::~Solver(){ 27 } 28 SetSystem(System * s)29void Solver::SetSystem(System* s){ 30 system = s; 31 CreateModel(); 32 } 33 ComputeForces()34void Solver::ComputeForces(){ 35 system->ComputeForces(); 36 } 37 GetSolverType()38SolverType Solver::GetSolverType() 39 { 40 return type; 41 } 42 GetSolver(SolverType solverToMake)43Solver * Solver::GetSolver(SolverType solverToMake) //returning a pointer to a new Solver object of the appropriate type 44 { 45 switch((int)solverToMake) 46 { 47 case ONSOLVER: return new OnSolver(); 48 default: return nullptr; 49 } 50 } 51 GetState()52ColMatMap* Solver::GetState(){ 53 return &state; 54 } 55 GetStateDerivative()56ColMatMap* Solver::GetStateDerivative(){ 57 return &statedot; 58 } 59 GetStateDerivativeDerivative()60ColMatMap* Solver::GetStateDerivativeDerivative(){ 61 return &statedoubledot; 62 } 63