Справка по  ActiveField™ 

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

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

Объекты

Свойства

Методы

Как работать с задачами

Объект Problem обеспечивает доступ к большинству полезных объектов ELCUT. Когда Вы собираетесь создать новую или модифицировать существующую геометрическую модель, установить физические свойства среды, граничные условия или источники поля, решить задачу или проанализировать результаты, первое что необходимо сделать - получить объект Problem.

Допустим, что у нас уже есть объект типа Application. Если это не так, вернитесь назад и прочтите статью >> C чего начать. Объект Application поддерживает коллекции для каждого типа документа ELCUT. В частности, коллекция всех задач доступна при помощи свойства Problems объекта Application. Как и любая Коллекция документов, она содержит все объекты Problem, которые открыты в данный момент, и предоставляет методы для создания нового документа или открытия существующего.

Следующий код сначала открывает файл с существующей задачей Magn1.pbm, затем создает новую задачу и сохраняет её под именем MyProblem.pbm:

Dim ELC As ELCUT.Application
Set ELC = CreateObject("ELCUT.Application")
ELC.Problems.Close
ELC.DefaultFilePath = "D:\ELCUT\Examples"

Dim prb As ELCUT.Problem
Set prb = ELC.Problems.Open("Magn1.pbm")

Dim prbNew As ELCUT.Problem
Set prbNew = ELC.Problems.Add
prbNew.SaveAs "MyProblem.pbm"

Первая строчка кода создает новый объект Application. Это приводит к запуску ELCUT, если он еще не был запущен прежде. Затем закрываются все ранее открытые задачи, если таковые были. Это полезно, поскольку ELCUT при запуске обычно автоматически открывает последнюю использованную задачу. Затем устанавливается текущая папка D:\ELCUT\Examples. Теперь можно ссылаться на файлы из этой папки, не задавая её полный путь.

Метод Open коллекции Problems открывает существующий файл Magn1.pbm и добавляет открытую задачу к коллекции. Чтобы создать новую задачу используется метод Add, который создает новую пустую задачу. Чтобы сохранить задачу в файле под именем "MyProblem.pbm", используется метод SaveAs объекта Problem.

Теперь, если открыть вновь созданную задачу MyProblem.pbm, будет видно, что она содержит следующие данные, установленные по умолчанию: тип задачи Электростатика, файл геометрической модели Problem.mod и файл физических свойств Problem.des. Чтобы изменить эти данные, расширим код, например, следующим образом:

    ......
Set prbNew = ELC.Problems.Add
With prbNew
        ' Установка свойств задачи
        '     также, как это происходт в диалоге на экране

    .ProblemType = QFHeatTransfer
    .ReferencedFile(qfModelFile) = "MyModel.mod"
    .ReferencedFile(qfDataFile) = "MyData.dht"
    .Class = qfPlaneParallel
    .Coordinates = qfCartesian
    .LengthUnits = qfMillimeters
End With
prbNew.SaveAs "MyProblem.pbm"

Специальный объект Link используется для установки ссылки на связанную задачу. Каждый объект Link представляет одну такую ссылку. Объект Link имеет такие свойства как LinkType и TargetName, которые полностью описывают ссылку на связанную задачу. Все объекты Link данной задачи являются членами коллекции Links. Коллекция Links позволяет создать новую ссылку методом Add и удалить существующую ссылку методом Remove.

Следующий пример демонстрирует основные операции с объектом Link и коллекцией Links:

Dim prb As ELCUT.Problem
Set prb = ELC.Problems.Open("Coupl1SA.pbm")
    ' Сначала удаляем все существующие ссылки
Dim i As Integer
For i = 1 To prb.Links.Count
    prb.Links.Remove (1)
Next
    ' Теперь добавляем ссылку на источник магнитных сил
prb.Links.Add qfMagneticForces, "Coupl1MS.pbm"
    ' Решаем задачу-источник
Dim linkedPrb As ELCUT.Problem
Set linkedPrb = ELC.Problems.Open(prb.Links(1).TargetName)
linkedPrb.SolveProblem
    ' Теперь всё готово для решения основной задачи
prb.Save
prb.SolveProblem

Теперь обсудим работу с геометрическими и физическими данными задачи. Чтобы получить геометрическую модель (объект Model) используется одноименное свойство Model объекта Problem. Если файл MyModel.mod уже существует, он будет загружен в ELCUT, в противном случае система создаст пустой документ геометрической модели. Аналогично, документ физических свойств доступен при помощи свойства DataDoc объекта Problem.

Например, следующий фрагмент кода

ELC.MainWindow.Visible = True
prbNew.DataDoc.Windows (1).Visible = True

делает ELCUT видимым на экране и открывает документ свойств (в нашем случае MyData.dht) в отдельном окне.

Закончив работу с геометрической моделью и задание физических свойств, можно приступить к решению задачи и анализу результатов:

prbNew.SolveProblem
prbNew.AnalyzeResults

Dim res As ELCUT.Result
Set res = prbNew.Result