Материал: САПР технологического оборудования. курс лекций. Новокщенов С.Л., Бойко А.Ю

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Предположим, что длина слова в вычислительной машине равна 10 значащим цифрам и выполняются действия с числами 685378,9879 и 43789б,4879. Простое сложение этих чисел дает 1123275,4758, но так как можно записать лишь 10 десятичных чисел, то вычислительная машина запишет в качестве суммы 1123275,475 или 1123275,476 в соответствии с используемым правилом округления. И в том, и в другом случаях произойдет потеря существенной информации, и вносимые ошибки сложным образом будут увеличиваться в последующих вычислениях. Предположим, что к предыдущей сумме должно быть прибавлено число 111111,1111. Прибавление 111111,1111 к 1123275,475 дает 1234386,586 как при усечении, так и при округлении. Аналогично, прибавление 1123275,476 к 111111,1111 дает 1234386,587. Чтобы получить точное значение суммы, нужно прибавить 111111,1111 к 11-значной форме предыдущей суммы, в результате чего получается 1234386,5869. Необходимое заметить, что округление дает приближенный результат, более близкий к точному значению, чем усечение, но оба содержат ошибку. Последующие операции сложения, вычитания, умножения или деления приводят в результате усечения последовательно к ошибкам в девятом знаке, восьмом и так далее. При округлении будет происходить точно такой же процесс, но с меньшей скоростью.

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

Вопросы для самоподготовки:

1. Опишите основные вычислительные алгоритмы, применяемые в современных САПР?

2. Охарактеризуйте основы и приемы алгоритмизации математических моделей?

3. На что влияет точность вычислительных операций?

Лекция №5 Типы вычислительных процессов

Теоретические вопросы:

5.1. Особенности инженерных задач и используемые средства

5.2. Общий подход к решению вычислительных задач

5.3. Оптимизационные расчеты

5.1. Особенности инженерных задач и используемые средства

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

Упрощение формул. Возможности для упрощения весьма разнообразны, их обычно тем больше, чем длиннее формула. Прежде всего, желательно расчленить длинную формулу на последовательность коротких, что может быть сделано и при программировании, но лучше, если расчленение выполнит автор задачи. Выполнить упрощение формул в настоящее время позволяют некоторые специализированные математические пакеты, например MathCAD, символьный процессор MathCAD умеет выполнять основные алгебраические преобразования, такие, как упрощение выражений, разложение их на множители, символьное суммирование и перемножение. Символьный процессор MathCAD стремится так преобразовать выражение, чтобы оно приобрело более простую форму. При этом используются различные арифметические формулы, приведение подобных слагаемых, тригонометрические тождества, пересчет обратных функций и др. Для упрощения выражения при помощи оператора символьного вывода simplify. Кроме возможности упрощения формул, MathCAD имеет так же встроенные средства разложения выражений, разложения на множители, приведение подобных слагаемых, разложение в ряд Тэйлора, разложение на простейшие дроби, матричные разложения (Холесского, QR-разложение, LU-разложение, сингулярное разложение).

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

5.2. Общий подход к решению вычислительных задач

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

- оператор может быть определен в виде бесконечного процесса, например, интеграла или ряда, который принципиально невозможно осуществить на ЭВМ;

- непосредственное вычисление бывает связано с недопустимым возрастанием погрешностей округления;

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

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

Основной принцип построения численных методов для приближенного решения задачи состоит в заменен пространства S и Q и оператора A или B некоторыми другими пространствами S’ и Q’ и оператором A’ или B’ так, чтобы решение новой задачи оказалось в определенном смысле близкой к решению исходной задачи. При этом разработка конкретных способов замен и оценки возникающих погрешностей является одной из основных проблем численного анализа.

Первый вариант – замена дифференцирования вычислением разделенных разностей.

Второй вариант – аппроксимация функции полиномом относительно переменной и получение приближенной аналитической формулы.

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

5.3. Оптимизационные расчеты

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

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

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

Рис. 6. Структурная схема процесса параметрической оптимизации численными методами

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

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

Вопросы для самоподготовки:

1. Опишите особенности инженерных задач и используемые средства?

2. Охарактеризуйте общий подход к решению вычислительных задач?

3. На чем основаны оптимизационные расчеты?

Лекция №6 Этапы создания программ. Реализация численных методов в сапр

Теоретические вопросы:

6.1. Разработка общего плана программы

6.2. Решение больших разреженных систем линейных уравнений

6.3. Программирование оптимизационных задач

6.1. Разработка общего плана программы

Процесс проектирования представляется как последовательность проектных операторов k, воздействующих на модель проектируемого объекта Ai и осуществляющих преобразование модели из предшествующего (Ai)k-1 в последующее (Ai)k состояние.

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

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

- лингвистические;

- структурные;

- количественные.

Для выполнения количественных расчетов при автоматизации процесса проектирования применяются количественные модели. В простейшем случае количественная модель представляется на единственном – количественном – уровне описания и включает в себя набор количественных отношений между числовыми величинами.

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

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

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

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

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

Основанием для разработки общего плана программы может служить техническое задание (ТЗ), которое обычно дается в виде алгоритма, дополненное сведениями о входных параметрах задачи. Если способ вычисления результата более или менее ясен из самой постановки математической задачи (например, требуется запрограммировать явную формулу), специальное описание алгоритма может отсутствовать, но другие упомянутые компоненты ТЗ должны быть указаны. На стадии изучения ТЗ необходимо четко определить некоторые специальные функции, имеющие разновидности и модификации (интеграл вероятностей, функции Бесселя и т.д.).

Источник: https://studfile.net/preview/16568156/