litceysel.ru   1 2 3

Глава 3 Вычислительные алгоритмы


3.1 Понятие алгоритма

Построение математической модели рассматриваемого объекта позволяет поставить задачу его изучения как математическую. После этого наступает второй этап исследования – поиск метода (или последовательности методов) решения сформулированной математической задачи.

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

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

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

Выберем в качестве х0 произвольное положительное число и рассмотрим последовательность {хn}, определенную с помощью рекуррентной формулы

, n=0,1,2…. (3.1)

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

Анализ этой последовательности позволяет устанавливать следующие свойства алгоритма:


  1. Члены последовательности {хn} при n=1,2,… удовлетворяют неравенству

.


  1. Члены последовательности {хn} при n=1,2,… не возрастают, т.е.

.

Так как рекуррентная последовательность (3.1) монотонно не-возрастающая и ограничена снизу, то она имеет предел.

Сходимость последовательности (3.1) означает, что для любой заданной точности ε > 0 можно указать такой номер N, что будет справедливо неравенство:

, при n>N

т.е. можно оценить погрешность найденного приближенного значения .

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


    1. Блок-схема алгоритма

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

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

В качестве примера на рис. 3.1 приведена блок-схема алгоритма вычисления квадратного корня из числа а.



рис 3.1

3.3 Основные требования, предъявляемые к вычислительным

алгоритмам

Основное требование, предъявляемое к вычислительным алгоритмам – это требование точности. Вычислительный алгоритм должен давать решение с заданной точностью ε за конечное число действий. При этом считается, что сходимость всех методов, входящих в алгоритм, обоснована.

Из разных алгоритмов обычно выбирается наиболее экономичный, который дает решение задачи с наименьшей затратой машинного времени.

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

Кроме того, анализируется математическая модель на предмет корректно ли поставлена математическая задача (например, соответствует ли число уравнений числу искомых функций или хватает ли начальных условий для решения дифференциальных уравнений). Этот анализ можно провести методами математической физики.


3.4 О погрешности вычислений

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

Важно, чтобы все эти погрешности не привели к неустойчивости вычислительного алгоритма.

Глава 4 Вычислительный эксперимент

4.1 основные этапы вычислительного эксперимента

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


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

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

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

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

На третьем этапе осуществляется программирование вычислительного алгоритма для ЭВМ и отладка составленной программы.

На четвертом этапе проводятся расчеты на ЭВМ конкретных вариантов задач.

Разработка конкретных численных алгоритмов и их программирование на ЭВМ должны быть тесно связаны.


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

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

4.2 Отладка программы

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

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

Для современных ЭВМ, обладающих развитым математическим обеспечением, многие ошибки уже выявляются при компиляции программы.

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

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

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

Эти решения тестовых задач сравниваются с результатами решения задачи по составленной программе.

Для отладки арифметических блоков программы проводится ручной расчет этих блоков и сравнение с результатами, полученными с помощью составленной программы после расчета на ЭВМ. Причем входные данные берутся упрощенными, чтобы уменьшить объем вычислений (пониженный порядок систем уравнений, уменьшенный интервал интегрирования и т.д.). Отдельно проверяются участки, не имеющие циклов и реализующие счет по тем или иным формулам (например, участки, где вычисляются коэффициенты уравнений). После того, как проверены такие участки, можно переходить к проверке правильности реализации операторов управления (например, циклических участков программы – проверить правильность числа циклов и шага изменения параметра циклов) и общей структуры программы. Для этой цели необходимо заготовить другие тесты, которые позволяют проверить правильность работы программы при различных путях вычислительного процесса и различных значениях величин, от которых зависит число повторений циклов.


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


    1. Вычислительный эксперимент в задачах строительного профиля

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

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

Из анализа промышленных программных комплексов следует, что они ориентированы на решение обширного числа инженерных задач, поэтому все типы расчетов основаны на классических инженерных представлениях и концепциях.

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

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

Оболочка (рис 4.1) при действии на нее поперечной нагрузки q(x,y) изгибается. При этом каждые точки оболочки получают смещения. Если выбрать ортогональную систему координат, как это показано на рис. 4.1, когда криволинейные оси координат x, y направлены по линиям главных кривизн оболочки в ее срединной поверхности, а ось z – ортогональна им и направлена в сторону вогнутости, то перемещения точек срединной (координатной) поверхности вдоль осей x, y, z соответственно обозначаются через U, V, W. Эти относительные изменения линейных и угловых размеров называют деформациями x, y,xy, где x, y – деформации удлинения в направлении осей x и y, а xy – деформация сдвига в координатной поверхности XY. Так как оболочка по краям каким-то образом закреплена, то в результате ограничений смещения краев в каждой точке возникают напряжения. Напряжения вдоль осей x, y (нормальные напряжения) обозначают соответственно через x, y, а напряжения, связанные со сдвиговыми деформациями (касательные напряжения) – через xy. Суммируя напряжения по толщине оболочки (интегрируя их по z) получаем усилия и моменты. Затем, исходя из законов механики, записываются уравнения равновесия оболочки, которые вместе с краевыми условиями (условиями закрепления краев оболочки) дают математическую модель деформирования оболочки.


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

Простейшими гипотезами являются гипотезы Кирхгофа – Лява, одна из которых гласит, что нормаль, проведенная к срединной поверхности оболочки до деформирования, остается нормалью и после деформирования и не меняет своей длины. (рис. 4.2)


При этом перемещения точек, отстоящих на z от срединной поверхности, будут иметь вид

, ,

Уравнения равновесия, полученные с использованием гипотез Киргофа – Лява, будут представлять собой систему дифференциальных уравнений в частных производных 8 – го порядка, относительно функций U(x,y), V(x,y), W(x,y). Эту систему кратно можно записать в виде:

(4.1)

Если же вводится гипотеза о том, что нормаль, проведенная к серединной поверхности оболочки при деформировании искривляется (не остается нормалью), то перемещения точек, отстоящих на z от срединной поверхности, будут иметь вид:

,

где x, y – углы поворота нормали в плоскостях XOZ и YOZ соответственно, связанные с поперечными сдвигами.

В этом случае уравнения равновесия будут представлять собой систему дифференциальных уравнений в частных производных 10 – го порядка относительно искомых функций U(x,y), V(x,y), W(x,y), , которую кратко можно записать в виде


(4.2)

Получили две различные математические модели деформирования оболочек. Какую модель в каждом конкретном случае (гладкие оболочки, ребристые, ослабленные вырезам и т.д.) нужно использовать покажет вычислительный эксперимент. Для этого нужно разработать алгоритм решения краевых задач для дифференциальных уравнений (4.1) или (4.2), составить программу расчета на ЭВМ (для таких сложных задач не обойтись без составления блок-схемы алгоритма), провести ее отладку и затем провести исследование влияния различных факторов на полученный результат деформирования оболочек. Основной задачей при исследовании тонкостенных оболочечных конструкций является исследование их устойчивости, т.е. определение такой нагрузки , при которой оболочка теряет устойчивость, т.е. «прохлопывается» или принимает новую форму равновесных состояний (рис 4.3, Б)


Если учитывать, что прогиб W(x, y) оболочки может быть больше толщины оболочки h, то деформации будут нелинейно зависеть от перемещений U,V,W. Эти зависимости называются геометрическими соотношениями. Если материал оболочки упругий, т.е. после снятия нагрузки оболочка принимает первоначальное положение (не появляется остаточных, пластических деформаций), то зависимости напряжений от деформации будут линейными, в противном случае они будут нелинейными. Эти зависимости называют физическими соотношениями.

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


  • геометрическими соотношениями;

  • физическими соотношениями;
  • уравнениями равновесия и краевыми условиями.


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





<< предыдущая страница