please POEMS library in namespace POEMS and remove "using namespace" from headers

This commit is contained in:
Axel Kohlmeyer
2019-07-04 00:09:01 -04:00
parent 95cb995336
commit e63fe1fe84
85 changed files with 1361 additions and 1270 deletions

View File

@ -3,7 +3,7 @@
* POEMS: PARALLELIZABLE OPEN SOURCE EFFICIENT MULTIBODY SOFTWARE *
* DESCRIPTION: SEE READ-ME *
* FILE NAME: eulerparameters.cpp *
* AUTHORS: See Author List *
* AUTHORS: See Author List *
* GRANTS: See Grants List *
* COPYRIGHT: (C) 2005 by Authors as listed in Author's List *
* LICENSE: Please see License Agreement *
@ -11,7 +11,7 @@
* ADMINISTRATOR: Prof. Kurt Anderson *
* Computational Dynamics Lab *
* Rensselaer Polytechnic Institute *
* 110 8th St. Troy NY 12180 *
* 110 8th St. Troy NY 12180 *
* CONTACT: anderk5@rpi.edu *
*_________________________________________________________________________*/
@ -23,8 +23,10 @@
#include "mat3x3.h"
using namespace std;
using namespace POEMS;
void EP_Derivatives(ColMatrix& q, ColMatrix& u, ColMatrix& qdot){
void POEMS::EP_Derivatives(ColMatrix& q, ColMatrix& u, ColMatrix& qdot){
EP_Normalize(q);
int num=u.GetNumRows();
if (3<num){
@ -32,17 +34,17 @@ void EP_Derivatives(ColMatrix& q, ColMatrix& u, ColMatrix& qdot){
qdot.elements[i]=u.elements[i-1];
}
}
qdot.elements[0] = 0.5 *(q.elements[3]*u.elements[0] - q.elements[2]*u.elements[1] + q.elements[1]*u.elements[2]);
qdot.elements[0] = 0.5 *(q.elements[3]*u.elements[0] - q.elements[2]*u.elements[1] + q.elements[1]*u.elements[2]);
qdot.elements[1] = 0.5 *(q.elements[2]*u.elements[0] + q.elements[3]*u.elements[1] - q.elements[0]*u.elements[2]);
qdot.elements[2] = 0.5 *(-q.elements[1]*u.elements[0] + q.elements[0]*u.elements[1] + q.elements[3]*u.elements[2]);
qdot.elements[3] = -0.5 *(q.elements[0]*u.elements[0] + q.elements[1]*u.elements[1] + q.elements[2]*u.elements[2]);
}
void EP_Transformation(ColMatrix& q, Mat3x3& C){
void POEMS::EP_Transformation(ColMatrix& q, Mat3x3& C){
EP_Normalize(q);
double q11 = q.elements[0]*q.elements[0];
double q22 = q.elements[1]*q.elements[1];
double q33 = q.elements[2]*q.elements[2];
@ -69,7 +71,7 @@ void EP_Transformation(ColMatrix& q, Mat3x3& C){
C.elements[2][1] = 2*(q23 + q14);
}
void EP_FromTransformation(ColMatrix& q, Mat3x3& C){
void POEMS::EP_FromTransformation(ColMatrix& q, Mat3x3& C){
double b[4];
// condition indicators
@ -117,8 +119,8 @@ void EP_FromTransformation(ColMatrix& q, Mat3x3& C){
EP_Normalize(q);
}
void EP_Normalize(ColMatrix& q){
double one = 1.0/sqrt(q.elements[0]*q.elements[0] + q.elements[1]*q.elements[1] + q.elements[2]*q.elements[2] + q.elements[3]*q.elements[3]);
void POEMS:: EP_Normalize(ColMatrix& q){
double one = 1.0/sqrt(q.elements[0]*q.elements[0] + q.elements[1]*q.elements[1] + q.elements[2]*q.elements[2] + q.elements[3]*q.elements[3]);
q.elements[0] = one*q.elements[0];
q.elements[1] = one*q.elements[1];
q.elements[2] = one*q.elements[2];
@ -128,29 +130,29 @@ void EP_Normalize(ColMatrix& q){
void EPdotdot_udot(ColMatrix& Audot, ColMatrix& Aqdot, ColMatrix& Aq, ColMatrix& Aqddot){
void POEMS::EPdotdot_udot(ColMatrix& Audot, ColMatrix& Aqdot, ColMatrix& Aq, ColMatrix& Aqddot){
int num=Audot.GetNumRows();
if (3<num){
for (int i=4; i<=num; i++){
Aqddot.elements[i]=Audot.elements[i-1];
}
}
double AA;
AA=Aqdot.elements[0]*Aqdot.elements[0]+Aqdot.elements[1]*Aqdot.elements[1]+Aqdot.elements[2]*Aqdot.elements[2]+Aqdot.elements[3]*Aqdot.elements[3];
Aqddot.elements[0] = 0.5 *(Aq.elements[3]*Audot.elements[0] - Aq.elements[2]*Audot.elements[1] + Aq.elements[1]*Audot.elements[2]-2*Aq.elements[0]*AA);
Aqddot.elements[1] = 0.5 *(Aq.elements[2]*Audot.elements[0] + Aq.elements[3]*Audot.elements[1] - Aq.elements[0]*Audot.elements[2]-2*Aq.elements[1]*AA);
Aqddot.elements[2] = 0.5 *(-Aq.elements[1]*Audot.elements[0] + Aq.elements[0]*Audot.elements[1] + Aq.elements[3]*Audot.elements[2]-2*Aq.elements[2]*AA);
Aqddot.elements[3] = -0.5 *(Aq.elements[0]*Audot.elements[0] + Aq.elements[1]*Audot.elements[1] + Aq.elements[2]*Audot.elements[2]+2*Aq.elements[3]*AA);
}
void qdot_to_u(ColMatrix& q, ColMatrix& u, ColMatrix& qdot){
void POEMS::qdot_to_u(ColMatrix& q, ColMatrix& u, ColMatrix& qdot){
EP_Normalize(q);
int num=qdot.GetNumRows();
if (4<num){
@ -161,7 +163,7 @@ void qdot_to_u(ColMatrix& q, ColMatrix& u, ColMatrix& qdot){
u.elements[0]=2*(q.elements[3]*qdot.elements[0]+q.elements[2]*qdot.elements[1]-q.elements[1]*qdot.elements[2]-q.elements[0]*qdot.elements[3]);
u.elements[1]=2*(-q.elements[2]*qdot.elements[0]+q.elements[3]*qdot.elements[1]+q.elements[0]*qdot.elements[2]-q.elements[1]*qdot.elements[3]);
u.elements[2]=2*(q.elements[1]*qdot.elements[0]-q.elements[0]*qdot.elements[1]+q.elements[3]*qdot.elements[2]-q.elements[2]*qdot.elements[3]);
}