Работа с программой оптимизации ИДМ градиентным методом

Для выполнения расчётов по программе MAIN_OPTIMIZ, описанной в п. 2.6.2., следует запустить Microsoft Visual Studio (VS), и создать проект, следуя инструкциям, изложенным в п. 1.10. Имя проекта пользователь выбирает самостоятельно.

Файлы, входящие в проект, перечислены в п. 2.6., а перечень программных единиц, содержащихся в них, имеется на рис.2.3. Там же показана структура вызовов подпрограмм. Для пп IMAG_IDM_1 структура вызовов имеется на рис.2.4. Подпрограммы с именами в рамках из точек - из математической библиотеки IMSL и графической библиотеки Фортрана.

178

Для удобства пользования в файле с данными вслед за именем переменной и её числовым значением стоит знак комментария " ! ", за которым указано назначение переменной и даны некоторые дополнительные пояснения. Файл MAIN.DAT может корректироваться под свои исходные данные.

Данные помещены в список имён, который имеет имя LST.

Оптимизируемые переменные располагаются в массивах в следующем порядке: 1. nwK - число витков в катушке; 2. twKr - толщина витка катушки в направлении радиуса (радиальная толщина); 3. twKz - толщина витка катушки в направлении оси (осевая толщина, или - высота катушки); 4. rKatvn - радиус катушки внутренний; 5. rDnar - радиус диска наружный; 6. rDvn - радиус диска внутренний; 7. hDisk - толщина диска в направлении оси (осевая толщина, или - высота диска).

Пользователь может указать, какие из этих переменных следует оптимизировать, а какие не следует. Для этого в файле с исходными данными имеется логический массив OPTPAR (см. ниже файл исходных данных, 6-я строка снизу). Если оптимизировать переменную не надо, то по её номеру (так, осевая толщина катушки twKz имеет номер 3, а осевая толщина диска hDisk - 7) в ячейку массива OPTPAR. имеющую этот номер (в ячейку №3 и ячейку №7) , заносится значение .false, (можно указать f). Если переменную оптимизировать надо, то в ячейку с соответствующим номером заносится значение .true, (можно указать t).

Если пользователь указал, что переменная должна оптимизироваться (указал .true, или t), то начальное значение оптимизируемой переменной проверяется программой на расположение её внутри диапазона, в котором пользователь разрешает изменяться данной переменной. Диапазон задаётся в 2-х массивах: для нижних значений оптимизируемых переменных в ZNIZ, для верхних - в ZVRX (см. ниже файл исходных данных, строки 8-я и 7-я снизу). Номер ячейки в этих массивах соответствует "своей" переменной, указанной в файле исходных данных в 9-ой строке снизу.

После проверки данных на наличие ошибок, программа может вывести на экран монитора информационные сообщения следующего вида:

ERROR: See file MAIN.DAT: ZNIZ(i)>ZVRX(i) - Ошибка: Смотри файл MAIN.DAT: нижняя граница допустимого диапазона для i-ой переменной больше верхней; ERROR: See file MAIN.DAT: OPTXAR(i)

ERROR: See file MAIN.DAT: OPTXAR(i)>ZVRX(i) - Ошибка: Смотри файл MAIN.DAT: i-я переменная больше верхней границы допустимого диапазона, где OPTXAR - массив, в который программа поместила оптимизируемые параметры в соответствии с их номерами.

Если пользователь в исходных данных указал OPTXAR(i)=t, (i-я переменная должна участвовать в оптимизации), но при этом для данной переменной нижняя и верхняя границы допустимого диапазона совпадают, то программа эту переменную исключает из оптимизации - считает её константой.

В качестве примера ниже приводится файл с исходными данными для поиска оптимального варианта ИДМ.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >