Академический Документы
Профессиональный Документы
Культура Документы
практическая работа
Москва
Июнь,1998
Введение
В настоящее время в препроцессоре MSC/PATRAN V7.5 появилась возможность
создавать исходные (.bdf) файлы для структурной оптимизации конструкций. В программе
MSC/NASTRAN данный вид расчета называется SOL 200. Он основан на анализе
чувствительности и в основе использует метод сопряженных градиентов. MSC/NASTRAN
дает возможность оптимизировать как свойства элементов так и размеры конструкций,
используя при этом анализы: статический, на собственные частоты, устойчивость,
динамический, модальный динамический анализ установившихся процессов, модальный
динамический анализ переходных процессов, на статическую аэроупругость и флаттер.
Постановка задач оптимизации является сложной и неоднозначной. Решение данных задач,
как правило, требует много машинного времени, которое зависит от количества проектных
переменных и ограничений. Для уменьшения вычислений вводится большое количество
аналитических соотношений между переменными и свойствами элементов, что осложняет
систематизацию задач оптимизации и соответственно создание препроцессора.
Последние изменения в программе MSC/NASTRAN дали возможность генерировать
более простые исходные файлы, чем и воспользовались разработчики препроцессора.
MSC/PATRAN V7.5 - это первый шаг в систематизации задач оптимизации, и на данный
момент этот препроцессор позволяет генерировать исходные файлы для оптимизации
свойств элементов при статическом анализе и анализе на собственные частоты. В случае
необходимости проведения других видов расчетов можно использовать исходные файлы,
созданные программой MSC/PATRAN V7.5 с последующими изменениями. В пятой задаче
приведен пример подобного изменения исходного файла.
Пример 1
Общее описание
В данной задаче рассматривается общий подход к оптимизации в препроцессоре
MSC/PATRAN на примере стержня, воспринимающего осевые нагрузки, создается модель
конструкции, модель оптимизации, в том числе: проектные переменные, переменные
состояния, ограничения. Далее приведен файл исходных данных с примечаниями. Цель
данного примера: на простейшей задаче показать работу препроцессора и структуру
создаваемого им файла. Для сравнения, решение данной задачи представлено в Design
Sensitivity and Optimization in MSC/NASTRAN SEMINAR NOTES V68 на странице 1-13 (ONE
BAR SUBJECT COMPRESSIVE LOAD).
Постановка задачи
Минимизировать вес стержня, варьируя площадью поперечного сечения, при
ограничениях на напряжения.
P
P = 1.4E4 N
L = 500 mm
ρ, A, E A = 75 mm2
E = 7.0E4 N/mm2
L ρ = 2.7E-6 kg/mm3
σmax = 200 N/mm2
Процедура выполнения
Запускаем MSC/PATRAN.
File / New / в панель New Database Name вводим имя новой базы данных One_bar / OK
Появляется окно New Model Preferences, в котором устанавливаем / Tolerance : Based on
Model / Approximate Maximum Model Dimension : 10 / Analysis Code : MSC/NASTRAN / OK
Создание нагрузки:
Loads/BCs / Create / Force / Nodal / New Set Name : force / Input Data / Force <F1 F2
F3> : <0,0,-1.0E4> / OK / Select Application Region / Select Nodes : Node 2 / Add / OK /
Apply.
Описание
нижних и верхних
границ проектных
переменных,
наложение
ограничений на
конструкцию
(создание переменных
состояния)
Tools / Design
Study
Попадаем в меню
Design Study / Create
/ Design Study /
Введите имя Design
Study Name : Study1
$ ...OPTIMIZATION CONTROL
DOPTPRM DESMAX 10 P1 0 P2 1 CONV1 .001 + B
* B CONV2 1.-20 CONVDV .001 * C
* C CONVPR .01 DELP .2 * D
+ D DELX 1. DPMIN .01 DXMIN .05
ENDDATA
Результаты расчета
****************************************************************************************
INSPECTION OF CONVERGENCE DATA FOR THE OPTIMAL DESIGN WITH RESPECT TO
APPROXIMATE MODELS (SOFT CONVERGENCE DECISION LOGIC)
****************************************************************************************
***************************************************************
SUMMARY OF DESIGN CYCLE HISTORY
***************************************************************
(HARD CONVERGENCE ACHIEVED)
Пример 2
Общее описание
В данном примере представлена оптимизация трех стержневой фермы при двух
вариантах нагружения и при ограничениях на напряжения и перемещения для одного вида
анализа.
Постановка задачи
Минимизировать вес конструкции, варьируя площадями поперечного сечения стержней, при
ограничениях на напряжения.
Y
10” 10”
1 2 3
X
A1 A2 A3
1 2 3 10”
Subcase 2 Subcase 1
20.000 lbs 20.000 lbs
x: -16.0 lbs x: 16.0 lbs
y: -12.0 lbs y: -12.0 lbs
Модель оптимизации:
Проектные переменные - площади поперечного сечения А1 и А2.
Объектная функция - минимум веса.
Ограничения:
Предельно допустимые напряжения σсж= 15 ksi, σраст=20 ksi.
Предельно допустимые перемещения по оси X ±0.2 in, по оси Y ±0.2 in.
Процедура выполнения
Запускаем MSC/PATRAN.
File / New / в панель New Database Name вводим имя новой базы данных Three_bar / OK
Появляется окно New Model Preferences, в котором устанавливаем / Tolerance : Based on
Model / Approximate Maximum Model Dimension : 10 / Analysis Code : MSC/NASTRAN / OK
Создание КЭ модели
Создание четырех точек с координатами (-10 0 0), (0 0 0), (10 0 0) и (0 -10 0):
Geometry / Create / Point / XYZ / Point Coordinates List: [-10 0 0] / Apply, повторите
процедуру для создания остальных точек.
Ограничения:
Нажав на кнопку Design Constraints, попадем в меню Design Constrai… Накладываем
ограничения по осевым напряжениям на элементы со свойствами prop1 и prop2 σmin = -15000
σmax = 20000. Create / Linear Static / Stress / нажмите на кнопку PSET / 1D / Rod / в окне
Select Existing Properties выделите prop1 и prop2 / Stress Component : Axial / Lower Bound : -
15000 / Upper Bound : 20000 / Apply / Накладываем ограничения ±0.2 in по осям X и Y на
перемещение узла № 4. Create / Linear Static / Displacement / Select Node : Node 4,
Displacement Component : TX / Lower Bound : -0.2 / Upper Bound : 0.2 / Apply / Select Node :
Node 4, Displacement Component : TY / Lower Bound : -0.2 / Upper Bound : 0.2 / Apply / Теперь
PARAM PATVER 3.
PARAM AUTOSPC YES
PARAM COUPMASS -1
PARAM K6ROT 0.
PARAM WTMASS 1.
PARAM,NOCOMPS,-1
PARAM PRTMAXIM YES
PARAM NASPRT 0
$ Direct Text Input for Bulk Data
$ Elements and Element Properties for region : prop1
PROD 1 1 1.
CROD 1 1 1 4
CROD 3 1 3 4
$ Elements and Element Properties for region : prop2
PROD 2 1 2.
CROD 2 2 2 4
$ Referenced Material Records
$ Material Record : al
$ Description of Material : Date: 16-Jun-98 Time: 19:29:48
MAT1 1 1.+7 .33 1.
$ Nodes of the Entire Model
GRID 1 -10. 0. 0.
GRID 2 0. 0. 0.
GRID 3 10. 0. 0.
GRID 4 0. -10. 0.
$ Loads for Load Case : sub1
SPCADD 2 4 6
LOAD 2 1. 1. 1
$ Loads for Load Case : sub2
LOAD 4 1. 1. 3
$ Displacement Constraints of Load Set : fix
SPC1 4 123456 1 2 3
$ Displacement Constraints of Load Set : fix2
SPC1 6 3456 4
$ Nodal Forces of Load Set : forse1
FORCE 1 4 0 20000. .8 -.6 0.
$ Nodal Forces of Load Set : forse2
FORCE 3 4 0 20000. -.8 -.6 0.
$ Referenced Coordinate Frames
$ ...DESIGN VARIABLE DEFINITION
$ prop1_Area
DESVAR 1 prop1_:1 1. .1 100. 1.
$ prop2_Area
DESVAR 2 prop2_:2 2. .1 100. 1.
$ ...DEFINITION OF DESIGN VARIABLE TO ANALYSIS MODEL PARAMETER
RELATIONS
DVPREL1 1 PROD 1 4 + A
+ A1 1.
DVPREL1 2 PROD 2 4 + B
+ B2 1.
$ ...STRUCTURAL RESPONSE IDENTIFICATION
DRESP1 1 W WEIGHT
$ DISP_1
DRESP1 2 DIS2 DISP 1 4
$ DISP_2
DRESP1 3 DIS3 DISP 2 4
$ STRESS_1
DRESP1 4 STR4 STRESS PROD 2 1 + C
+ C2
$ ...CONSTRAINTS
DCONSTR 1 2 -.2 .2
DCONSTR 1 3 -.2 .2
DCONSTR 1 4 -15000. 20000.
$ ...OPTIMIZATION CONTROL
DOPTPRM DESMAX 10 P1 0 P2 1 CONV1 .001 + D
* D CONV2 1.-20 CONVDV .001 * E
* E CONVPR .01 DELP .2 * F
+ F DELX 1. DPMIN .01 DXMIN .05
ENDDATA
Результаты расчета
***************************************************************
SUMMARY OF DESIGN CYCLE HISTORY
***************************************************************
----------------------------------------------------------------------------------------------------------------------------------
INTERNAL | EXTERNAL | |
DV. ID. | DV. ID. | LABEL | INITIAL : 6 : 7 : 8 : 9 : 10 : 11 :
----------------------------------------------------------------------------------------------------------------------------------
1| 1 | PROP1_:1 | 7.8347E-01 : 8.1314E-01 : 8.3467E-01 : 8.4226E-01 :
2| 2 | PROP2_:2 | 5.3026E-01 : 4.2329E-01 : 3.4665E-01 : 3.2321E-01 :
----------------------------------------------------------------------------------------------------------------------------------
0*** USER INFORMATION MESSAGE 6464 (DOM12E)
RUN TERMINATED DUE TO HARD CONVERGENCE TO AN OPTIMUM AT CYCLE NUMBER = 9.
Пример 3
Общее описание
В данном примере представлена оптимизация панели с ограничивающими ее поясами
при ограничениях на собственные частоты. Приведен пример построения графиков истории
изменнения проектных переменных в MSC/PATRAN V75.
Постановка задачи
Минимизировать вес конструкции, варьируя площадями поперечного сечения поясов и
толщинами стенок, при ограничениях на собственные частоты.
A1 A2 A3
15lb каждая
6” T1 T2 T3 X
Модель оптимизации:
Проектные переменные - площади поперечного сечения А1, А2 и А3, толщины стенок Т1, Т2 и
Т3 .
Объектная функция - минимум веса.
Ограничения:
Поперечные собственные частоты ≥ 20Гц.
Процедура выполнения
Запускаем MSC/PATRAN.
File / New / в панель New Database Name вводим имя новой базы данных Beam_vibration
/ OK
Появляется окно New Model Preferences, в котором устанавливаем / Tolerance : Based on
Model / Approximate Maximum Model Dimension : 10 / Analysis Code : MSC/NASTRAN / OK
Создание КЭ модели
Geometry / Create / Surface / XYZ / Vector Coordinate List: < 60 0 6 > / Origin Coordinates
List: [0 0 -3] / Apply. Сориентируйте изображение в плоскости Z,Y,X.
Создание КЭ сетки:
Finite Elements / Create / Mesh / Surface / включите кнопку IsoMesh / Surface List = :
Surface 1 / Apply.
Объединение узлов:
Finite Elements / Equivalence / All / Tolerance Cube / Equivalencing Tolerance = :
0.005 / Apply.
Попадаем в меню Design Study / Create / Design Study / Вводим имя Design Study Name :
Study1
Опишем границы проектных переменных:
Нажав на кнопку Design Variables, попадем в меню Define Design Variables. Определим
нижнюю и верхнюю границы (максимальное и минимальное значения) проектных
переменных. В поле Lower Bound (нижняя граница) для переменных типа Area введите 0.01,
для переменных типа Thickness введите 0.001, в поле Upper Bound (верхняя граница) для
переменных типа Area введите 100., для переменных типа Thickness введите 10.0 / OK.
Ограничения:
Нажав на кнопку Design Constraints, попадем в меню Design Constrai… Накладываем
ограничения на собственные частоты нижняя граница 20Гц верхняя - 70Гц. Create / Normal
Modes / Frequency / Frequency Modes Number : 1 / Lower Bound : 20 / Upper Bound : 70 /
Apply / Close / Apply.
BC = 2
VECTOR(SORT1,REAL)=ALL
SPCFORCES(SORT1,REAL)=ALL
DESSUB = 1
BEGIN BULK
PARAM POST -1
PARAM PATVER 3.
PARAM AUTOSPC YES
PARAM COUPMASS -1
PARAM K6ROT 0.
PARAM WTMASS .002588
PARAM,NOCOMPS,-1
PARAM PRTMAXIM YES
PARAM NASPRT 0
EIGRL 1 10 0
$ Direct Text Input for Bulk Data
$ Elements and Element Properties for region : A2
PROD 1 1 1.
CROD 5 1 3 5
CROD 8 1 4 6
$ Elements and Element Properties for region : A1
PROD 2 1 1.
CROD 4 2 1 3
CROD 7 2 2 4
$ Elements and Element Properties for region : A3
PROD 3 1 1.
CROD 6 3 5 7
CROD 9 3 6 8
$ Elements and Element Properties for region : T1
PSHELL 4 1 .2 1 1
CQUAD4 1 4 1 2 4 3
$ Elements and Element Properties for region : T2
PSHELL 5 1 .2 1 1
CQUAD4 2 5 3 4 6 5
$ Elements and Element Properties for region : T3
PSHELL 6 1 .2 1 1
CQUAD4 3 6 5 6 8 7
$ Elements and Element Properties for region : mass
CONM2 10 3 15.
CONM2 11 4 15.
CONM2 12 5 15.
CONM2 13 6 15.
CONM2 14 7 15.
CONM2 15 8 15.
$ Referenced Material Records
$ Material Record : Mat1
$ Description of Material : Date: 18-Jun-98 Time: 12:47:27
MAT1 1 1.03+7 .3 .1
Результаты расчета
***************************************************************
SUMMARY OF DESIGN CYCLE HISTORY
***************************************************************
(HARD CONVERGENCE ACHIEVED)
Создание графиков
XY Plot / Post / XYWindow / в окне Post/Unpost XYWindow выделите Design Variable
History / Apply. Для построения графика трех переменных выполните следующую
операцию: XY Plot / Post / Curve / в окне Post/Unpost Curves выделите A1,A2,A3 / Apply.
Аналогичным образом можно построить все нижеприведенные графики.
Пример 4
Общее описание
В данном примере представлена оптимизация распределения высоты поперечного
сечения консольно закрепленной балки с ограничениями на напряжения и вторую
собственную частоту. В данном случае проводится оптимизация при двух видах расчета.
Постановка задачи
Минимизировать вес конструкции, варьируя высотой поперечного сечения балки, при
ограничениях на предельно-допустимые напряжения и вторую собственную частоту.
H1 H2 H3 H4 H5 H6 H7
123456 345
F=20N
W=0.01m
8 σmax = 2.1E+8 Pa
Модель оптимизации:
Проектные переменные - высоты поперечного сечения H1,H2…H7.
Объектная функция - минимум веса.
Ограничения:
Максимальное напряжение ≤ 2.1E+8
Вторая поперечная собственная частота ≥ 500Гц.
Процедура выполнения
Запускаем MSC/PATRAN.
File / New / в панель New Database Name вводим имя новой базы данных Constr_bar / OK
Появляется окно New Model Preferences, в котором устанавливаем / Tolerance : Based on
Model / Approximate Maximum Model Dimension : 70 / Analysis Code : MSC/NASTRAN / OK
Создание КЭ модели
Создание кривой с координатами (0 0 0) и (0.2 0 0):
Geometry / Create / Curve / Point / Option: 2 Point / Starting Point List: [0 0 0] / Ending
Point List: [0.2 0 0] / Apply.
Finite Elements / Create / Mesh Seed / Uniform / включите кнопку Number of Elements
/ Number = : 7 / Curve List = : Curve 1 / если кнопка Auto Execute выключена Apply.
Создание нагрузки:
Loads/BCs / Create / Force / Nodal / New Set Name : force1 / Input Data… / Force <F1
F2 F3> : <0,20,0> / OK / Select Application Region… / Select Nodes : Node 8 / Add / OK /
Apply.
Ограничения:
Нажав на кнопку Design Constraints, попадем в меню Design Constrai… Накладываем
ограничения по максимальным напряжениям на концах А элементов со свойствами prop1,
prop2 и т.д. σmin = -2.1E+8 σmax = 2.1E+8. Create / Linear Static / Stress / нажмите на кнопку
Fem / 1D / Bar / Select Finite Element: Element 1:7 / Stress Component : Maximum / Location on
Element : ENDA Lower Bound : -2.1E8 / Upper Bound : 2.1E8 / Apply / Накладываем
ограничения по максимальным напряжениям на концах В элементов со свойствами prop1,
prop2 и т.д. σmin = -2.1E+8 σmax = 2.1E+8. Create / Linear Static / Stress / нажмите на кнопку
Fem / 1D / Bar / Select Finite Element: Element 1:7 / Stress Component : Maximum / Location on
Element : ENDB Lower Bound : -2.1E8 / Upper Bound : 2.1E8 / Apply / Теперь у Вас есть два
ограничения с именами DISP_1 и DISP_2.
Накладываем ограничения на 2 собственную частоту нижняя граница 500Гц верхняя -
9000Гц. Create / Normal Modes / Frequency / Frequency Modes Number : 2 / Lower Bound : 500
/ Upper Bound : 9000 / Apply / Close / Apply
LOAD 2 1. 1. 1
$ Loads for Load Case : Default
$ Displacement Constraints of Load Set : d1
SPC1 4 123456 1
$ Displacement Constraints of Load Set : d2
SPC1 6 345 2 THRU 8
$ Nodal Forces of Load Set : f1
FORCE 1 8 0 20. 0. 1. 0.
$ Referenced Coordinate Frames
$ ...DESIGN VARIABLE DEFINITION
$ box1_H
DESVAR 1 box1_H:1 .02 .001 .022 1.
$ box2_H
DESVAR 2 box2_H:2 .02 .001 .022 1.
$ box3_H
DESVAR 3 box3_H:3 .02 .001 .022 1.
$ box4_H
DESVAR 4 box4_H:4 .02 .001 .022 1.
$ box5_H
DESVAR 5 box5_H:5 .02 .001 .022 1.
$ box6_H
DESVAR 6 box6_H:6 .02 .001 .022 1.
$ box7_H
DESVAR 7 box7_H:7 .02 .001 .022 1.
$ ...DEFINITION OF DESIGN VARIABLE TO ANALYSIS MODEL PARAMETER
RELATIONS
DVPREL1 1 PBARL 1 13 + I
+ I1 1.
DVPREL1 2 PBARL 2 13 + J
+ J2 1.
DVPREL1 3 PBARL 3 13 + K
+ K3 1.
DVPREL1 4 PBARL 4 13 + L
+ L4 1.
DVPREL1 5 PBARL 5 13 + M
+ M5 1.
DVPREL1 6 PBARL 6 13 + N
+ N6 1.
DVPREL1 7 PBARL 7 13 + O
+ O7 1.
$ ...STRUCTURAL RESPONSE IDENTIFICATION
DRESP1 1 W WEIGHT
$ FREQ_1
DRESP1 2 FREQ10 FREQ 2
$ STRESS_1
DRESP1 3 STR3 STRESS PBAR 7 1 + P
+ P2 3 4 5 6 7
$ STRESS_2
Результаты расчета
***************************************************************
SUMMARY OF DESIGN CYCLE HISTORY
***************************************************************
NUMBER OF FINITE ELEMENT ANALYSES COMPLETED 16
NUMBER OF OPTIMIZATIONS W.R.T. APPROXIMATE MODELS 15
DESIGN VARIABLE HISTORY
-------------------------------------------------------------------------------------------------------------------------------------
INTERNAL | EXTERNAL | |
DV. ID. | DV. ID. | LABEL | INITIAL : 1 : 2 : 3 : 4 : 5 :
-------------------------------------------------------------------------------------------------------------------------------------
1 | 1 | BOX1_H:1 | 2.00E-02 : 1.60E-02 : 1.28E-02 : 9.87E-03 : 6.87E-03 : 3.87E-03 :
2 | 2 | BOX2_H:2 | 2.00E-02 : 1.60E-02 : 1.28E-02 : 9.87E-03 : 6.88E-03 : 3.88E-03 :
3 | 3 | BOX3_H:3 | 2.00E-02 : 1.60E-02 : 1.28E-02 : 9.87E-03 : 6.87E-03 : 3.87E-03 :
4 | 4 | BOX4_H:4 | 2.00E-02 : 1.60E-02 : 1.28E-02 : 9.87E-03 : 6.88E-03 : 3.88E-03 :
5 | 5 | BOX5_H:5 | 2.00E-02 : 1.60E-02 : 1.28E-02 : 9.87E-03 : 6.87E-03 : 3.87E-03 :
6 | 6 | BOX6_H:6 | 2.00E-02 : 1.60E-02 : 1.28E-02 : 9.87E-03 : 6.88E-03 : 3.88E-03 :
7 | 7 | BOX7_H:7 | 2.00E-02 : 1.60E-02 : 1.28E-02 : 9.87E-03 : 6.87E-03 : 3.87E-03 :
----------------------------------------------------------------------------------------------------------------------------------
INTERNAL |EXTERNAL | |
DV. ID. | DV. ID. | LABEL | 6 : 7 : 8 : 9 : 10 : 11 :
----------------------------------------------------------------------------------------------------------------------------------
1 | 1 | BOX1_H:1 | 4.16E-03 : 4.25E-03 : 4.31E-03 : 4.29E-03 : 4.34E-03 : 4.53E-03 :
2 | 2 | BOX2_H:2 | 3.03E-03 : 3.31E-03 : 3.03E-03 : 3.21E-03 : 3.07E-03 : 3.20E-03 :
3 | 3 | BOX3_H:3 | 3.31E-03 : 2.99E-03 : 2.78E-03 : 2.94E-03 : 2.86E-03 : 2.85E-03 :
4 | 4 | BOX4_H:4 | 3.85E-03 : 3.67E-03 : 3.52E-03 : 3.50E-03 : 3.48E-03 : 3.44E-03 :
5 | 5 | BOX5_H:5 | 3.83E-03 : 3.70E-03 : 3.57E-03 : 3.55E-03 : 3.54E-03 : 3.58E-03 :
6 | 6 | BOX6_H:6 | 3.34E-03 : 3.04E-03 : 2.85E-03 : 2.84E-03 : 2.81E-03 : 2.62E-03 :
7 | 7 | BOX7_H:7 | 2.68E-03 : 1.93E-03 : 1.20E-03 : 1.51E-03 : 1.22E-03 : 1.37E-03 :
----------------------------------------------------------------------------------------------------------------------------------
INTERNAL | EXTERNAL | |
DV. ID. | DV. ID. | LABEL | 12 : 13 : 14 : 15 : 16 : 17 :
----------------------------------------------------------------------------------------------------------------------------------
1 | 1 | BOX1_H:1 | 4.52E-03 : 4.52E-03 : 4.57E-03 : 4.57E-03 :
2 | 2 | BOX2_H:2 | 3.13E-03 : 3.12E-03 : 3.12E-03 : 3.12E-03 :
3 | 3 | BOX3_H:3 | 2.99E-03 : 2.87E-03 : 2.86E-03 : 2.86E-03 :
4 | 4 | BOX4_H:4 | 3.41E-03 : 3.40E-03 : 3.36E-03 : 3.36E-03 :
5 | 5 | BOX5_H:5 | 3.55E-03 : 3.54E-03 : 3.47E-03 : 3.47E-03 :
6 | 6 | BOX6_H:6 | 2.62E-03 : 2.68E-03 : 2.70E-03 : 2.70E-03 :
7 | 7 | BOX7_H:7 | 1.23E-03 : 1.32E-03 : 1.24E-03 : 1.31E-03 :
------------------------------------------------------------------------------------------------------------
Пример 5
Общее описание
В данном примере представлена оптимизация поясов и стенки части лонжерона с
ограничениями на напряжения и устойчивость. В данном случае проводится оптимизация
при двух видах расчета. Особенностью данного примера является отсутствие возможности
создания оптимизационного файла препроцессором для ограничений на устойчивость. Тем
не менее
Постановка задачи
Минимизировать вес лонжерона, варьируя высотами поперечных сечений поясов и
толщиной стенки, при ограничениях на предельно-допустимые напряжения и устойчивость.
Схема нагружения
Y
U123 U3
100000Н
U3
U123
Q∑=11000H
100000Н X
U123 U3
t1
S=0.02м t2 H
plate_Thickness
Материал поясов:
Е=2.1Е11Па
µ=0.3
ρ=7800кг/м3
Материал стенок:
Е=7.0Е11Па
µ=0.3
ρ=2700кг/м3
Примечание: В районе сосредоточенных нагрузок толщина стенки искусственно увеличена
и проектной переменной не является. Это необходимо для обеспечения распределенных
нагрузок в стенке лонжерона. При проектировании реальных конструкций подобное
моделирование части лонжерона не желательно.
Модель оптимизации:
Проектные переменные - высоты полок поясов t1 и толщина стенки лонжерона.
Объектная функция - минимум веса.
Ограничения:
Максимально-допустимые напряжения в поясах ≤ 5.6E+8
Максимально-допустимые напряжения в стенке ≤ 2.1E+8
λ≥1.0, где Pкр=λРдейств.
Примечание: Так как препроцессор MSC/PATRAN не поддерживает оптимизацию с
ограничениями на устойчивость, мы рекомендуем создать оптимизационную модель с
комплексными ограничениями на предельно-допустимые напряжения и собственные
частоты. А следующим этапом переправить в исходном файле (.bdf) тип расчета, метод
расчета, переменные состояния и ограничения в соответствии с требованиями расчета на
устойчивость. Данный подход оправдывается тем, что в основах расчета на устойчивость и
собственные частоты лежат общие принципы и структура исходных файлов очень близка.
Процедура выполнения
Запускаем MSC/PATRAN.
File / New / в панель New Database Name вводим имя новой базы данных Longeron / OK
Появляется окно New Model Preferences, в котором устанавливаем / Tolerance : Based on
Model / Approximate Maximum Model Dimension : 10 / Analysis Code : MSC/NASTRAN / OK
Создание КЭ модели
Создание поверхности с координатами (0 0 0), (0 0.2 0), (0.5 0 0) и (0.5 0.2 0):
Geometry / Create / Surface / XYZ / Vector Coordinate List: < 0.5 0.2 0 > / Origin
Coordinates List: [0 0 0] / Apply.
Создание КЭ сетки:
Finite Elements / Create / Mesh / Surface / включите кнопку IsoMesh / Surface List = :
Surface 1 / Apply.
Объединение узлов:
Finite Elements / Equivalence / All / Tolerance Cube / Equivalencing Tolerance = :
0.005 / Apply.
исключая два правых столбца, которые соответствуют другим свойствам. Select Members :
(список элементов) / Add / Apply.
Properties / Create / 2 D / Shell / Property Set Name : platex / нажмите кнопку Input
Property / Material Name : m:Mat2/ Thickness : 0.02 / OK / Вберите два правых столбца
плоских элементов Select Members : (список элементов) / Add / Apply.
Создание нагрузки:
Loads/BCs / Create / Force / Nodal / New Set Name : m_f_b / Input Data… / Force <F1
F2 F3> : <-100000,0,0> / OK / Select Application Region… / Select Nodes : Node 231 / Add
/ OK / Apply.
Loads/BCs / Create / Force / Nodal / New Set Name : m_f_t / Input Data… / Force <F1
F2 F3> : <100000,0,0> / OK / Select Application Region… / Select Nodes : Node 21 / Add /
OK / Apply.
Loads/BCs / Create / Force / Nodal / New Set Name : q_f / Input Data… / Force <F1 F2
F3> : <0,1000,0> / OK / Select Application Region… / Выберите все крайне правые узлы
Select Nodes : Node 21:231:21 / Add / OK / Apply.
Ограничения:
Нажав на кнопку Design Constraints, попадем в меню Design Constrai… Накладываем
ограничения по максимальным напряжениям на концах А элементов со свойствами prop1,
prop2 и т.д. σmin = -5.6E+8 σmax = 5.6E+8. Create / Linear Static / Stress / нажмите на кнопку
PSET / 1D / Bar нажмите на кнопку Select All / Stress Component : Maximum / Location on
Element : ENDA Lower Bound : -5.6E8 / Upper Bound : 5.6E8 / Apply /
Накладываем ограничения по максимальным напряжениям на концах В элементов со
свойствами prop1, prop2 и т.д. σmin = -5.6E+8 σmax = 5.6E+8. Create / Linear Static / Stress /
нажмите на кнопку Select All / Stress Component : Maximum / Location on Element : ENDB
Lower Bound : -5.6E8 / Upper Bound : 5.6E8 / Apply.
Накладываем ограничения по максимальным напряжениям на стенку Create / Linear Static /
Stress / 2D / Plate/Shell / В окне Select Existing Properties выделите plate, что отобразится в
окне Select Element Properties / Stress Component : von Mises / Location on Element :
Max.Corners Lower Bound : -2.1E8 / Upper Bound : 2.1E8 / Apply.
Так как данный препроцессор не может создавать исходные файлы с ограничениями на
потерю устойчивости, накладываем ограничения на собственную частоту: нижняя граница
500Гц верхняя - 9000Гц. Create / Normal Modes / Frequency / Frequency Modes Number : 1 /
Lower Bound : 500 / Upper Bound : 9000 / Apply / Close / Apply.
+ R DRESP1 5 6 7 8 9 10 11 + S
+ S 12
DEQATN 1 MAXSTRE ( STR5 , STR6 , STR7 , STR8 , STR9 , STR10 ,
STR11 , STR12 ) = MAX ( STR5 , STR6 , STR7 , STR8 , STR9 ,
STR10 , STR11 , STR12 )
$ ...CONSTRAINTS
DCONSTR 1 3 -5.6+8 5.6+8
DCONSTR 1 4 -5.6+8 5.6+8
DCONSTR 1 13 -2.1+8 2.1+8
DCONSTR 2 2 500. 9000.
$ ...OPTIMIZATION CONTROL
DOPTPRM DESMAX 5 P1 0 P2 1 CONV1 .001 + T
* T CONV2 1.-20 CONVDV .001 * U
* U CONVPR .01 DELP .2 * V
+ V DELX 1. DPMIN .01 DXMIN .05
ENDDATA
DRESP1 1 W WEIGHT
$ FREQ_1
DRESP1,2,BUCK1,LAMA,,,1
$ STRESS_1
DRESP1 3 STR3 STRESS PBAR 7 1 + P
+ P2 3 4 5
$ STRESS_2
DRESP1 4 STR4 STRESS PBAR 7 1 + Q
+ Q2 3 4 5
$ STRESS_3
DRESP1 5 STR5 STRESS PSHELL 28 6
DRESP1 6 STR6 STRESS PSHELL 45 6
DRESP1 7 STR7 STRESS PSHELL 62 6
DRESP1 8 STR8 STRESS PSHELL 79 6
DRESP1 9 STR9 STRESS PSHELL 36 6
DRESP1 10 STR10 STRESS PSHELL 53 6
DRESP1 11 STR11 STRESS PSHELL 70 6
DRESP1 12 STR12 STRESS PSHELL 87 6
DRESP2 13 MAX13 1 + R
+ R DRESP1 5 6 7 8 9 10 11 + S
+ S 12
DEQATN 1 MAXSTRE ( STR5 , STR6 , STR7 , STR8 , STR9 , STR10 ,
STR11 , STR12 ) = MAX ( STR5 , STR6 , STR7 , STR8 , STR9 ,
STR10 , STR11 , STR12 )
$ ...CONSTRAINTS
DCONSTR 1 3 -5.6+8 5.6+8
DCONSTR 1 4 -5.6+8 5.6+8
DCONSTR 1 13 -2.1+8 2.1+8
DCONSTR 2 2 1.00 9.5
DSCREEN,LAMA
$ ...OPTIMIZATION CONTROL
DOPTPRM DESMAX 5 P1 0 P2 1 CONV1 .001 + T
* T CONV2 1.-20 CONVDV .001 * U
* U CONVPR .01 DELP .2 * V
+ V DELX 1. DPMIN .01 DXMIN .05
ENDDATA
Результаты расчета
DESIGN VARIABLE HISTORY
-------------------------------------------------------------------------------------------------------------------------------
INTERNAL | EXTERNAL | |
DV. ID. | DV. ID. | LABEL | INITIAL : 1 : 2 : 3 :
-------------------------------------------------------------------------------------------------------------------------------
1 | 1 | T1_T1:1| 6.0000E-03 : 6.4240E-03 : 6.3390E-03 : 6.3390E-03 :
2 | 2 | T2_T1:2| 6.0000E-03 : 6.6056E-03 : 6.5208E-03 : 6.5208E-03 :
3 | 3 | T3_T1:3| 6.0000E-03 : 6.3579E-03 : 6.2732E-03 : 6.2732E-03 :
4 | 4 | T4_T1:4| 6.0000E-03 : 5.9320E-03 : 5.7961E-03 : 5.7961E-03 :
5 | 5 | T5_T1:5| 6.0000E-03 : 4.9405E-03 : 4.6706E-03 : 4.6706E-03 :
6 | 6 | PLATE_:6 | 1.0000E-03 : 1.9845E-03 : 1.7883E-03 : 1.7883E-03 :
Приложение А
{
xr = x , x ,..., x
1 2 n } проектные переменные
Опишем основные проблемы поиска минимума целевой функции и их решение в программе
MSC/NASTRAN.
Перепишем вектор переменной в виде:
r
xr 1 = xr o + a * S 1 , где (1)
rx o - начальный вектор проектной переменной,
S 1 - вектор поиска,
a * - параметр поиска.
Данное уравнение представляет собой одномерный поиск, когда коррекция х зависит только
от одного скалярного параметра a * . a * - величина, перемещающая значение проектной
1 1
переменной в направлении S . В направлении S мы имеем или неточные ограничения,
или перемещение. Обнаружение a * завершает первую итерацию. В случае отсутствия
ограничений, мы могли бы просто повторить процесс нахождения направления с
максимальным градиентом и продолжить перемещение. На практике есть лучший способ
выбора направления, называющегося сопряженным направлением. В любом случае мы
находим направление вниз и перемещаемся насколько это возможно.
Теперь предположим, что мы наткнулись на ограничения. В этом случае надо найти
1
направление S , которое приведет к уменьшению целевой функции. Математически это
будет выглядеть так:
r r
∇F ( x ) ⋅ S ≤ 0 (2)
Данное уравнение является скалярной формой (точечной) градиента объектной функции с
1
направлением поиска S .
r r r r r
∇F ( x ) ⋅ S ⋅ cos(∇F ( x ) ∧ S ) = ∇F ( x ) ⋅ S
r
Из формулы видно, что знак градиента определяет косинус. Направление
r
cos(∇F ( x ) ∧ S ) = 0 - это углы 900 и 2700, направление где grad ( F ( xr )) = 0 .Напротив,
r
если значение косинуса -1, то мы получим направление с максимальным градиентом. Таким
образом, мы хотим найти направление поиска, которое делает целевую функцию наиболее
отрицательной, но оно должно остаться в пределах ограничений. То есть, к данному
требованию прилагается дополнительное, связанное с ограничениями:
r r
∇g j ( x ) ⋅ S ≤ 0
сектор
F(xo) допустимого
направления
x
F(x) = constant
g 1 (xo)
S
сектор допустимо-
применимого применимый g 2 (x) = 0
направления сектор
g 1 (x) = 0
0 X2
Для объектной функции угол между направлением поиска и градиентом ограничений должен
быть между 900 и 2700, данным углам соответствует направление касательных к границе
ограничений. Чтобы найти направление поиска, которое дает максимальное улучшение
объектной функции, необходимо объединить применимые и возможные требования. Эта
комбинация создает новое задание субоптимизации: нахождение компонентов поиска для
того чтобы:
r r
минимизировать ∇F ( x ) ⋅ S (3)
r r
в зависимости ∇g ( x ) ⋅ S ≤ 0
j
j ∈J (4)
r r
S ⋅ S ≤ 1 , где (5)
λ..i ≥ 0
r
Из условия Куна-Таккера функция Лагранжа L x , λ ( r ) должна иметь исчезающий градиент в
оптимальной постановке задачи. Тем не менее, мы должны учитывать исходные проблемы,
получим:
r
1. x * - выполнимое, следовательно, для всех g j ( x *) ≤ 0
r
r
2. λi ∇gi ( x *) = 0
r M
r
3. ∇F ( x *) + ∑ λi ∇gi ( x *) = 0 , для λ.i ≥ 0 i = 1,..., M
j =1
Условия Куна-Таккера
X2 g2(x)
F(x*)
g 1(x)
x*
g2(x*)
λ1 g1(x*)
λ 2 g2(x*)
0 X1
λ1 g1(x*) + λ 2 g2(x*) g 1(x*)
CTMIN = 0.003g j ( x )
Активные ограничения
X1
область
допустимых
значений
gj (x) < 0
область
недопустимых g j(x) = CT
значений
gj (x) = CTMIN
0 X2
В данном случае мы можем двигаться в любом направлении, надо только его найти. Нам не
нужно направление с максимальным градиентом цели, т.е.
r
S q = −∇F ( xr q −1 )
Данное направление используется только в том случае, если это начало оптимизации или
последние результаты не уступили никаким ограничениям. Теперь примем, что в процессе
оптимизации не встретится активных ограничений. В таком случае, могли бы каждый раз
двигаться в направлении с максимальным градиентом цели, но существуют теории, которые
β=
[∇F ( xr )]
2
q−2
X2
x0
S1
x*
+
x1 S2 x5 x7
x8
x3
x6
x4
x2 X1
X2
x3
x0
S1 x* x 4
+
x1
S2
X1
x2
в зависимости
r
∇g j ( x q −1 ) ⋅ S q ≤ 0
r
j ∈J (7)
r r
Sq ⋅Sq ≤ 1 (8)
Это скалярный продукт является величиной произведения двух модулей и косинуса угла
между ними. Таким образом, получим:
r
(
r
)
∇F x q −1 ⋅ S ⋅ cos(θ ) (9)
Требуется косинус сделать наиболее отрицательным, не выходя за ограничения. Кроме того
для любого угла между 900 и 2700 уравнение (9) может быть более отрицательным при
увеличении S. Также, если S удовлетворяет уравнению (7) любое увеличение в величине S
также удовлетворяет этому уравнению. Предположим, движение объектной функции в
отрицательную сторону, удовлетворено уравнение (2). Если объектная функция не может
уменьшаться вследствие уравнения (6), выходит, что не существует такого направления,
которое уменьшает объектную функцию, оставаясь в пределах ограничений. В этом случае
процесс оптимизации может быть расторгнут.
На практике приходится еще уменьшать значения СТ и CTMIN, тем самым, достигая точной
границы ограничений, если и в этом случае не находятся направления S, то процесс
оптимизации расторгается.
X1
g1(x) g 2(x)
0 X2
Для примера допустим, что Q=1, и Ψ - очень большое число. Затем, вторая итерация
доминирует над снижением (10), так как любое увеличение W все больше уменьшает цель.
Переменная W включена просто как средство для уменьшения объектной функции. Теперь
рассмотрим величину Q в уравнении (11). Она нужна для выталкивания области решения с
нарушенного ограничения. Если Q=0 повышение W не приведет область определения за
границы ограничения.
Это может быть выполнено фактором Qj , как квадратной функцией j-того ограничения,
такого что:
Qj=0 при g j x ( )
q−1
=СТ, таким образом:
g j ( xr q −1 )
2
(13)
Q j = Q0 10
. −
CT
Q j ≤ 50 (14)
Предел Q базируется на опыте.
Одномерный поиск.
После определения направления поиска возникает проблема поиска величины перемещения.
Определим начальную величину а*. Рассмотрим объектную функцию и создадим 1 порядок
аппроксимации для F(a*) с точки зрения а*, получим:
r
F ( x q ) = F ( x q −1 + a * S )
r r
r q −1 n ∂ F ( x ) ∂ x
r q −1
F ( x ) = F ( x ) + ∑
rq
∗ ∗ a * , или
i =1 ∂ xi ∂ a
r q −1 dF ( x )
r q −1
F(x ) = F(x ) +
rq
, но
da *
dF ( x q −1 )
r
= Si , следовательно
da *
dF ( x q −1 )
r r
= ∇F ( x q −1 ) ⋅ S q
r
da *
Мы можем ожидать уменьшения объектной функции на некоторую долю, например 10%, это
будет выглядеть так:
r q −1 dF ( x )
r q −1
F( x ) = F( x ) + ∗ a* = F ( x q −1 ) − 0,1 ⋅ F ( x q −1 ) , откуда
rq r r
da *
0,1 ⋅ F ( x )
r q −1
a* =
dF ( xr q −1 )
da *
В тот момент, когда градиенты некоторых ограничений доступны, другие могут быть
вычислены. Теперь допустим, что существует несколько градиентов ограничений. Вместо
перемещения с изменением целевой функции на 10% доведем ее до границы g j x
q−1
=0, ( )
получим:
r q −1 dg j ( x )
r q −1
gj(x ) = gj(x ) +
rq
∗ a* = 0
da *
g j ⋅ ( x q −1 )
r
a* =
dg j ( xr q −1 )
da *
Следовательно, даже в начале поиска, значительная часть информации пригодна для прямого
процесса. Последнее уравнение определяет допустимый шаг для a * .
Интерполяция для a * .
Сходимость в оптимуме.
g~j ( x ) = g j ( x q −1 ) + ∇g j ( x q −1 ) ⋅ δ x
r r r r
j ∈ J , где (16)
δ xr = xr q − xr q −1 (17)
g~j ( x q ) = g~ o j + ∇g j ( x q −1 ) ⋅ x q j ∈ J , где
r r r (19)
( )
r
( ) r
F~ o = F~ x q − ∇F x q −1 ⋅ x q
r (20)
= g~ ( x ) − ∇g ( x ) ⋅ x
r r r
g~ o j j
q
j
q −1 q
j ∈J (21)
Проблема оптимизации будет выглядеть следующим образом:
~ rq
минимизировать F x ( ) (22)
~j xr q ≤ 0
с учетом g ( ) ё j ∈J (23)