Помощь в учёбе, очень быстро...
Работаем вместе до победы

Подпрограмма KRD PLOSK KAT. 
Координаты центров элементарных витков

РефератПомощь в написанииУзнать стоимостьмоей работы

If (otl) then; !Если на входе otl=.true., то производится печать координат нитев.витк. write (8," ('ln KRD_PLOSK_KAT RAD=')"); write (8/,((lp/el0.3))M) RAD (nacho:konkat) write (8/" ('ln KRD_PLOSK_KAT Z=')"); write (8,M ((lp, el0.3)n Z (nacho:konkat) endif END. Nacho-начальный номер элементарной площадки (м.б. 1 или любое др. число) для ! которой заданы координаты (радиус и г-коорд.)центра нитев… Читать ещё >

Подпрограмма KRD PLOSK KAT. Координаты центров элементарных витков (реферат, курсовая, диплом, контрольная)

Вызов: CALL KRD_PLOSK_KAT (RAD/Z, ndimrz/nacho, nrr, nrz/shz/shr &, tizwwR, otl, nrzbkat)

{SUBROUTINE KRD_PLOSK_KAT (RAD, Z, ndimrz, nacho, nrr, nrz, shz, shr, tizwwR, otl, nrzbkat) Подпрограмма заполняет массивы RAD и Z координатами нитевидных контуров, прохо- ! дящих в центрах элементарных площадок в витках плоской катушки:

! IZ.

! I__.

! I I I I I I I II.

! I_Ы 11 11 11.

! |_R.

! ВНИМАНИЕ: Программа рассчитывает правильно, если разбивка поперечного ! сечения ВСЕХ витков плоской катушки ВЫПОЛНЕНА С ПОСТОЯННЫМ ШАГОМ ПО СЕЧЕНИЮ ! ВИТКА И НУМЕРАЦИЯ ЭЛЕМЕНТАРНЫХ ПЛОЩАДОК ДЛЯ СЕЧЕНИЯ, ЛЕЖАЩЕГО СПРАВА ОТ ! ОСИ Z, ВЫПОЛНЕНА СЛЕВА НАПРАВО И СНИЗУ ВВЕРХ .

! ПРИМЕР ПРАВИЛЬНОГО РАЗБИЕНИЯ И НУМЕРАЦИИ ПОПЕРЕЧНОГО СЕЧЕНИЯ ВИТКА:

! I Z _.

! 1111 Уровень nrz.

!. | 10 | 11 | 12 |.

! | _ Попереч.сечен.витка разбито.

! | 1111 слева направо и снизу вверх.

! | 7 | 8 | 9 | Шаг разб. по рад. одинаковый.

!Осевая | _ Шаг разб. вдоль Z одинаковый.

!линия Z | | | | I.

! I 4 | 5 | б | Уровень 2; shz.

! | _.

! I I I I I.

! | 1 | 2 | 3 | Уровень 1; shz.

! | _.

! I Поз.1 Поз.2 пгг.

! | shr shr shr.

! _R.

!Ha ВХОДЕ должны быть заданы:

! ndimrz — размерность массивов RAD и Z (ВНИМАНИЕ: должно быть.

! ndimrz > nacho+nrzbkat-1 или ndimrz = nacho+nrzbkat-1).

! nacho-начальный номер элементарной площадки (м.б. 1 или любое др. число) для ! которой заданы координаты (радиус и г-коорд.)центра нитев. контура в ней.

! Координаты содержатся в ячейках массивов RAD (nacho), Z (nacho).

! nrr, nrz, shz, shr — число разбиений и шаги сечения по радиусу и по координате Z ! в витке слоя (следов-но, одинаковые для всех витков слоя).

! tizwwRтолщина изоляции между витками катушки (вдоль оси R).

! otlлогич. переменная; управляет печатью для отладки.

! nrzbkatчисло разбиен. катушки (колич. элементарных площадок всей катушки).

! ВЫХОД:

! RAD, Z — массивы, заполненные координатами центров элементарных площадок во ! всех витках слоя.

SUBROUTINE KRD_PLOSK_KAT (RAD, Z, ndimrz, nacho, nrr, nrz, shz, shr, tizwwR, otl, nrzbkat) implicit none.

integer: nacho, nrr, nrz, ndimrz, konkat, nrrml, nrrzbw, nrzbkat, nwkat &.

j, nrrkat, jn, jv, jnpred, jvpred, konwtk real (8): RAD (ndimrz), Z (ndimrz), shz, shr, tizwwR, r, dobRad logical: otl.

nrrzbw=nrr*nrz; konwtk=nacho+nrrzbw-l !Кол.разб. витка;Конеч.ном.в витке r=RAD (nacho);nrrml=nrr-l; konkat=nacho+nrzbkat-l Skonkat-кон.ном.площ-ки в кат. nrrkat=nrzbkat/nrz; nwkat=nrrkat/nrr;

dobRad=shr*nrr+tizwwR !Добавка к радиусу при переходе от предыд. к послед. витку {Заполняется массив Z z-коорд-ми центров элемент. площадок во всей катушке: !jn=nacho; jv=jn+nrrzbw-l — Нижний и верхний пределы для j в цикле do do j=nacho, nacho+nrrzbw-1, nrr if (j==nacho) then;

Z (j:j+nrrml)=Z (nacho) !заполн. 1-го уровня 1-го витка z-координатами else; Z (j:j+nrrml)=Z (j-l)+shz !заполн.след-их уровней 1-го вит. z-коорд. endif enddo.

doj=nacho, nacho+nrrml if (j==nacho) then.

RAD (j:konwtk:nrr)=RAD (nacho) !Заполнение первой поз.1-го витка г-коорд. else; RAD (j:konwtk:nrr)=RAD (j-l)+shr !заполн.след-их поз.1-го вит. г-коорд. endif enddo.

jn=nacho; jv=nacho+nrrzbw-l !Нижн. и верхи, переменные пределы для] в цикле do IF (nwkat>l) THEN; jnpred=jn; jvpred=jv !Цикл по остальным виткам DO j=2,nwkat; jn=jn+nrrzbw; jv=jv+nrrzbw Z (jn:jv)=Z (jnpred:jvpred)!Зaпoлн.z-кoopд-ми остальных витков RAD (jn:jv)=RAD (jnpred:jvpred)+dobRad !Заполн.г-коорд-ми остальных витков jnpred=jn; jvpred=jv ENDDO ENDIF.

if (otl) then; !Если на входе otl=.true., то производится печать координат нитев.витк. write (8," ('ln KRD_PLOSK_KAT RAD=')"); write (8/,((lp/el0.3))M) RAD (nacho:konkat) write (8/" ('ln KRD_PLOSK_KAT Z=')"); write (8,M((lp, el0.3)n Z (nacho:konkat) endif END.

Показать весь текст
Заполнить форму текущей работой