Для студентов МАИ по предмету ИнформатикаВспомогательные материалыВспомогательные материалы 2017-06-17СтудИзба

Другое: Вспомогательные материалы

Описание

Описание файла отсутствует

Характеристики учебной работы

Учебное заведение
Семестр
Просмотров
112
Скачиваний
3
Размер
7,62 Mb

Список файлов

6sembound1

1. Цитирую из Вашего сообщения:"Насколько я понимаю, в файле BOUND.for задаются координаты закрепленных узлов.". Нет, координаты узлов уже существуют после работы подпрограммы триангуляции GRIDDM, в том числе узлов, которые надо закрепить. Координаты узлов передаются в bound.

В bound для закрепленных узлов задается признак их закрепления:

11 - для закрепления по осям Х и Y

10 - для закрепления по Х

1 - для закрепления по Y.

Для этих признаков закрепления существует массив NFIX, размерность которого равна размерности массива NBC, содержащего номера закрепленных узлов. Bound формирует массив NBC с номерами закрепленных узлов и соответствующий этим узлам признак закрепления в массиве NFIX. Таким образом, если, к примеру, на третьей позиции в массиве NBC стоит число 42 (номер закрепленного узла), а на третьей позиции в массиве NFIX стоит 11, то, стало быть, узел 42 закреплен по двум осям.

Посмотрите в Help "Задание граничных условий и внешних воздействий" и пример выполнения 1-ой части КР на сайте. Там приведены примеры выполнения bound и force с подробными комментариями.

2. Число 56 в строке DO 56 I=1,NP означает, до какой строки действует цикл - до строки 56 CONTINUE. Это одна из форм организации цикла в Фортране.

3. Цитирую:"И еще вопрос - после задания координат (0;0), я должна указать свои следующие координаты закрепленных узлов, правильно?". Повторяю, координаты узлов Вы не назначаете. Вы назначаете признак закрепления закрепленным узлам, для чего формируете два массива NBC и NFIX.

Ещё раз поясняю (об этом я говорил на занятиях ), что номер узла I связан с координатами узлов X1=CORD(2*(I-1)+1) и Y1=CORD(2*(I-1)+2).

При задании граничных условий (закреплений) как правило задается линия (сторона), по которой должна быть закреплена пластина, и мы должны закрепить все узлы, стоящие на этой линии. Но мы не знаем номеров узлов, которые стоят на этой линии. А вот отыскать узлы, координаты которых соответствуют координатам одной из точек этой линии, мы можем. Найдя узел с такими координатами мы устанавливаем признак закрепления этого узла в массиве NFIX и запоминаем номер узла в массиве NBC.

6semforce

C Хайрулин И.Р. 06-421

C Содержит подпрограмму FORCE (упрощенная для дуги окружности)

C ПOДПPOГPAMMA PAЗHECEHИЯ HAГPУЗOK ПО УЗЛАМ

C BЫЗЫBAETCЯ ИЗ MAIN, вызываемых модулей нет.

C ======================================== ==========================

* IPR массив управления печатью

* CORD - одномерный массив глобальных координат узлов (первые два элемента этого массива

* являются координатами узла 1 по оси Х и Y соответственно,

* вторая пара элементов - узла 2 и т.д.).

* R - массив значений усилий в узлах (аналогичен по структуре массиву CORD,

* только вместо координат в нем указываются значения нагрузок по оси Х и Y в узлах);

* В примере:

* а) к дуге окружности радиусом 24 приложена равномерно распределенная нагрузка.

* б) к наклонной стороне с углом наклона 45 градусов приложена

* неравномерно распределенная нагрузка q(w) = q0*(sin(z*w))**3 ,

* имеющая положительное и отрицательное направление на разных участках,

*

C ======================================== ==========================

C wwwwwwwwwwwwwwwwww начало кода FORCE wwwwwwwwwwwwwwwwwwwwwwwwwwwww

C ======================================== ==========================

