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