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

Киевский Национальный Университет Строительства и Архитектуры.





Кафедра систем автоматизированного проектирования и управления.







КУРСОВАЯ РАБОТА.



По предмету: «Методология разработки программных продуктов и больших систем».



На тему: «Проектирование напряжённо-деформированного состояния тонкостенных (замкнутых и разомкнутых) оболочечных железобетонных конструкций переменной жёсткости».









 							Выполнили:

 							   студенты группы КСП-42

 							   Демьяненко Е.И.

 							   Шепель В.В.

 							Проверил:

 							   Яловец А.Л.









1999г.




1. АНАЛИЗ ПРОБЛЕМЫ. ПОСТАНОВКА ЦЕЛЕЙ.





     В данном курсовом проекте имеет место следующая актуальность темы. Замкнутые и разомкнутые в окружном направлении конические оболочки переменной жёсткости широко используются как конструктивные оболочечные элементы в разных отраслях машиностроения, авиастроения, судостроения, а также строительной индустрии.

Улучшение технико-экономических характеристик и качества проектирования конических оболочек.

Уменьшение массы конических оболочек.

Достижение высокой жёсткости и прочности.

Возможность изготовления оболочек из различных конструкционных материалов.

Учёт реальных факторов при изготовлении конических оболочек.

Улучшение эксплуатационных характеристик конических оболочек.

Улучшение поведения конструкции при сложных условиях работы и требования предъявляемые к ним.

Повышение точности определения факторов при напряжённо-деформированном состоянии конструкции.

Исследование поведения замкнутых конических оболочек.

Исследование поведения разомкнутых конических оболочек.

Исследование различных методов для проектирования напряжённо-деформированного состояния тонкостенных оболочечных конструкций.

Исследование решения двумерных краевых задач при различных граничных условиях.

Исследование различных вариационно-разностных и проекционных методов.

Исследование применения сплайн функций к данному типу задач.



     Необходимость расчёта напряжённо-деформированного состояния, в замкнутых и разомкнутых в окружном направлении изотропных и ортотропных конических оболочек с изменяемыми параметрами, приводит к решению двухмерных краевых задач при различных граничных условиях. Это решение вызывает значительные математические и вычислительные трудности. Сложность решения данного типа задач обусловлена не только высоким порядком системы, изменяемостью её коэффициентов, но и необходимостью точно удовлетворить заданным граничным условиям на всех контурах конической оболочки.

     Различные вариационно-разностные и проекционные методы позволяют получить решение данного класса задач для конических оболочек постоянной толщины при простых граничных условиях, которые допускают отсоединение переменных. Как показала практика применение методов конечных разностей и конечных элементов в задачах такого класса не всегда даёт возможность с достаточной точностью удовлетворить граничным условиям (ошибка приблизительно равна 20%).

     В последнее время в практике расчётов тонкостенных элементов железобетонных конструкций используются сплайн функции. Работы многих исследователей, в которых в основном решаются одномерные краевые задачи теории оболочек и пластин, показывают, что применение сплайн функций как аппарата приближения функций позволяет упростить разработку алгоритмов и программного обеспечения по сравнению с использованием классического аппарата многочленов.

     Таким образом, проектирование и моделирование железобетонных тонкостенных замкнутых или разомкнутых оболочечных конструкций на основе сплайн функций является актуальным.







2. ВНЕШНИЕ И ВНУТРЕННИЕ ЗАДАЧИ.





Построение точного решения (погрешность не более 5%) об изгибе ортотропных конических оболочках асимметричного строения под действием нормальной поверхностной нагрузке и температурного поля. Разработка методов численного решения двухмерных краевых задач для замкнутых и разомкнутых конических оболочек поворота шаровидной структуры с изотропными и ортотропными слоями, изменяемыми в двух координатных направлениях жёсткости, которые находятся под действием асимметричных силовых и температурных нагрузок, на основе сплайн аппроксимации.

Разбиение заданного отрезка исследования на N равных частей с помощью сетки точек.

Выполнение выборки N+1 точек коллокации для расчёта В-сплайнов.

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

Подстановка решения данных уравнений в заданные граничные условия на криволинейных контурах.

Выполнение вычисления В-сплайнов в заданных точках коллокации.



Построение и реализация на ЭВМ алгоритма численного решения, которое позволяет проводить исследования напряженно-деформированного состояния тонкостенных элементов железобетонных конструкций в виде конических оболочек указанного класса. Проведение исследования напряженно-деформированного состояния конкретных замкнутых и разомкнутых конических оболочек поворота в широком диапазоне изменения геометрических и механических параметров, видов нагрузки и способов закрепления контуров.

