Htb : 정수압 스러스트 베어링 설계

참조

  • Neculai Andrei, 슬롯 커뮤니티 기술을 사용한 비선형 최적화 애플리케이션, 스프링거 최적화 및 그 애플리케이션, 모델Htb(5.21) 장기계공학의 응용, 2013

카테고리 : 슬롯 커뮤니티 NOA 라이브러리


메인파일 : htb.gms

$onText
정수압 추력 작동 중 전력 손실 최소화
베어링에는 여러 가지 제약이 따릅니다.

참고자료:
J.N. Siddall, 최적 엔지니어링 설계. 마르셀 데커, 뉴욕, 1982.

K. Deb, M. Goyal, 결합을 이용한 엔지니어링 설계 최적화
유전자 검색. In: Back, T., (Ed.) 제7차 인터내셔널 회보
유전 알고리즘에 관한 회의, 1997, 미국 미시건 주 이스트 랜싱, 7월 19-23일
1997, pp.521-528.

Carlos A. Coello Coello, 단일 제약 조건을 목표로 제약 조건 처리
객관적인 진화 최적화. 엔지니어링 최적화, vol.32,
(2000), pp.275-308.
$offText

스칼라
  gamma '석유의 중량 밀도(lb/in^3)' /0.0307/
  C '기름 비열(Btu/lb degr F)' /0.5/
  N '축의 각속도(rpm)' /750/
  Ws '추력 하중(lb)' /101000/
  Pmax '최대 입구 압력(psi)' /1000/
  delta_t_max '최대 온도 변화(degF)' /50/
  hmin '최소 막 두께(in)' /0.001/
  g '중력상수(in/s^2)' /386.4/
  taf '주위 온도(degF)' /100.0/
  P1 '출구 압력, 대기압(psi 게이지)' /0/
  Pump_efficiency '펌프 효율 70%' /0.7/
  pi '유명 상수' ;

  파이 = 2*arctan(inf);

표 oil_constants(*,*) 오일 등급

                    C1n
    'SAE 5' 10.85 -3.91
    'SAE 10' 10.45 -3.72
    'SAE 20' 10.04 -3.55
    'SAE 30' 9.88 -3.48
    'SAE 40' 9.83 -3.46
    'SAE 50' 9.82 -3.44 ;

매개변수
  C1 '주어진 오일 등급에 대한 c 인자'
  cn '주어진 오일 등급에 대한 n 계수'
  gr '기름의 비중'
  tar '주위 온도' ;

* 매개변수 계산 또는 추출:
  C1 = oil_constants('SAE 20', 'C1');
  cn = oil_constants('SAE 20', 'n');
  gr = 감마/0.0361111;
  타르= 459.7 + taf;

변수
  R '베어링 스텝 반경(in)'
  R0 '함몰 반경(in)'
  mu '레이놀즈 단위의 오일 점도(Lb sec/in)'
  Q '오일의 유량(in^3/sec)'
  PL '전력 손실(lb/초)'
  P0 '입구 압력(psi 게이지)'
  Ef '마찰로 인한 전력 손실(lb/초)'
  Ep '펌핑 에너지(lb/초)'
  h '필름 두께(in)'
  delta_t '온도 상승(°F)'
  t '온도(화씨)'
  W '무게(lb)' ;

방정식
  power_loss '목적 함수'
  Pumping_energy '펌프 효율'
  마찰 '마찰 손실'
  temp_rise '베어링을 통과하는 오일의 온도 상승'
  inlet_press '입구 압력과 유량의 관계'
  load_capacity '하중 운반 능력'
  oil_viscosity '온도에 따른 오일 점도'
  온도 'T = 주변 및 오일 출구 온도'
  radius '내부 반경은 가장 작아야 합니다'
  limit1 '압력 강하의 0.1%로 출구 손실을 제한'
  limit2 '압력 손실 시 표면 손상 방지' ;

* 목적 함수:
power_loss.. PL =e= Ep + Ef;

* 제약:
펌핑_에너지.. Ep =e= Q*(P0-P1)/pump_efficiency;

마찰.. Ef*h =e= sqr(2*pi*N/60)*[(2*pi*mu)]*(R**4-R0**4)/4;

temp_rise.. delta_t*(9336*Q*gamma*C) =e= Ef;

load_capacity.. W*(log(R)-log(R0)) =e= [(pi*P0)/2]*(sqr(R)-sqr(R0));

입구_압력.. P0*(pi*h**3) =e= (6*mu*Q)*(log(R)-log(R0));

오일_점도.. log10(8.112e6*mu+0.8) =e= (T**cn)*(10**C1);

온도.. T =e= 560 + delta_t/2;

반경.. R =g= R0;

한계1.. 감마*sqr(Q) =l= 0.001*g*sqr(2*pi*R*h)*P0;

한계2.. W =l= 5000*pi*(sqr(R)-sqr(R0));

* 경계:
P0.up = pmax;
h.lo = hmin;
delta_t.up = delta_t_max;
w.lo = Ws;

Ep.lo = 1;
Ef.lo = 1;
P0.lo = 1;
R.lo = 1;        R.up = 16;
R0.lo = 1;       R0.up = 16;
Q.lo = 1;        Q.up = 16;
mu.lo = 1.0e-6;  mu.up = 16.0e-6;
t.lo = 100;

* 가변 스케일링:
mu.scale = 1.0e-6;
h.규모 = hmin;
W.규모 = Ws;
PL.scale = 1.0e4;
Ep.scale = 1.0e4;
Ef.scale = 1.0e4;

* 초기 지점:
R.1 = 6;
R0.1 = 5;
mu.l = 0.000006;
Q.1 = 3;
P0.1 = 1000.0000;
Ef.1 = 16000;
Ep.1 = 3000;
h.l = 0.001;
delta_t.l = 50;
t.l = 600;
W.l = 101000;

모델 htb /all/;
htb.scaleopt = 1;

nlp를 사용하여 PL을 최소화하는 htb를 해결합니다.

$ifThenI x%mode%==xbook
/htb.dat/를 파일로 저장하세요.
내놔;
R.l:15:7, R0.l:15:7, mu.l:15:7, Q.l:15:7 /;
put P0.l:15:7, Ef.l:15:7, Ep.l:15:7, h.l:15:7 /;
put delta_t.l:15:7, t.l:15:7, W.l:15:7 /;
넣어 /"목표 ="PL.l:15:7 /;
$endIf
* HTB 끝