SUBROUTINE FORCE(NB,CORD,NRC,DB,IPR,NP,RSUM,R,NDF,D H,NR,

>PRM1,PRM2,PRM3,PRM4,PRM5,PRM6)

LOGICAL*1 IPR(50)

DIMENSION CORD(1),R(1),IFORCE1(100), IFORCE3(100),IFORCE4(100)

IF(IPR(22)) WRITE(6,22)PRM1,PRM4,PRM5,PRM2,PRM3

IF(IPR(23)) WRITE(6,20)

* I1,I3,I4 -кол-во точек к которым приложена расспределенная сила на участках

* NR - количество нагруженных узлов.

* NP - количество узлов

NR=0

I1=0

I3=0

I4=0

* обнуляем массивы

DO 123 I=1,100

IFORCE1(I)=0

IFORCE3(I)=0

123 IFORCE4(I)=0

*--------------------------------------- --------------------------

* !!Поиск узлов, к которым приложены силы!!

DO 100 I=1,NP

* Используем цикл по I до NP для обнуления массива сил

R(NDF*(I-1)+1)=0

R(NDF*(I-1)+2)=0

* Обрабатываемые точки

XT=CORD(NDF*(I-1)+1)

YT=CORD(NDF*(I-1)+2)

* Отлавливаем узлы на дуге радиусом 24 и записываем в массив IFORCE1

IF (ABS((XT-0)**2+(YT-60)**2-576).LT.думайт е) THEN

IF (ABS(PRM4-1).LT.0.01) THEN

I1=I1+1

* NR=NR+1

IFORCE1(I1)=I

ENDIF

ENDIF

* Отлавливаем узлы части наклонной, к которой приложена положительная нагрузка

* и записываем в массив IFORCE3

IF ((ABS(YT+XT-84).LT.0.1).AND.((XT-34.15). LT.0.1)) THEN

IF ((ABS(PRM6-2).LT.0.01).OR.(ABS(PRM6-1).L T.0.01)) THEN

I3=I3+1

* NR=NR+1

IFORCE3(I3)=I

ENDIF

ENDIF

* Отлавливаем узлы части наклонной, к которой приложена отрицательная нагрузка

* и записываем в массив IFORCE4

IF ((ABS(YT+XT-84).LT.0.1).AND.(((XT-34.15) .GT.0.1).OR.(ABS

> (XT-44.15).LT.0.01))) THEN

IF ((ABS(PRM6-3).LT.0.01).OR.(ABS(PRM6-1).L T.0.01)) THEN

I4=I4+1

* NR=NR+1

IFORCE4(I4)=I

ENDIF

ENDIF

100 CONTINUE

*--------------------------------------- ------------------------------

* !!Сортировки массивов с узлами!!

* Сортировка содержимого массива IFORCE1 по убыванию координаты Y

DO 201 I=I1,2,-1

DO 201 J=1,I-1

IF (CORD(NDF*(IFORCE1(J+1)-1)+2).GT.

>CORD(NDF*(IFORCE1(J)-1)+2)) THEN

ITMP=IFORCE1(J+1)

IFORCE1(J+1)=IFORCE1(J)

IFORCE1(J)=ITMP

201 ENDIF

* Сортировка содержимого массива IFORCE3 по убыванию координаты Y

DO 203 I=I3,2,-1

DO 203 J=1,I-1

IF (CORD(NDF*(IFORCE3(J+1)-1)+2).GT.

>CORD(NDF*(IFORCE3(J)-1)+2)) THEN

ITMP=IFORCE3(J+1)

IFORCE3(J+1)=IFORCE3(J)

IFORCE3(J)=ITMP

203 ENDIF

* Сортировка содержимого массива IFORCE4 по убыванию координаты Y

DO 204 I=I4,2,-1

DO 204 J=1,I-1

IF (CORD(NDF*(IFORCE4(J+1)-1)+2).GT.

>CORD(NDF*(IFORCE4(J)-1)+2)) THEN