Выполнение анализа как влияет угол конусности на напряжённо-деформированное состояние замкнутой или разомкнутой конической оболочки вращения переменной толщины.

Выполнение анализа влияния ортотропии на напряжённо-деформированное состояние замкнутой или разомкнутой конической оболочки.

Расчёт деформации конических оболочек при различных способах закрепления контуров.




3. ДЕКОМПОЗИЦИЯ СИСТЕМЫ. ПОСТРОЕНИЕ ИЕРАРХИЧЕСКОЙ СТРУКТУРЫ СИСТЕМЫ. РАЗЛОЖЕНИЕ ПРОГРАММНОГО КОМПЛЕКСА НА УРОВНИ.





     Способ управления сложными системами был известен ещё в древности. При проектировании сложной программной системы необходимо разделять её на всё меньшие и меньшие подсистемы, каждую из которых можно совершенствовать независимо. В самом деле, декомпозиция вызвана сложностью программирования системы, поскольку именно эта сложность вынуждает делить пространство состояний системы. Декомпозицию системы можно разделить на два основных вида:

алгоритмическая декомпозиция;

объектно-ориентированная декомпозиция.

     Алгоритмическая декомпозиция. Большинство из нас формально обучено структурному проектированию « сверху вниз », и мы воспринимаем декомпозицию как обычное разделение алгоритмов, где каждый модуль системы выполняет один из этапов общего процесса. Разделение по алгоритмам концентрирует внимание на порядке происходящих событий.

     Объектно-ориентированная декомпозиция. Всегда можно предположить, в том числе и в нашем случае, что у любой задачи существует альтернативный способ декомпозиции системы.

     Хотя обе декомпозиции решают одну и туже задачу, но они делают это разными способами. Во второй декомпозиции мир представлен совокупностью автономных действующих объектов, которые взаимодействуют друг с другом, чтобы обеспечить поведение системы, соответствующее более высокому уровню. Каждый объект обладает своим соответствующим поведением, и каждый из них моделирует некоторый объект реального мира. С этой точки зрения объект является вполне осязаемой вещью, которая демонстрирует вполне определённое поведение. Объекты что-то делают, и мы можем, послав им сообщение, просить их выполнить то-то или то-то.

     Однако мы не можем сконструировать сложную систему одновременно двумя способами, тем более что эти способы, по сути, ортогональны. Мы должны начать разделение системы либо по алгоритмам, либо по объектам, а затем, используя полученную структуру, попытаться рассмотреть проблему с другой точки зрения. Опыт показывает, что полезнее начинать с объектной декомпозиции. Такое начало помогает лучше справиться с приданием организованности сложности программных систем.

     Объектная декомпозиция имеет несколько достаточно важных преимуществ перед алгоритмической декомпозицией:

Объектная декомпозиция уменьшает размер программных систем за счёт повторного использования общих механизмов, что приводит к существенной экономии выразительных средств.

Объектно-ориентированные системы более гибкие и проще эволюционируют со временем, потому что их схемы базируются на устойчивых промежуточных формах.

Объектная декомпозиция существенно снижает риск при создании сложной программной системы, так как она развивается из меньших систем, в которых мы уже уверены.

Объектная декомпозиция помогает нам разобраться в сложной программной системе, предлагая нам разумные решения относительно выбора подпространства большого пространства состояний.

На рисунке 1 показана декомпозиция объекта проектирования.





0









4

5

2

3

1







                                           6                    8                   11                14



                                           7                    9                   12                15



                                                                10                  13



Рис.1. Декомпозиция объекта проектирования.



     0.- Тонкостенная железобетонная оболочечная конструкция.

     1.- Подсистема исследования состояния спокойствия.

     2.- Подсистема проверки на наличие дефекта.

     3.- Подсистема исследования напряженно-деформированного состояния от различных нагрузок.

     4.- Подсистема проверки оболочки на прочность в упругом состоянии.

     5.- Подсистема расчёта околоарматурных напряжений.

     6.- Процедура исследования бездефектного околоарматурного состояния.

     7.- Процедура исследования конструкции с околоарматурным состоянием.

     8.- Процедура исследования напряженно-деформированного состояния от температурной нагрузки.

     9.- Процедура исследования напряженно-деформированного состояния от поверхностной нагрузки.

     10.- Процедура исследования напряженно-деформированного состояния от комбинированной нагрузки.

     11.- Процедура расчёта деформированных сред и выражения углов поворота нормали.

     12.- Процедура соотношения упругости при поверхностных и температурных нагрузках.

     13.- Процедура получения уравнения равновесия.

     14.- Процедура расчёта физико-механических характеристик.

     15.- Процедура расчёта В-сплайнов для получения точного решения.

