Code covered by the BSD License
-
...
-
...
Pavail - Preq plotting:
-
...
Inputs:
-
...
Inputs:
-
...
OPTIMIZE Optimize general constrained problems using Nelder-Mead algorithm
-
...
penalties
-
ACbuilder(X, Spec)
Creates an aircraft from decision variables contained in X and the base
-
BladeARconstraint(AR_all,AC)
nonlinear constraint function are provided with an allowable value for
-
BladeARconstraint(AR_all,AC)
nonlinear constraint function are provided with an allowable value for
-
CMATpick_point(...
-
CMATplot_the_carpet(...
grey background
-
CORE_ITERATE(Spec)
-
COREchooseproject()
-
COREmkrequirements()
Get assumptions from excel file
-
IGEvi(z_over_D)
Data for curve fit from Prouty:
-
ITERfix_decision_variables(Pr...
-
ITERmake_CON_MAT(Problem, Con...
first get values for baseline aircraft:
-
ITERmodify_LB_X0_UB(Problem)
-
ITERmodify_composite_obj(Obje...
-
ITERoptimoptset(Spec)
-
ITERrun_optimizer(Problem,Con...
set standard options
-
ITERsave_hist(Problem,Constra...
eval everything
-
Obj_max_W_P(AC)
Objective functions to be minimized during the design process. They are
-
Obj_max_W_P(AC)
Objective functions to be minimized during the design process. They are
-
Obj_min_AUM(AC)
Objective functions to be minimized during the design process. They are
-
Obj_min_AUM(AC)
Objective functions to be minimized during the design process. They are
-
Obj_min_size(AC)
Objective functions to be minimized during the design process. They are
-
PointAnalysisBEA(AC, State)
-
SELECTind_from_pop...
sol: pareto set
-
[C, Ceq, activeMargins, activ...
run though all the point performance requirements
-
[C,CompositeObjectiveValue, S...
-
betafinder(AC,betain,payloadi...
-
bpolar(BladeState,AC)
To make your own bpolar:
-
bpolar(BladeState,AC)
To make your own bpolar:
-
bpolar(BladeState,AC)
To make your own bpolar:
-
constraint_Dlength(Dlength_al...
nonlinear constraint function are provided with an allowable value for
-
constraint_Dlength(Dlength_al...
nonlinear constraint function are provided with an allowable value for
-
convarea( in, uin, uout )
CONVAREA Convert from area units to desired area units.
-
convmass( in, uin, uout)
CONVMASS Convert from mass units to desired mass units.
-
convpower( in, uin, uout )
CONVPOWER Convert from power units to desired power units.
-
convvel( in, uin, uout)
CONVVEL Convert from velocity units to desired velocity units.
-
cosspace(d1, d2, n, factor)
COSSPACE cosine spaced vector.
-
fusepolar_arealoading(AC,tSta...
[CDfuse,DLfactor] = fusepolar_arealoading(AC,tState)
-
fusepolar_arealoading(AC,tSta...
[CDfuse,DLfactor] = fusepolar_arealoading(AC,tState)
-
g0(unit)
g0 Gravitational acceleration
-
get_yes_or_no(prompt,default)
% get_yes_or_no(prompt,default) displays a prompt and reads a response from
-
lininterp1f(X,Y,XI,Ydefault)
-
linspace3(d1, tar, d2, n)
LINSPACE3 bilinearly spaced vector defined by three points.
-
loadfactor(tState)
-
progressbar(varargin)
Description:
-
retreating_stall_envelope(mu_...
-
simpleTRsizing(AC)
-
sinspace(d1, d2, n, factor)
SINSPACE cosine spaced vector.
-
tail_rotor_power(TORQ,AC,tSta...
Assumptions:
-
twistf(r)
As a function of non-dimensional radius location r (0-1), the twist
-
twistf(r)
As a function of non-dimensional radius location r (0-1), the twist
-
txtmenu(HeaderPrompt,varargin)
TXTMENU Generate a numbered list text menu in the command window.
-
vLdistribution(r,psi,AC,tStat...
my formulation:
-
weightestimate_baseline(AC)
Write this weight estimation function to estimate the all up mass (TOGW)
-
weightestimate_baseline(AC)
Write this weight estimation function to estimate the all up mass (TOGW)
-
weightestimate_decVar(AC)
Write this weight estimation function to estimate the all up mass (TOGW)
-
wingpolar(CL,AC,tState)
inputs:
-
wingpolar(CL,AC,tState)
inputs:
-
COREmainmenu.m
-
PAblade_elements.m
-
PointAnalysisMOM_assumptions.m
-
Run_CORE.m
-
convtime.m
-
stdatmo.m
-
View all files
from
CORE: Conceptual Optimization of Rotorcraft Environment
by Sky Sartorius
Facilitates optimization and design space exploration in the conceptual design phase of rotorcraft.
|
| ...
|
function [Constraints] = ...
ITERmodify_constraints(Constraints,Spec)
nCons=Constraints.nCons;
conLabels=Constraints.conLabels;
active_cons=Constraints.active_cons;
useBEAflag = Constraints.useBEA;
margins=Constraints.margins;
nPPreqs = Spec.nPPrequirements;
listitems{1,1} = 'Done\n\n\t\tStatus Method Margin Constraint';
while 1
home; pause(.0001);
for ii = 1:nCons
if active_cons(ii)
firstbit{ii} = 'Active'; %#ok<*AGROW>
else
firstbit{ii} = ' Off';
end
if (ii <= nPPreqs)
if useBEAflag(ii)
methodbit{ii} = 'BEA ';
else
methodbit{ii} = 'Mom.';
end
else
methodbit{ii} = ' - ';
end
listitems{ii+1,1} = sprintf('%s %s %+4.3f %s',...
firstbit{ii},methodbit{ii},margins(ii),conLabels{ii});
end
subchoice = txtmenu('Select constraint to change',listitems);
if subchoice == 0;
break
else
disp( [' Name: ' conLabels{subchoice}]);
disp(['Status: ' firstbit{subchoice}]);
fprintf('Margin: %+5.4f (margin < 0 allows constr. violation)\n'...
,margins(subchoice));
if subchoice <= nPPreqs
methodprompt = ' | char: toggle method';
else methodprompt = '';
end
k = input(...
['New margin value ([]: toggle status' methodprompt '): '],'s');
if isempty(k)
active_cons(subchoice) = ~active_cons(subchoice);
else
k = str2double(k);
if isnan(k) || isinf(k)
if subchoice <= nPPreqs
useBEAflag(subchoice) = ~useBEAflag(subchoice);
end
else
if k<=-.8
disp(...
'Large margin violation allowed. Consider deactivating constraint')
beep;
pause(3);
end
margins(subchoice) = k;
end
end
end
end
Constraints.nCons = nCons;
Constraints.conLabels = conLabels;
Constraints.active_cons = active_cons;
Constraints.margins = margins;
Constraints.useBEA = useBEAflag;
end
|
|
Contact us