ITMP=IFORCE4(J+1)

IFORCE4(J+1)=IFORCE4(J)

IFORCE4(J)=ITMP

204 ENDIF

*--------------------------------------- -----------------------------

* !!Задание сил на участках!!

* Сила приложенная к текущему узлу (вычисляется через площадь трапеции)

* S-размер участка поверхности между силами

* R1-распределенная сила приложенная к текущему узлу

* Задание сил в узлах по дуге окружности IFORCE1

DO 301 I=1,I1

J=IFORCE1(I)

* Координата текущей точки

X1=CORD(2*(IFORCE1(I)-1)+1)

Y1=CORD(2*(IFORCE1(I)-1)+2)

* Координата предыдущей точки

IF (I.NE.1) THEN

X3=CORD(2*(IFORCE1(I-1)-1)+1)

Y3=CORD(2*(IFORCE1(I-1)-1)+2)

ELSE

X3=X1

Y3=Y1

ENDIF

* Координата следующей точки

IF (I.NE.I1) THEN

X2=CORD(2*(IFORCE1(I+1)-1)+1)

Y2=CORD(2*(IFORCE1(I+1)-1)+2)

ELSE

X2=X1

Y2=Y1

ENDIF

* Высчитываем S - длину основания, на которую будет действовать нагрузка,

* приходящаяся на узел.

* В формуле трапеций S - высота трапеции,

* для окружностей - длина дуги (аппроксимированной.Равна длине хорды для упрощения)

* подпрограмма- функция OSNOV подсчитывает основание как сумму половин хорд

* (расстояний) от данного узла до соседних узлов.

S=OSNOV(X1,Y1,X2,Y2,X3,Y3)

* Рассчитываем R1 значение интеграла (силы, приложенной к узлу).

* PRM1- значение равномерно распределенной нагрузки по дуге окружности.

*

R1=S*PRM1

* Заносим в массив R получившиеся нагрузки разложенные по X и Y

R(NDF*(IFORCE1(I)-1)+1)=R(NDF*(IFORCE1(I )-1)+1)-R1*(X1-0)/

>sqrt(ABS((X1-0)**2+(Y1-60)**2))

R(NDF*(IFORCE1(I)-1)+2)=R(NDF*(IFORCE1(I )-1)+2)-R1*(Y1-60)/

>sqrt(ABS((X1-0)**2+(Y1-60)**2))

* Выводим нагруженные узлы, их координаты и подсчитываем кол-во

IF(IPR(23)) THEN

IF((ABS(PRM6-1).GT.0.01).AND.(ABS(PRM6-2 ).GT.0.01)) THEN

WRITE(6,21) J,CORD(NDF*(J-1)+1),

> CORD(NDF*(J-1)+2),R((J-1)*NDF+1),R((J-1) *NDF+2)

NR=NR+1

ELSE IF ((ABS(CORD(NDF*(J-1)+1)-24).GT.0.1).AND.

> (ABS(CORD(NDF*(J-1)+2)-60).GT.0.1)) THEN

WRITE(6,21) J,CORD(NDF*(J-1)+1),

> CORD(NDF*(J-1)+2),R((J-1)*NDF+1),R((J-1) *NDF+2)

NR=NR+1

ENDIF

ENDIF

301 continue

* Задание сил по узлам от неравномерно распределенной нагрузки

* на участок, где нагрузка приложена в положительном направлении

* IFORCE3 часть наклонной, к которой приложена положительная нагрузка

DO 303 I=1,I3

Прочти меня!!!

Файл скачан с сайта StudIzba.com

При копировании материалов на других сайта обязательно используйте ссылку на источник

Картинка-подпись
Хочешь зарабатывать на СтудИзбе больше 10к рублей в месяц? Научу бесплатно!
Начать зарабатывать

Комментарии

Поделитесь ссылкой:
Рейтинг-
0
0
0
0
0
Поделитесь ссылкой:
Сопутствующие материалы
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее