참조
카테고리 : 슬롯 무료체험 NOA 라이브러리
메인파일 : torsion.gms
$onText
비틀림이 발생할 때 무한히 긴 실린더의 잠재적인 응력 결정
적용됩니다.
이 모델은 COPS 벤치마킹 제품군에서 나온 것입니다.
http://www-unix.mcs.anl.gov/~more/cops/를 참조하세요.
내부 격자점 수는 다음 명령을 사용하여 지정할 수 있습니다.
라인 매개변수 --nx 및 --ny.
nx-1 = 50에 대한 COPS 성능 테스트가 보고되었습니다.
ny-1 = 25, 50, 75, 100
참고자료:
Dolan, E D 등, J J, COPS를 사용한 벤치마킹 최적화 소프트웨어.
기술. 대표, 수학 및 컴퓨터 과학부, 2000.
Glowinski, R, 비선형 변형 문제에 대한 수치적 방법.
스프링거 출판사, 1984.
Averick, B M, Carter, R G, More, J J 및 Xue, G L, MINPACK-2 테스트
문제 수집. 기술. 대표, 수학과 컴퓨터 과학
아르곤 국립 연구소 부문, 1992.
Andrei, N., 제약 없는 최적화 알고리즘 추론에 대한 비판.
Romanian Academic Press, 부쿠레슈티, 2009, 페이지: 432-434.
$offText
$설정되지 않은 경우 nx $set nx 100
$설정되지 않은 경우 $set ny 100
첫 번째 방향으로 nx개의 그리드 포인트를 설정합니다. / x0*x%nx% /
두 번째 방향의 ny 그리드 점 / y0*y%ny% /
별칭(nx,i),(ny,j);
매개변수 D(nx,ny) 경계까지의 거리
x에 대한 hx 그리드 간격
y에 대한 hy 그리드 간격
삼각형의 면적
c 일부 상수 / 5.0 /;
hx := 1/(카드(nx)-1);
hy := 1/(카드(ny)-1);
면적 := 0.5*hx*hy;
D(i,j) := min(min(ord(i)-1,카드(nx)-ord(i))*hx,
min(ord(j)-1,카드(ny)-ord(j))*hy);
변수 v(nx,ny) 유한 요소 근사 응력,
린낮은,
린어퍼,
쿼드낮음,
쿼드어퍼,
스트레스;
방정식 정의,
디플루,
데프QL,
데프큐,
스트레스 해소;
defLL.. linLower =e= sum((nx(i+1),ny(j+1)), v[i+1,j] + v[i,j] +
v[i,j+1]);
defLU.. linUpper =e= sum((nx(i-1),ny(j-1)), v[i,j] + v[i-1,j] +
v[i,j-1]);
defQL..quadLower =e= sum((nx(i+1),ny(j+1)),
sqr((v[i+1,j]-v[i,j])/hx) +
sqr((v[i,j+1]-v[i,j])/hy));
defQU..quadUpper =e= sum((nx(i-1),ny(j-1)),
sqr((v[i,j]-v[i-1,j])/hx) +
sqr((v[i,j]-v[i,j-1])/hy));
defstress.. 스트레스 =e= 면적*( (quadLower +quadUpper)/2 -
c*(linLower + linUpper )/3);
모델 비틀림 / 모두 /;
$ifThenI x%mode%==xbook
v.lo(i,j) = -d(i,j);
v.up(i,j) = d(i,j);
v.l(i,j) = d(i,j);
d,hx,hy,area를 표시합니다.
$onEcho >minos.opt
초기본 한도 = 5000
$offEcho
torsion.workspace=120;
$endIf
nlp를 사용하여 비틀림을 최소화하는 응력을 해결합니다.
$ifThenI x%mode%==xbook
파일 res1 /torsion.txt/;
res1.pw=4000;
res1을 넣어;
loop(nx, loop(ny, put v.l(nx,ny):6:2; ); put /;); 놓다 /;
$endIf
* 비틀림 종료