Читайте также:
|
|
Моделирование есть метод исследования, при котором объект изучения заменяется более удобным для исследования вещественным или мысленным объектом (моделью). Поскольку информацию об образце получают в результате изучения модели, последняя должна находиться в определенном соответствии с образцом. Характер этого соответствия устанавливает теория подобия.
При решении технических задач обычно необходимо знать численные значения, характер изменения или соотношение искомых величин в определенной области пространства и в заданные моменты времени. С этой целью удобнее всего использовать расчет, если имеются достаточно простые алгебраические уравнения. При отсутствии простых формул прибегают к помощи таблиц и графиков, составленных заранее путем вычислений по сложным уравнениям или с помощью измерений, проведенных на реальном объекте. Часто эксперимент сопряжен с большими сложностями, связанными со свойствами объекта или вообще невозможен (например, если объект существует лишь в проекте). При решении задач такого рода используют теорию подобия. С помощью аппарата теории подобия дифференциальные уравнения и краевые условия, которые описывают рассматриваемое явление, преобразуя к виду, удобному для анализа и интегрирования.
Основные соотношения, определяющие выбор единиц физических величин, изучают в теории размерности. Физические величины бывают первичными и вторичными. Первичные имеют простейшие единицы, например кг, м, с, град… Вторичные выражаются через первичные, например м/с, м/с2, кг/м3…Известны различные системы единиц физических величин, но в настоящее время наиболее употребительной является СИ.
При образовании системы вторичных единиц используется функция вида
,
где Х 1, Х 2, Х 3 – первичные величины; - вторичная величина; А, α1, α2, α2 – рациональные числа.
Первичные и вторичные величины в каждой системе измерения связаны соотношениями, которые определяются возможностью образования из них безразмерных переменных или обобщенных величин, называемых критериями подобия. Количество критериев, характерных для данного явления, определяется теоремой Бэкингема и равно числу всех величин, характеризующих процесс, за вычетом первичных.
Существование безразмерных переменных для любого физического явления указывает на независимость определенных свойств этого явления от выбора системы физических единиц. О таких свойствах иногда говорят, что они инвариантны по отношению к метрическому преобразованию. Физический смысл этого изучается в теории подобия физических явлений.
Теория подобия устанавливает правила физического моделирования.
Важнейшими понятиями теории подобия являются понятия класса и группы явлений. Классом физических явлений (процессов) называется такая их совокупность, которая характеризуется единым физическим механизмом, лежащим в основе этих явлений, и поэтому описывается той же системой дифференциальных уравнений. Класс представляет собой наиболее широкую совокупность явлений одной и той же физической природы. Примерами классов могут служить течения реальной и идеальной жидкости. В класс входит множество единичных явлений. Для того чтобы выделить из класса определенное единичное явление и, соответственно, для того, чтобы получить частное решение системы уравнений, необходимо задать условия однозначности, определяющие всю специфику данного единичного явления. В условиях однозначности входят геометрические и физические свойства системы, а также краевые условия.
В соответствии с этим, система дифференциальных уравнений, описывающих все явления данного класса, имеет бесчисленное множество решений, каждое из которых соответствует определенному единичному явлению данного класса. Группа явлений представляет собой совокупность подобных физических явлений.
Теория подобия физических явлений возникла как последовательное обобщение представлений о геометрическом подобии.
Напомним, что геометрически подобными системами называют такие, в которых сходственные элементы пропорциональны, т.е. отличаются на одно и тоже число. Для линейных элементов l подобных систем А и Б это определение можно записать так:
. (1)
Величину , показывающую во сколько раз элементы одной системы больше элемента другой, называют константой подобия или множителем – это безразмерная величина, представляющая собой отношение сходственных одноименных элементов двух различных фигур или тел. В качестве индекса используют обозначение пропорциональных величин. В геометрически подобных системах также пропорциональны сходственные элементы площади и объема. Точно также можно ввести понятие множителя преобразования и для физических процессов, определив его как отношение одноименных (например, скоростей или давлений) характеристик двух физических процессов в сходственные моменты времени и в сходственных точках. Если эти два явления подобны, то множители преобразования представляют собой постоянные величины, не зависящие от координат и времени.
Таким образом, критерий подобия представляет собой безразмерную величину, представляющую собой комбинацию величин, определяющих элементы данной фигуры или тела. Для всех подобных фигур или тел такая комбинация имеет одно и то же значение. Подобными физическими явлениями, образующими группу, называются явления одной физической природы, принадлежащие к одному классу и отличающиеся одно от другого лишь масштабами. Все характеристики одного из таких явлений могут быть получены из одноименных характеристик любого другого явления, подобного данному, путем умножения на соответствующие множители преобразования, являющиеся постоянными величинами.
Условия, которые необходимо и достаточно выполнить для того, чтобы физические явления были подобны, составляют содержание теоремы подобия (теорема Ньютона): если физические явления подобны, то они описываются одинаковыми по структуре уравнениями, в которых сходственные параметры равны.
Определение критериев подобия для двух рассматриваемых явлений включает:
1. математическую формулировку этих явлений в виде системы уравнений и краевых условий;
2. соотношений между соответственными параметрами явлений с помощью констант подобия;
3. в выражении параметров, входящих в уравнения для второго явления, через параметры первого явления и константы подобия;
4. приравнивание единице комплексов из констант подобия, называемых индикаторами подобия, в результате чего уравнения для второго явления становятся тождественными уравнениям для первого явления.
Другой способ нахождения критериев подобия основывается на физическом истолковании критериев, как соотношений сил, определяющих закономерности рассматриваемого движения.
Введенные понятия теории подобия применим к задачам механики жидкости и газа. На рис.1 показаны два случая движения жидкости в круглой трубе. Для потока, представленного на рис (а) на некотором расстоянии х от входа в трубу распределение скорости изображается кривой u(y), где y – текущий радиус, изменяющийся от 0 до r0 (радиус трубы). Если рассмотреть распределение скорости в сходственном сечении второй трубы (б), отстоящем на расстоянии скорость определяется соотношением
, где
- множитель преобразования скорости, то это значит, что второй поток подобен первому.
Важным является вопрос о том, являются ли все множители преобразования независимыми или между ними имеются какие-либо связи. Для этого рассмотрим два нестационарных потока реальной жидкости, движущейся в поле силы тяжести. Будем считать, что эти потоки подобны между собой и выясним. Имеются ли какие-то связи между множителями преобразования.
Пусть уравнение для первого потока имеет вид:
. (2)
Поскольку второй поток подобен первому, он описывается уравнением:
, (3)
в котором знаком «штрих» отмечены параметры, независимые функции и переменные, относящиеся ко второму потоку. При этом из подобия рассматриваемых потоков следует, что все величины пропорциональны соответствующим величинам для первого потока, а коэффициентами пропорциональности являются множители преобразования, т.е.
;
;
;
;
;
;
;
Подставляя эти выражения в (3) и учитывая, что множители преобразования постоянны
(4)
или разделив обе части на ,
. (5)
Так как рассматриваемые потоки подобны, они должны описываться тождественными уравнениями. Следовательно, уравнение (5) должно быть тождественно уравнению (2). Это требование будет выполнено, если постоянные коэффициенты перед всеми членами в уравнении (5), составленные из множителей преобразования, будут равны единице. Таким образом, получаем следующие соотношения между множителями преобразования:
;
;
;
. (6)
Эти равенства представляют собой необходимые условия подобия двух потоков.
Равенства (6) можно записать в ином виде. Для этого множители преобразования выразим как отношения соответствующих величин для первого и второго потоков, подставим эти выражения в равенства (6) и разнесем величины, характерные для каждого из потоков, по разные стороны знака равенства. Например, в первое соотношение (6) подставим
;
;
.
В результате получим:
.
Безразмерная величина
(7)
называется критерием или числом гомохронности. Видно, что в число гомохронности входят два постоянных параметра – характерная скорость и характерный размер и независимый аргумент – время. Таким образом, число гомохронности является переменной величиной и представляет собой безразмерное время. Смысл этого утверждения в том, что равенство чисел гомохронности определяет сходственные моменты времени для двух сравниваемых потоков.
Проделав такую же операцию со вторым соотношением, получим: .
Безразмерная величина
(8)
называется критерием или числом Фруда и представляет собой безразмерный параметр задачи, так как все величины, входящие в выражение для критерия Фруда, являются постоянными параметрами.
Из третьего равенства (6) получаем
.
(9)
называется критерием Эйлера. Этот критерий представляет собой безразмерное давление, т.е. безразмерную искомую функцию. В выражение для критерия Эйлера входят два постоянных параметра (характерная скорость и плотность) и искомая функция – давление, являющееся переменной величиной.
Из последнего равенства получим:
(10)
называемую критерием Рейнольдса – безразмерную скорость.
Синтаксис команд Ассемблера.
Программа на языке ассемблера представляет собой последовательность операторов, описывающих выполняемые операции. Оператором (строкой) исходной программы может быть или команда, или псевдооператор (директива) Ассемблера. Команды выполняются в процессе решения задачи на компьютере, а директивы - в процессе ассемблирования (трансляции) программы. Следовательно, в отличие от команд псевдооператоры или директивы сообщают Ассемблеру (транслятору), что ему делать с командами и данными, которые вводятся в программе.
Команда может включать до 4-х полей следующего вида:
[метка:] мнемокод [операнд] [; комментарий]
Поскольку в [ ] указываются необязательные поля, то, следовательно, команда должна содержать мнемокод выполняемого действия. Поля могут набираться в любом месте строки, но отделяйте поля друг от друга хотя бы одним пробелом и, если хотите разобраться в своей программе по истечению времени, позаботьтесь о читабельности, что чаще всего обеспечивается за счет позиционирования полей. Пример команды со всеми полями:
GETCOUNT: MOV CX.DX;инициализация счетчика, поместить содержимое регистра DX в регистр СХ
Пример команды с полем мнемокода:
PUSHF
Эта команда сохраняет в стеке содержимое регистра флагов.
Следует отметить, что Ассемблер не различает прописные и строчные буквы.
В качестве операнда в команде может фигурировать константа, которая может быть введена в следующих формах:
- двоичной, как последовательность цифр 0 и 1, заканчивающихся буквой В, например, 10111010В;
- десятичной (в привычной десятичной системе счисления с необязательной буквой D на конце), например, 129D или просто 129;
- шестнадцатеричной, как последовательность цифр от 0 до 9 и букв от А до F, заканчивающаяся буквой Н. Первым символом может быть только цифра от 0 до 9, например, ОЕ23Н (в данном случае первая цифра информирует ассемблер о том, что Е23 число, а не идентификатор или
переменная);
- литералом, строка букв, цифр и других символов, заключенная в
кавычки или апострофы.
Мнемокоды могут иметь от 2 до 6 букв, при трансляции мнемокод преобразуется в числовое значение по таблице перекодировки (внутри транслятора). Мнемокоды имеют жесткий формат, предусматривающий 1,2 или отсутствие операндов. Если операндов 2, они отделяются друг от друга запятой.
Операнды команды могут задаваться по-разному:
1) неявно на микропроцессорном уровне. Такие команды работают либо с регистрами, либо с флагами и в конкретной команде объект определяется кодом команды, например:
PUSHF - команда пересылки флагов в стек. Источник (откуда берутся
данные) и приемник (куда пересылаются) определяются кодом
команды;
или CLD - обнуление флага направления DF;
2) явно в самой команде (непосредственный операнд), например:
MOV АХ,0;
3) одним из регистров общего назначения (РОН) или сегментным регистром;
4) идентификатором переменной (меткой переменной, описанной в сегменте данных). В этом случае операнд располагается в ОЗУ. При косвенной адресации адрес-смещение переменной в ОЗУ помещается в РОН или индексный регистр и в команде используется ссылка на этот регистр;
5) номером порта ввода-вывода. В этом случае номер задается шестнадцатеричной константой;
6) регистром стека, когда используются команды работы со стеком и в этом случае операнд либо заносится в вершину стека, либо считывается из вершины стека.
Меткой является последовательность букв и цифр, после которой ставится двоеточие. Нельзя использовать в качестве меток имена регистров и мнемокоды, кроме того метка должна начинаться с буквы, но может содержать цифры и спец символы:?, @, /, _,$ и точку, однако точка может быть только первым символом метки.
Важной особенностью машинных команд является то, что они не могут манипулировать одновременно 2-мя операндами, находящимися в ОЗУ. Это означает, что в команде только 1 операнд может указывать на ячейку ОЗУ, 2-ой д.б. либо регистром, либо непосредственно указывать значение. По этой причине возможны следующие сочетания операндов в команде:
регистр - регистр;
регистр - память;
память - регистр;
регистр - непосредственный операнд;
память - непосредственный операнд.
Для команд характерно, что если в них присутствуют 2 операнда, то 1-ый является приемником, а 2-ой -источником, иначе говоря результат операции сохраняется по 1-ому адресу, вот почему 1-ый операнд никогда не может быть непосредственным операндом или иначе говоря, константой. Таблица 5.1. ПСЕВДООПЕРАТОРЫ ИЛИ ДИРЕКТИВЫ
Псевдооператор | Формат и Функция |
Определения данных DB | [имя] DB выражение [,…….] определяет переменную или присваивает ячейке памяти начальное значение. Резервирует 1 или более байт (при наличии запятых) |
DW | [имя] DW выражение [,…….] аналогично предыдущему резервирует двухбайтовые слова |
DD | [имя] DD выражение [,…….] Резервирует 4-х байтовые двойные слова |
Псевдооператор | Формат и Функция |
Определения сегмента или процедуры SEGMENT | Имя_cer SEGMENT [тип_выравнивания (подгонки)] [тип_связи] [‘класс’] .... Имя_cer ENDS Определяет границы сегмента программы. Обязательно содержит начало описания Имя_cer SEGMENT и окончание описания Имя_cer ENDS |
ASSUME | ASSUME регистр_cer: Имя_cer [,…….] Или ASSUME регистр_cer: NOTHING Cообщает Ассемблеру, какой регистр сегмента связан с соответствующим сегментом программы. Оператор ASSUME регистр_cer: NOTHING отменяет действие всех предыдущих операторов ASSUME для данного регистра |
PROC | Имя PROC [NEAR] или Имя PROC FAR .... .... RET имя ENDP Присваивает имя последовательности операторов. Должно иметь начало PROC и окончание ENDP |
Управление трансляцией END | END [метка точки входа] Отмечает конец исходной программы |
Внешние ссылки PUBLIC | PUBLIC идентификатор Делает определенный ранее идентификатордоступным другим модулям программы, которые впоследствии должны быть присоединены к данному модулю |
EXTERN | EXTERN имя: тип [, ….] Указывает, что имя определено в другом модуле программы |
INCLUDE | INCLUDE файл вставляет содержимое указанного файла в текущий файл исходной программы |
Псевдооператор | Формат и Функция |
Определение идентификаторов EQU | Имя EQU текст или Имя EQU числовое_выражение Постоянно присваивает идентификатору имя текст или числовое_выражение Имя = числовое_выражение Числовое_выражение присваивается идентификатору имя, но может быть переприсвоено |
Директивы определения данных присутствуют только в сегменте данных (сегмент данных является аналогом раздела VAR в программах на языке Паскаль). Как и в других языках программирования, для операций с данными необходимо указать в команде имя этого элемента данных, и также имена данных должны быть уникальными и не совпадать с зарезервированными словами (мнемокодами команд или псевдооператорами).
Важно отметить, что функциональное назначение сегментации несколько шире, чем просто разбиение программы на сегменты кода и данных. Сегментация является частью более общего механизма, связанного с концепцией модульного программирования. Этот механизм предполагает унификацию оформления объектных модулей, создаваемых компилятором, в том числе с разных языков программирования. Это позволяет объединять части большой программы, написанные на разных языках.
В директиве SEGMENT тип_выравнивания указывает, на границе байта (BYTE) слова (WORD), параграфа (PARA) или другой должен быть установлен адрес начала сегмента. Выравнивание на границу параграфа означает, что адрес начала сегмента д.б. кратен 16, слова - кратен 2.
Тип_связи (комбинирования сегментов) указывает, как нужно комбинировать сегменты различных модулей, имеющие одно и то же имя. По умолчанию предполагается PRIVATE, что означает, что сегмент не будет объединяться с сегментами с таким же именем вне данного модуля. PUBLIC заставляет компоновщик объединить все сегменты с одинаковым именем. Объединенный сегмент будет непрерывным, все адреса данных или команд будут определяется относительно начала этого сегмента. COMMON - все сегменты с одним именем располагаются по одному адресу (перекрываются).
'класс' заключенная в кавычки строка символов определяет назначение сегмента и помогает компоновщику определить порядок следования сегментов внутри программы. Формально этот порядок может быть любым, но лучше, если все сегменты кода (содержат команды обработки) объединяются в общую группу. Заключенное в кавычки слово класс может принимать следующие значения: code, stack, data, что означает соответственно сегмент кода (команд программы), сегмент стека и сегмент данных.
Все сегменты сами по себе равноправны, т.к. директива SEGMENT не содержит информации о функциональном назначении сегментов. Для того, чтобы Ассемблер использовал сегмент либо как сегмент кода, либо как сегмент данных, необходимо предварительно транслятору сообщить об этом в директиве ASSUME. Именно он сообщает транслятору, какой сегмент к какому сегментному регистру привязан.
Директивы определения данных по своим функциям и назначению аналогичны описаниям переменных в языках высокого уровня. Особенность в том, что слово DUP означает дубликат или иначе, повторение столько раз, сколько указано числом перед этим словом. Если после DUP в скобках указано значение, то оно будет занесено в память в начале работы программы. Если это значение ?, то выделенный для переменной участок памяти инициализироваться не будет (останется таким, каким было при выполнении предыдущих действий).
Ниже приводится таблица примеров определения переменных в программе на ассемблере.
Таблица 5.2. Примеры определения переменных.
Имя | Директива определения | значения | комментарий | |
DB – определение байтов | ||||
BYTE1 | DB | ? | Без указания значения | |
BYTE2 | DB | Десятичная константа | ||
BYTE3 | DB | 30Н | Шестнадцатеричная константа | |
BYTE4 | DB | 01111010В | Двоичная константа | |
BYTE5 | DB | 10 DUP(0) | Десять нулевых значений | |
BYTE6 | DB | ‘Input simbol’ | Строка символов | |
BYTE7 | DB | ‘12345’ | Строка цифровых символов | |
BYTE8 | DB | 01, ‘Jan’, 02, ‘Feb’, 03, ‘mar’, 04,.... | Таблица месяцев года, состоит из числовых значений номера месяца и его сокращенного названия | |
DW – определение слов (16 бит=2 байта) | ||||
WORD1 | DW | 0fff0h | Шестнадцатеричная константа | |
WORD2 | DW | 01111010В | Двоичная константа | |
WORD3 | DW | BYTE3 | Константа адреса переменной | |
WORD4 | DW | 2,3,4,5,6 | Таблица из 5 констант | |
WORD5 | DW | 8 DUP(0) | Восемь нулевых значений | |
DD – определение двойных слов (32 бита = 4 байта) | ||||
DWORD1 | DD | ? | Без значения | |
DWORD2 | DD | Десятичное значение | ||
DWORD3 | DD | 48Н, 24Н, СА | 3 шестнадцатеричные константы | |
DWORD4 | DD | WORD1 | Адрес слова в виде сегмент:смещение | |
DWORD5 | DD | BYTE8-BYTE5 | Разность между адресами переменных (количество байт) | |
Дата добавления: 2014-12-19; просмотров: 104 | Поможем написать вашу работу | Нарушение авторских прав |