На рисунке 2 показано разложение на уровни программного комплекса.











0.



1.



2.



5.



6.

7.

14.

15.









4.



3.



11.

12.

13.

8.

9.

10.







Рис.2. Разложение программного комплекса на уровни.




4. ПОСТРОЕНИЕ ЛОГИЧЕСКИХ СХЕМ.





     При построении логических схем пользуются таким термином как логическая ячейка, которую можно представить в следующем виде:



                                                    Sn.





Mn.

Tn.

Kn.

                             An.



                                                                         Rn.

                             Cn.





     Где её компонентами являются следующие значения:

Sn.- Поставленная задача;

An.- Исходные данные;

Cn.- Ограничения;

Mn.- Модуль;

Tn.- Решаемая процедура;

Kn.- Оценка качества;

Rn.- Проектное решение.

     Рассмотрев, что собой представляет логическая ячейка перейдём к рассмотрению задач в данном курсовом проекте.



Логическая ячейка 1.



                                                    S1.





M1.

T1.

K1.

                                 A1.

                                                                      R1.

                                 C1.







S1.   -Вычисление всякого В-сплайна N–ой степени.

A1.  -Bni(x) -наиболее употребительный базис В-сплайн N-ой степени.

       - bi -некоторые постоянные коэффициенты.

C1.  - i = -n, … N-1.

T1.  - S(x) -всякий сплайн N-ой степени.

                             

R1. - S(x) –всякий сплайн N-ой степени.



Логическая ячейка 2.



                                                      S2.





M2.

T2.

K2.

                                  A2.

                                                                        R2.

                                  C2.







S2.  - Вычисление В-сплайна нулевой степени.

A2. - Х - координата функции по оси абсцисс.

C2. - ограничения имеют вид:

                      

T2. - В-сплайн нулевой степени.

                

R2. - В-сплайн нулевой степени.



Логическая ячейка 3.



                                                      S3.





M3.

T3.

K3.

                                  A3.

                                                                        R3.

                                  C3.





S3. - Получение нового разбиения  и для него рекуррентное соотношение.

A3. - Входные данные x, xi, xi+n, xi+1, xi+n+1, Bin-1(x).

C3. - Новое разбиение ,

        (x-n<x-n+1<…<x-1<x0<x1<…<xN<xN+1<…<xN+n),

                           n=1,2,…;  ;

T3. - Рекуррентное соотношение.

            

R3. - Bin(x) –рекуррентное соотношение на выходе ячейки.



Логическая ячейка 4.



                                                      S4.





M4.

T4.

K4.

                                  A4.

                                                                        R4.

                                  C4.







S4.  - Хранение предыдущего значения сплайна Bin-1(x).

A4. - Предыдущее значение сплайна Bin-1(x).

M4. - Модуль хранения значения со входа ячейки.

T4.  - Передача хранимого значения на выход.

R4. - Предыдущее значение сплайна Bin-1(x).



Логическая ячейка 5.



                                                      S5.





M5.

T5.

K5.

                                  A5.

                                                                        R5.

                                  C5.







S5. - Вычисление В-сплайна третей степени Bi3(x).

A5. - t -размер шага движения по оси абсцисс.

C5. - ограничения:

       ;            x < xi-2;

                                      xi-2 < x < xi-1;

                                      xi-1 < x < xi;

                                      xi < x < xi+1;

                                      xi+1 < x < xi+2;

                                      xi+2 < x.

T5. - Выражение В-сплайна третей степени.

               

R5. – Выражение В-сплайна третей степени Bi3(x).



Логическая ячейка 6.



                                                      S6.





M6.

T6.

K6.

                                  A6.

                                                                        R6.

                                  C6.







S6. - Вычисление В-сплайна пятой степени Bi5(x).

A6. - t -размер шага движения по оси абсцисс.

C6. - ограничения:

       ;           x < xi-3;

                                      xi-3 < x < xi-2;

                                      xi-2 < x < xi-1;

                                      xi-1 < x < xi;

                                      xi < x < xi+1;

                                      xi+1 < x < xi+2;

                                      xi+2 < x < xi+3;

                                      xi+3 < x.

T6. - Выражение В-сплайна пятой степени.

   

R6. - Выражение В-сплайна пятой степени Bi5(x).



Логическая ячейка 7.



                                                      S7.





M7.

T7.

K7.

                                  A7.

                                                                        R7.

                                  C7.







S7. - Определение количества шагов на заданном интервале.

A7. - h - шаг разбиения по оси абсцисс.

        Рассматриваемый интервал: (xi, xi+1).

T7. - Количество шагов на заданном интервале t.

                                       ;

R7. - Количество шагов на заданном интервале h.

