참조
카테고리 : 슬롯 NOA 라이브러리
메인파일 : bearing.gms
$onText
저널 베어링의 편심률 e가 주어지면 압력을 구하십시오.
베어링에서 샤프트를 분리하는 윤활유의 분포.
이 모델은 COPS 벤치마킹 제품군에서 나온 것입니다.
http://www-unix.mcs.anl.gov/~more/cops/를 참조하세요.
내부 격자점 수는 다음 명령을 사용하여 지정할 수 있습니다.
라인 매개변수 --nx 및 --ny.
COPS 성능 테스트가 보고되었습니다.
nx-1 = 50, ny-1 = 25, 50, 75, 100
Dolan, E D 등, J J, COPS를 사용한 벤치마킹 최적화 소프트웨어.
기술. 대표, 수학 및 컴퓨터 과학부, 2000.
Capriz, G 및 Cimatti, G, 이론의 자유 경계 문제
유체역학적 윤활: 설문조사.
Fasano, A 및 Primicerio, M, Eds, 수학 연구 노트.
피트먼(Pitman), 1983년, 613-635페이지.
Averick, B M, Carter, R G, More, J J 및 Xue, G L, MINPACK-2 테스트
문제 수집.
기술. 대표, 수학 및 컴퓨터 과학부,
아르곤 국립 연구소, 1992.
$offText
$설정되지 않은 경우 nx $set nx 100
$설정되지 않은 경우 $set ny 100
nx 설정 / 0*%nx% /
뉴욕 / 0*%ny% /
별칭 (nx,i),(ny,j);
스칼라 파이
b "그리드는 (0,2*pi)x(0,2*b)" /10/
e 이심률 /0.1/
hx, hy 그리드 간격
삼각형의 면적;
파이 = 2*arctan(inf);
hx = 2*pi/%nx%;
hy = 2*b/%ny%;
면적 = 0.5*hx*hy;
매개변수 wq(nx);
wq(nx) = power(1+e*cos((ord(nx)-1)*hx),3);
양의 변수 v(nx,ny);
변수 obj;
방정식 defobj 목적 함수;
defobj.. obj =e= (hx*hy/12)*sum(nx(i+1),ny(j+1)),
(wq[i]+2*wq[i+1])*
(sqr((v[i+1,j]-v[i,j])/hx) + sqr((v[i,j+1]-v[i,j])/hy))+
(hx*hy/12)*sum(nx(i+1),ny(j+1)), (2*wq[i+1]+2*wq[i])*
(sqr((v[i,j+1]-v[i+1,j+1])/hx) +
sqr((v[i+1,j]-v[i+1,j+1])/hy)) -
hx*hy*sum (nx,ny), e*sin((ord(nx)-1)*hx)*v[nx,ny];
* 출발점
v.l[nx,ny] = max(sin((ord(nx)-1)*hx),0);
v.fx[nx, '0'] = 0;
v.fx[nx,'%ny%'] = 0;
v.fx[ '0',ny] = 0;
v.fx['%nx%',ny] = 0;
모델 베어링 /all/;
$ifThenI x%mode%==xbook
$onEcho >minos.opt
초기본 한도 5000
$offEcho
베어링.작업공간=125;
베어링.reslim=6000;
$endIf
nlp를 사용하여 obj를 최소화하는 베어링을 해결합니다.
$ifThenI x%mode%==xbook
파일 rez /bearing.dat/
rez를 넣어;
loop(i, loop(j, put v.l(i,j):6:2); put/;);put/;
$endIf
* 엔드 베어링