Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Actuator updates #161

Merged
merged 42 commits into from
Apr 18, 2018
Merged

Actuator updates #161

merged 42 commits into from
Apr 18, 2018

Conversation

courtin
Copy link
Collaborator

@courtin courtin commented Apr 17, 2018

Updates to the actuator disk propeller and electric motor models for integration into the solar model.

@courtin
Copy link
Collaborator Author

courtin commented Apr 17, 2018

@galbramc these test failures seem like mosek issues on some of the VMs

@bqpd
Copy link
Contributor

bqpd commented Apr 17, 2018

They sure do! Weird, I thought we just fixed those last month.

static.Qmax >= Q,
v <= static.V_max,
TCS([i >= Q*Kv+i0]),
TCS([v >= omega/Kv + i*R])

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you worried about these not being tight?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was at one point. It depends on how the model is being used. Is there a high cost to having that check?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, but in general I think we should only have TCS when there's a possible use case where it shouldn't be tight. Let's leave it for now.


Variables
---------
Qstar .5 [kg/(N*m)] motor specific torque

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alignment :)


Variables
---------
V_static 1 [cm/s] inflow velocity for static thrust

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the right way to do static? Should we ask Mark about this

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe it is but it's not actually used so I'm deleting it.

def actuator_propulsor_test():

test = Actuator_Propulsor_Test()
#sol = test.debug()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you delete all of these commented lines?

#sol = test.debug()
#print sol.table()

def test():

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are you not going to test the individual motors here? I really like that idea

return 2. - 1./c[self.etaadd]

def setup(self, static, state):
exec parse_variables(Propeller_Performance.__doc__)
def setup(self, static, state = None, rho = None, V = None):

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are rho and V necessary? Is = None necessary?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No-deleted

lam >= V/(omega*R),
CT >= Tc*lam**2,
CP <= Q*omega/(.5*rho*(omega*R)**3*pi*R**2),
eta >= CT*lam/CP,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this over constrain eta?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No; eta is determined by eta_v and eta_i and then used to constrain the ratio of output to input power (CT lam)/(CP)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh right. It was over constrained in the other one.

i = arange(0.0001,1,.001)
j = arccos(exp(-i))
#P = Vdd**2 + 30*Vdd*exp(-(Vth-0.06*Vdd)/0.039)
#u = vstack((Vdd,Vth))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we delete these lines?

y = log(j)
K = 1

cstrt, rmsErr = fit(x,y,K,"SMA")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you using this fit somewhere?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This gets used in the blade element model; could be deleted from this PR

@mjburton11
Copy link

@courtin looking good. Mostly minor changes.

@courtin
Copy link
Collaborator Author

courtin commented Apr 18, 2018

@mjburton11 should be fixed now

@galbramc
Copy link

sorry I'm working on upgrading the VM's and hashing out some of the hickups.

@galbramc
Copy link

test this please

@galbramc
Copy link

test models please

1 similar comment
@galbramc
Copy link

test models please

@galbramc
Copy link

looks like jenkins is back in business, and all the tests are passing for this PR.


test = Actuator_Propulsor_Test()
sol = test.solve()
#print sol.table()

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's delete all of print sol.table(). And just have test.solve()

lam >= V/(omega*R),
CT >= Tc*lam**2,
CP <= Q*omega/(.5*rho*(omega*R)**3*pi*R**2),
eta >= CT*lam/CP,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh right. It was over constrained in the other one.

@courtin
Copy link
Collaborator Author

courtin commented Apr 18, 2018

done

@mjburton11
Copy link

test this please

@mjburton11
Copy link

test models please

1 similar comment
@courtin
Copy link
Collaborator Author

courtin commented Apr 18, 2018

test models please

@courtin
Copy link
Collaborator Author

courtin commented Apr 18, 2018

@galbramc still something strange going on with the tests for this PR - it looks like one if being marked as failed despite all the tests passing.

@bqpd
Copy link
Contributor

bqpd commented Apr 18, 2018

You have to go to console output to interpret those...one timed out (at 90 minutes! what kind of processor prioritization is going on on that machine anyway :p) while the other two lost internet access for a bit.

@bqpd
Copy link
Contributor

bqpd commented Apr 18, 2018

test models please

@galbramc
Copy link

I was also missing a pip install cvxopt that I just added back in. Turns out that cvxopt accidentally was installed on the system for windows

@galbramc
Copy link

test models please

@galbramc
Copy link

finally. one of the VMs was busy all day.

@courtin
Copy link
Collaborator Author

courtin commented Apr 18, 2018

woo!

@courtin courtin merged commit 4d26514 into master Apr 18, 2018
@courtin courtin deleted the actuator_updates branch April 18, 2018 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants