Spacecraft Control Framework 1.0
Spacecraft Control Library
sc_pm_machine_abc.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------------------
2// Implement pm_machine_abc
3//-----------------------------------------------------------------------------------------
4// Copyright (c) 2017 Princeton Satellite Systems. All rights reserved.
5//-----------------------------------------------------------------------------------------
6
8
9
12
13#ifndef __PM_MACHINE_ABC__
14#define __PM_MACHINE_ABC__
15
16#ifdef AS_OS_WINDOWS
17 #include "matrixlib.h"
18#else
19 #include <MatrixLib/MatrixLib.h>
20#endif
21
27{
28
29 private:
30
31 double lM;
32 double psiM;
33 double lSS;
34 double rS;
35 double p;
36 double bM;
37 double j;
38 double tL;
39 double lM_sq;
40 double tE;
41 ml_matrix u;
42 ml_matrix l;
43
44
45 public:
46 pm_machine_abc( void );
47 void initialize( double lM, double psiM, double lSS, double rS, double p, double bM, double j, double tL );
48 void defaults( void );
49 ml_matrix rhs( double t, const ml_matrix x );
50 void set_u( const ml_matrix u ){this->u = u;};
51 double get_t_e( void ){return tE;};
52
53};
54
55
56#endif
pm_machine_abc I% Assumes a 3 phase machine in a Y connection.
Definition: sc_pm_machine_abc.h:27
ml_matrix rhs(double t, const ml_matrix x)
Update the right hand side.
Definition: sc_pm_machine_abc.cc:79
pm_machine_abc(void)
Constructor.
Definition: sc_pm_machine_abc.cc:14
void defaults(void)
Initialize the object with the defaults.
Definition: sc_pm_machine_abc.cc:22
void initialize(double lM, double psiM, double lSS, double rS, double p, double bM, double j, double tL)
Initialize the object.
Definition: sc_pm_machine_abc.cc:50