На рисунке 3 представлена логическая схема нашей системы.




6. СХЕМА АНАЛИЗА ПРОЕКТА.





     Программный продукт составлен на модульном принципе. Он состоит из отдельных модулей (подпрограмм) реализующих определённые части вычислительного процесса. Модули по своему назначению делятся на модули специального и общего назначения.

Модули специального назначения (модули 1 и 6) зависят от вида граничных условий, нагрузок, структуры пакета слоёв, геометрических характеристик конической оболочки, способа выбора точек коллокации и т.д.

     Структурная схема программы с указанием связей между её модулями показана на рисунке 4.

     Выполнение программы начинается с головной (модуль 1) где задаётся вся исходная информация с клавиатуры пользователем или из базы данных. После задания исходной информации подключаем к работе специальные модули 2 и 3, вычисляющие, соответственно, сплайны 3-й и 5-й степени на заданных отрезках. После этого подключаем к работе специальный модуль 4, который, вычисляет сплайн нулевой степени сплайны 3-й и 5-й степени находит конечный В-сплайн. Специальный модуль 5 производит всю необходимую работу с матрицами. Данные, полученные после работы модулей 4 и 5, используются в программе вычисления правых частей системы обыкновенных дифференциальных уравнений (модуль 6). После задания и получения всей исходной информации управление передаётся модулю 7, в котором реализована вычислительная схема метода дискретной ортогонализации.

     В модулях общего назначения реализуется часть вычислительного процесса, являющаяся неизменной для всех задач данного класса. В этих модулях производится вычисление правой части системы дифференциальных уравнений по заданной информации о геометрических и механических характеристиках оболочки.






Модуль 1: Модуль задания и обработки входных параметров, которые поступают из БД или с клавиатуры.













Модуль 2: Модуль для вычисления сплайна третей степени.

Модуль 5: Модуль работы с матрицами.

Модуль 3: Модуль вычисления сплайна пятой степени.











Модуль 4: Модуль вычисления сплайна нулевой степени и конечного В-сплайна.











Модуль 6: Модуль расчёта правых частей системы обыкновенных дифференциальных уравнений, а также задания и получения исходной информации.









Модуль 10: Модуль формирования расширенных матриц левых и правых граничных условий.





Модуль 9: Модуль решения систем линейных алгебраических уравнений с несколькими правыми частями и выбор главного элемента

Модуль 7: Модуль для реализации вычислительной схемы метода дискретной ортогонализации.













Модуль 8: Модуль вывода значений, разрешающих функций в точках выдачи результатов.















Рис.4. Структурная схема программы.




К модулям общего назначения относятся:

Модуль 6. В нём производится вычисление вектора правых частей системы обыкновенных дифференциальных уравнений по заданным геометрическим и механическим параметрам оболочки.

Модуль 7. Этот модуль является основной частью программы. В нём реализуется алгоритм решения линейной краевой задачи, производится управление работой остальных модулей.

Модуль 8. Производит вывод на печать значений разрешающих функций в точках выдачи результатов.

Модуль 9. В этом модуле осуществляется решение систем линейных алгебраических уравнений с несколькими правыми частями методом Гаусса с выбором главного элемента.

Модуль 10. В теле данного модуля по заданной информации (в матричном виде) головной программы производится формирование расширенных матриц левых и правых граничных условий.

При этом возможно получение следующих результатов:

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

Разработка методики численного решения двумерных краевых задач о деформации разомкнутых и замкнутых ортотропных конических оболочек переменной в двух координатных направлениях жёсткости, основанной на использовании сплайн-коллокации.

На основе разрабатываемого подхода к решению двумерных краевых задач построен алгоритм численного решения задач о деформации ортотропных замкнутых и разомкнутых конических оболочек вращения переменной жёсткости.

Исследования напряжённо-деформированного состояния ряда конических оболочек в зависимости от их геометрических и механических параметров, видов нагрузки и граничных условий.







M2.

T2.

K2.                           A2.

                                                                   R2.                                      S4.



M4.

T4.

K4.                           C2.

                                                                              A4.

                                                                                                                        R4.

                S7.                                                                      C4.

                                                     S5.                                                                                          S1.



M7.

T7.

K7.

M1.

T1.

K1.A7.                                                                                                                           A1.



M5.

T5.

K5.                      R7.      A5.                                                                                                                      R1.

                                                           R5.

C7.                            C5.                                                     S3.                            C1.



M3.

T3.

K3.

                                                                            A3.

                                                                                                      R3.

                                                    S6.                    C3.



M6.

T6.

K6.

                        A6.

                                                           R6.

                         C6.





Рис.3. Логическая схема проектирования данной системы.