Справка по  ActiveField™ 

об ELCUT     Скачать     Контакты

Технология ActiveField
Обзор объектов
Диаграмма иерархии объектов
С чего начать: Объект Application
Как работать с задачами
Как работать с геометрической моделью
Как работать с физическими свойствами
Как анализировать результаты

Объекты

Свойства

Методы

Spline Object

Свойства

Методы

Краткое описание

Функциональная зависимость в форме кубического сплайна.

Подробное описание

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

Объект Spline можно получить используя свойства объектов LabelBlockMS или LabelBlockHT. Объект Spline является коллекцией точек (объект Point), у которых свойство X является аргументом функции, а свойство Y - значением функции. Точки объекта Spline отсортированы в порядке возрастания аргумента.

Как и любая другая коллекция, коллекция Spline имеет свойство Count, которое возвращает количество точек в сплайне, и метод Item, который возвращает выбранную точку (объект Point) из коллекции по её номеру в коллекции. Метод Find возвращает номер точки в коллекции, ближайшей к заданному аргументу. Методы Add и Remove позволяют добавить и удалить точку из коллекции. Метод Modify позволяет изменить значение функции в точке, принадлежащей коллекции Spline. Невозможно изменить аргумент точки, принадлежащей коллекции Spline. Если нужно это сделать, сначала удалите точку, а потом добавьте новую.

Следующая таблица содержит все методы и свойства объекта Spline

Выбор точек коллекции

Метод Item

Возвращает точку (объект Point) по её номеру, считая с единицы.
Точки в сплайне отсортированы по возрастанию аргумента

Свойство Count (только для чтения)

Возвращает количество точек в сплайне.

Метод Find (arg)

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

Метод ValueAt (arg, derivate)

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

Общие свойства

Свойство ProblemType (только для чтения)

Возвращает тип задачи в которой задан сплайн (в формате qfProblemTypes).

Свойство SplineType (только для чтения)

Возвращает тип объекта Spline в формате qfSplineType

Работа с точками

Метод Add (p типа Point)
Тип Integer

Добавляет новую точку (задается параметром p) в сплайн.
Возвращает номер созданной точки.

Метод Remove (index)

Удаляет точку из сплайна (объект Spline).

Метод Modify (index, val)

Устанавливает новую величину значения функции в точке сплайна.

Метод CheckSpline

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

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

dim lb As ELCUT.Label
dim lbMS As ELCUT.LabelBlockMS

set lb = prb.Labels(qfBlock).Add
lb.Name = "ALNICO magnet1"
set lbMS = lb.Content
With lbMS
    .Polar = False
    .Coercive = ELC.PointRA(44000, 0)

   Dim curve As Spline
   Set curve = .CreateBHCurve ' Создание нового сплайна
       ' Не надо вводить координаты первой точки (0, -44000) -
       ' она создается автоматически

   curve.Add ELC.PointXY(0.121905, -39206)
   curve.Add ELC.PointXY(0.21943, -35370)
   curve.Add ELC.PointXY(0.266805, -33453.1)
   curve.Add ELC.PointXY(0.348365, -29091.2)
   curve.Add ELC.PointXY(0.408495, -24729.2)
   curve.Add ELC.PointXY(0.456152, -20367.2)
   curve.Add ELC.PointXY(0.495103, -16005.2)
   curve.Add ELC.PointXY(0.527358, -11643.3)
   curve.Add ELC.PointXY(0.557411, -7281.3)
   curve.Add ELC.PointXY(0.584952, -2572.67)
   curve.Add ELC.PointXY(0.6, 0)
End With

on Error GoTo BadSpline
   curve.CheckSpline     ' Проверка сплайна
   lbMS.Spline = curve   ' Присвоение созданного сплайна содержимому метки
   lb.Content = lbMS

badSpline:
   ' продолжение