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,...nonlinear constraint function are provided with an allowable value for
- BladeARconstraint(AR_all,...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_variable...
- ITERmake_CON_MAT(Problem,...first get values for baseline aircraft:
- ITERmodify_LB_X0_UB(Probl...
- ITERmodify_composite_obj(...
- ITERoptimoptset(Spec)
- ITERrun_optimizer(Problem...set standard options
- ITERsave_hist(Problem,Con...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, a...run though all the point performance requirements
- [C,CompositeObjectiveValu...
- betafinder(AC,betain,payl...
- 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(Dlengt...nonlinear constraint function are provided with an allowable value for
- constraint_Dlength(Dlengt...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,...[CDfuse,DLfactor] = fusepolar_arealoading(AC,tState)
- fusepolar_arealoading(AC,...[CDfuse,DLfactor] = fusepolar_arealoading(AC,tState)
- g0(unit)g0 Gravitational acceleration
- get_yes_or_no(prompt,defa...% get_yes_or_no(prompt,default) displays a prompt and reads a response from
- lininterp1f(X,Y,XI,Ydefau...
- linspace3(d1, tar, d2, n)
LINSPACE3 bilinearly spaced vector defined by three points.
- loadfactor(tState)
- progressbar(varargin)
Description:
- retreating_stall_envelope...
- simpleTRsizing(AC)
- sinspace(d1, d2, n, factor)
SINSPACE cosine spaced vector.
- tail_rotor_power(TORQ,AC,...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,vara...TXTMENU Generate a numbered list text menu in the command window.
- vLdistribution(r,psi,AC,t...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_assumpti...
- 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