Справка по  ActiveField™ 

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

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

Объекты

Свойства

Методы

Result Object

Свойства

Методы

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

Документ, содержащий результаты решения задачи.

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

Объект Result является ключевым при анализе результатов решения. Вы можете получить его, используя свойство Result объекта Problem, после того как был вызван метод AnalyzeResults. Формально объект Result получается из объекта IDocument и наследует все его методы и свойства. Но некоторые свойства объекта IDocument являются бесполезными для объекта Result. Так, Вы не можете сохранить его на диск - есть специальные методы для экспорта численных величин или картинки. Но некоторые свойства объекта IDocument применимы и для объекта Result. Так, свойство Windows возвращает коллекцию окон, которые показывают картину поля, график или таблицу.

Когда метод AnalyzeResult объекта Problem создает объект Result, он также создает первое окно для показа картины поля (объект FieldWindow) с настройками по умолчанию. Это окно является членом коллекции Windows, связанной с объектом Result. Каждый раз, когда создается новое окно для отображения результатов, оно становится членов коллекции Windows.

Коллекция Windows в общем случае содержит окна разных типов. Для удобства получения окна картины поля имеется альтернативная возможность: метод GetFieldWindow. Этот метод принимает числовой параметр index, задающий порядковый номер окна картины поля, начиная с единицы. В большинстве случаев, значение параметра будет равно единице.

Часто при анализе результатов требуется контур (объект Contour). Контур принадлежит окну результатов (объект FieldWindow). Если надо иметь несколько контуров одновременно, то нужно завести несколько объектов FieldWindow.

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

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

Вот список специальных методов объекта Result, который дополняет свойства и методы базового класса IDocument.

Метод GetLocalValues

Возвращает значение физической величины в точке (FieldPoint) или производную физической величины.

Метод GetIntegral

Возвращает интегральную величину в формате Quantity. Интегрирование происходит по контуру (объект Contour).

Метод GetXYPlot

Создает и возвращает окно графика (объект XYPlotWindow), который показывает распределение физической величины вдоль контура (объект Contour).

Метод GetTable

Создает и возвращает окно таблицы (объект TableWindow), которая показывает распределение физической величины вдоль контура (объект Contour).

Свойство CircuitResult

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

Свойство ExportSettings

Создает объект, управляющий параметрами экспорта решения полевой задачи.

Метод Export

Выполняет экспорт решения задачи для обмена с другими программами.

Для нестационарных задач

Свойство Time
Тип Double

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

Свойство TimesArray
Тип массив Double

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

Метод GetTimePlot
Тип TimePlotWindow

Создает новое или возвращает существующее окно графика во времени.

Метод GetTimeTable
Тип TimeTableWindow

Создает новое или возвращает существующее окно таблицы во времени.

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

sub SeeResults(res As ELCUT.Result)
   Dim times() As Double
   times = res.TimesArray
   res.Time = times(UBound(times))   ' Выбор последнего сохраненного момента времени для показа результатов
   
   ' Создание нового графика во времени
   Dim timeView As ELCUT.TimePlotWindow
   Set timeView = res.GetTimePlot
   Dim tsSet As ELCUT.TimePlotPicture
' Добавление двух точек к графику
   '    и настройка диапазона временной оси

   Set tsSet = timeView.PlotSettings
   With tsSet
        .GridLines = False
        .Markers = False
        .Group = QfGrad
       ' Установка диапазона временной оси:
        .RangeX(qfMin) = 6.5
        .RangeX(qfMax) = 10
       
       ' Добавление двух точек и выбор кривой для каждой из них
       Dim p As ELCUT.TimePlotPoint
       Set p = .Points.Add(ELC.PointXY(0, 0))
       p.curve(qfPotential) = True
       p.curve(QfGrad) = True
       p.curve(QfGradX) = True

       Set p = .Points.Add(ELC.PointXY(0, 70))
       p.curve(qfPotential) = True
       p.curve(QfGrad) = True
       p.curve(QfGradY) = True
   End With
   timeView.PlotSettings = tsSet   ' Применение сделанных настроек к графику во времени

   ' Создание новой таблицы во времени
   Dim timeTable As ELCUT.TimeTableWindow
   Set timeTable = res.GetTimeTable(ELC.PointXY(10, 20))
   ' Выбор строки таблицы по моменту времени
   '   Можно также выбрать строку по её номеру
   timeTable.Select 6#, 11#
   ' Копирование содержимого ряда в буфер обмена Windows -
   '    теперь данные могут быть вставлены в любую электронную таблицу или текстовый редактор

   timeTable.GetData

   ' Закрытие таблицы
   timeTable.Close
   timeView.Close
End Sub