Перейти к статье

 

Файлы входных данных для Sculpt

Параметры для указания входных файлов в Sculpt. Sculpt использует метод представления геометрии на основе частей объемов, определенных на декартовой или неструктурированной сетке. Sculpt принимает фасетную (STL) или аналитическую (diatom) геометрию, но сначала преобразует входную геометрию в описание требуемой части объема перед созданием гексаэдрической сетки. Различные форматы данных части объема также можно импортировать непосредственно в Sculpt и использовать в качестве основы для построения гексаэдральной сетки. В настоящее время в Sculpt поддерживаются следующие форматы геометрии:

Input Data Files        --input         -inp
  --stl_file                 -stl <arg> Input STL file                                 
  --diatom_file              -d   <arg> Input Diatom description file                  
  --input_vfrac              -ivf <arg> Input from Volume Fraction file base name      
  --input_micro              -ims <arg> Input from Microstructure file                 
  --input_cart_exo           -ice <arg> Input from Cartesian Exodus file               
  --input_spn                -isp <arg> Input from Microstructure spn file             
  --spn_xyz_order            -spo <arg> Ordering of cells in spn file                  
  --lattice                  -l   <arg> STL Lattice Template File                      
Sculpt Command Summary

STL File

Command: stl_file     Input STL file
Input file command:   stl_file <arg>
Command line options: -stl <arg>
Argument Type:        file name with path 

Описание команды:

Имя файла одного файла STL (геометрии facet), который будет использоваться в качестве входных данных. Для запуска Sculpt необходимо указать обозначение stl_file или diatom_file. Параметр stl_file поддерживает один файл STL. Чтобы использовать несколько файлов STL, где каждый файл представляет отдельный материал, используйте параметр файла diatom_file, в котором можно указать несколько имен файлов.

Рекомендуется, чтобы файлы STL, используемые в качестве входных данных для Sculpt, были «водонепроницаемыми». Хотя во многих случаях разбиение негерметичной геометрии будет успешной, однако, это может привести к неожиданным или неправильным результатам. Рекомендуется использовать CAE Fidesys, чтобы сначала импортировать геометрию STL и позволить команде sculpt parallel записать новый файл геометрии STL для использования в Sculpt. Команда «sculpt parallel» попытается сшить и восстановить все грани треугольника, которые не полностью закрыты. Для геометрии STL доступны другие коммерческие инструменты, которые могут быть эффективными при исправлении геометрии перед использованием в Sculpt.

Файлы Diatom

Command: diatom_file     Input Diatom description file
Input file command:   diatom_file <arg>
Command line options: -d <arg>
Argument Type:        file name with path 

Описание команды:

Имя файла для файла diatom будет использоваться в качестве входных данных для Sculpt. И stl_file, и diatom_file нельзя использовать одновременно. Файл diatom - это конструктивное описание твердотельной геометрии, содержащее примитивы для генерации полного геометрического определения модели. Файлы diatom обычно используются в качестве входных данных для кодов Sandia CTH и Alegra. В файле Diatom также можно определить несколько файлов STL. Ниже приведен простой пример файла diatom, который будет читать 3 разных файла STL:

diatoms
      package 'blue_material'
        material 1
        insert stl
          file = 'blue_part1.stl'
        endinsert
        insert stl
          file = 'blue_part2.stl'
        endinsert
      endpackage
      package 'red_material'
        material 2
        insert stl
          file = 'red_part1.stl'
        endinsert
      endpackage
    enddiatom

Обратите внимание, что первые два файла blue_part1.stl и blue_part2.stl принадлежат одному и тому же материалу. В результате элементы, сгенерированные в геометрии этих файлов, будут принадлежать блоку 1. Точно так же элементы, сгенерированные в геометрии red_part1.stl, будут принадлежать блоку 2.

Файлы Bitmap

Формат Diatom также поддерживает файлы bitmap. Это двоичные файлы, которые включают или выключают каждую ячейку для указанного материала. Ниже приведен пример спецификации diatom для файла bitmap. Обратите внимание, что спецификация bitmap включает размеры nx, ny, nz для размера входного файла.

diatoms
      package 'Skull'
        material 1
        insert bitmap
          file = 'skull_bitmap_file'
          nx = 680
          ny = 408
          nz = 236
        endinsert
      endpackage
    enddiatom

Пример сетки, созданной с помощью опции Diatom bitmap

Полное описание формата diatom см. В документации CTH или Alegra.

D. A. Crawford, A. L. Brundage, E. N. Harstad, K. Ruggirello, R. G. Schmitt, S. C. Schumacher and J. S. Simmons, "CTH User’s Manual and Input Instructions, Version 10.3", CTH Development Project, Sandia National Laboratories, Albuquerque, New Mexico 87185, February 14, 2013

Входной файл Volume Fraction

Command: input_vfrac     Input from Volume Fraction file base name
Input file command:   input_vfrac <arg>
Command line options: -ivf <arg>
Argument Type:        base file name with path 

Описание команды:

При желании Sculpt может взять исходный файл, содержащий данные о части объема (Volume Fraction), хранящиеся как переменные элемента. Обычно исходный файл изначально записывается с использованием параметра --volfrac_file (-vf). Поскольку файл exodus будет декартовой сеткой, распределенной по нескольким процессорам, в качестве аргумента для этой команды используется базовое имя файла для параллельной серии файлов exodus. Входные файлы Volume Fraction будут использоваться вместо файла STL или файла diatom. Поскольку вычисление Volume Fraction по геометрии может занимать много времени, предварительное вычисление Volume Fraction и считывание их из файла может быть полезным, если несколько сеток должны быть сгенерированы из одних и тех же данных о Volume Fraction.

Входной файл Microstructure

Command: input_micro     Input from Microstructure file
Input file command:   input_micro <arg>
Command line options: -ims <arg>
Argument Type:        file name with path 

Command Description:

Пример microstructure для гексаэдральной сетки

Файл microstructure - это текстовый файл в формате ascii, содержащий данные volume fraction для каждой ячейки декартовой сетки. Формат этого файла включает информацию заголовка, за которой следуют данные для каждой ячейки. Ниже приведен пример:

TITLE = triple line system
VARIABLES = x y z, phi_1, phi_2, phi_3
ZONE i = 2 , j = 2 , k = 2
0.0000       0.0000       0.0000      0.5000      0.5000      0.0000
1.0000       0.0000       0.0000      0.3333      0.3333      0.3334
0.0000       1.0000       0.0000      1.0000      0.0000      0.0000
1.0000       1.0000       0.0000      0.0000      1.0000      0.0000
0.0000       0.0000       1.0000      0.2000      0.4000      0.4000
1.0000       0.0000       1.0000      0.6000      0.1000      0.3000
0.0000       1.0000       1.0000      0.0000      0.0000      1.0000
1.0000       1.0000       1.0000      0.9000      0.0000      0.1000

Информация заголовка должна содержать следующее:

TITLE: любая описательная символьная строка.

VARIABLES: список переменных, разделенных пробелами или запятыми. Он должен включать x, y, z в качестве первых трех имен переменных. Остальные названия произвольны. Количество перечисленных имен переменных должно соответствовать количеству значений данных для каждой ячейки декартовой сетки.

ZONE: укажите количество ячеек в направлениях i, j и k (соответствующих x, y и z соответственно).

Тело файла будет содержать по одной строке на ячейку сетки. Первые три значения соответствуют положению центра тяжести ячейки в сетке. Остальные значения представляют собой volume fractions ячейки для каждой из перечисленных переменных. Сумма объемных долей для каждой отдельной ячейки должна быть 1.0.

В настоящее время этот формат предполагает, что размеры ячеек равны точно 1,0 x 1,0 x 1,0, а минимальное расположение центроида ячейки всегда равно 0,0, 0,0, 0,0. В результате получается декартова сетка с минимальной координатой = (-0,5, -0,5, -0,5) и максимальной координатой = (i-0,5, j-0,5, k-0,5). Если требуется размер, отличный от 1x1x1, рассмотрите возможность использования параметров масштабирования и / или перевода.

Пример использования команды:


sculpt -j 8 -ims my_micro_file.tec -p 1

Сглаживание: Sculpt установит автоматические значения по умолчанию для сглаживания, если параметры пользователя не были определены. К ним относятся:

--smooth 9 (surface smoothing option - no surface projection)
--csmooth 2 (curve smoothing option - hermite interpolation)

Эти параметры обычно обеспечивают более плавную кривую и представление поверхности, но могут не соответствовать строго геометрическому определению volume fraction. Чтобы отменить настройки по умолчанию, рассмотрите возможность использования следующих параметров:

--smooth 8 (surface smoothing option - projection to interpolated surface)
--csmooth 5 (curve smoothing option - projection to interpolated curve)

Pillowing (Подкладывание): для большинства 3D-моделей рекомендуется использовать подкладывание, поскольку тройные стыки (кривые с как минимум тремя смежными материалами) обычно определяются там, где в противном случае генерировались бы деформированные гексаэдральные элементы. Опции Все поверхности (вариант 1) обычно достаточно для удаления некачественных элементов в тройных стыках.

Подкладывание (гексаэдральные слои) вставлено на поверхности для улучшения качества элементов вокруг кривых. Обратите внимание на качество сетки на кривой между поверхностями A и B.

Входной Cartesian Exodus File

Command: input_cart_exo     Input from Cartesian Exodus file
Input file command:   input_cart_exo <arg>
Command line options: -ice <arg>
Argument Type:        file name with path 

Описание команды: Сетку exodus, содержащую декартову сетку элементов, также можно использовать в качестве источника сетки Sculpt. Для этого варианта должны быть соблюдены следующие условия:

Пример файла Cartesian Exodus и результирующая гексаэдральная сетка

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

sculpt -j 8 -ice my_cartesian_file.e -p 1

Сглаживание: Sculpt установит автоматические значения по умолчанию для сглаживания, если параметры пользователя не были определены. К ним относятся:

--smooth 9 (surface smoothing option - no surface projection)
--csmooth 2 (curve smoothing option - hermite interpolation)

Эти параметры обычно обеспечивают более плавную кривую и представление поверхности, но могут не соответствовать строго геометрическому определению volume fraction. Чтобы отменить настройки по умолчанию, рассмотрите возможность использования следующих параметров:

--smooth 8 (surface smoothing option - projection to interpolated surface)
--csmooth 5 (curve smoothing option - projection to interpolated curve)

Pillowing (Подкладывание): для большинства 3D-моделей рекомендуется использовать подкладывание, поскольку тройные стыки (кривые с как минимум тремя смежными материалами) обычно определяются там, где в противном случае генерировались бы деформированные гексаэдральные элементы. Опции Все поверхности (вариант 1) обычно достаточно для удаления некачественных элементов в тройных стыках.

Входной файл Microstructure SPN

Command: input_spn     Input from Microstructure spn file
Input file command:   input_spn <arg>
Command line options: -isp <arg>
Argument Type:        file name with path 

Описание команды:

Файл .spn - это необязательный метод импорта данных fraction data в sculpt для создания сетки. Этот формат представляет собой простой текстовый файл ascii, содержащий одно целое число на ячейку декартовой сетки. Каждое целое число представляет собой уникальный идентификатор материала. Может использоваться любое количество материалов, однако для практических целей количество уникальных материалов не должно превышать более 50 для разумной производительности.

Пример файла, содержащего сетку 3 x 3 x 3 с 2 материалами, можно определить следующими командами:

1 1 2 1 2 1 1 1 1
1 2 2 1 2 2 1 1 2
2 1 1 1 2 1 1 2 2

Любое уникальное целое число может использоваться для идентификации материала. Все ячейки с одинаковым идентификатором будут определены как непрерывный блок с одинаковым идентификатором блока exodus в финальной сетке. Все целые числа следует разделять пробелом или новой строкой. Количество целых чисел в файле должно точно соответствовать размеру декартовой сетки. Размеры декартовой сетки должны быть указаны в командной строке как часть ввода. Ниже приведен пример:

sculpt -j 8 -x 10 -y 24 -z 15 -isp "my_spn_file.spn" -p 1

Порядок ячеек во входном файле по умолчанию будет считываться в соответствии со следующей схемой:

for (i=0; i<nx; i++)
      for (j=0; j<ny; j++)
        for (k=0; k<nz; k++)
           // read next value from file

Где nx, ny, nz - количество ячеек в каждом декартовом направлении. Этот порядок можно изменить на nz, ny, nx с помощью параметра spn_xyz_order. Начальный размер декартовой сетки будет точно nx X ny X nz с минимальной координатой в точке (0,0, 0,0, 0,0). Если требуется размер, отличный от размера по умолчанию, рассмотрите возможность использования параметров масштабирования и / или перевода.

Сглаживание: Sculpt установит автоматические значения по умолчанию для сглаживания, если параметры пользователя не были определены. К ним относятся:

--smooth 9 (surface smoothing option - no surface projection)
--csmooth 2 (curve smoothing option - hermite interpolation)

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

--smooth 8 (surface smoothing option - projection to interpolated surface)
--csmooth 5 (curve smoothing option - projection to interpolated curve)

Pillowing (Автоматическое подкладывание): Для большинства 3D-моделей рекомендуется использовать опцию Автоматическое подкладывание, поскольку тройные стыки (кривые с как минимум 3 смежными материалами) обычно определяются там, где в противном случае генерировались бы деформированные гексаэдральные элементы. Поверхности подкладывания (вариант 1) обычно достаточно для удаления некачественных элементов в тройных стыках.

XYZ ordering of cells in SPN File

Command: spn_xyz_order     Ordering of cells in spn file
Input file command:   spn_xyz_order <arg>
Command line options: -spo <arg>
Argument Type:        integer (0 to 5) 
Input arguments: xyz (0)
                 xzy (1)
                 yxz (2)
                 yzx (3)
                 zxy (4)
                 zyx (5)

Описание команды:

Данная опция действительна с опцией 'input_spn'. Порядок ячеек по умолчанию во входном файле spn будет считываться в соответствии со следующей схемой:

for (i=0; i<nx; i++)
      for (j=0; j<ny; j++)
        for (k=0; k<nz; k++)
           // read next value from file

Если в spn-файле ячейки расположены в другом порядке, используйте этот параметр, чтобы указать порядок. 0 (xyz) - значение по умолчанию.

Файл шаблона решетки STL

Command: lattice     STL Lattice Template File
Input file command:   lattice <arg>
Command line options: -l <arg>
Argument Type:        file name with path 

Описание команды:

Геометрия решетки, сгенерированная из сетки exodus

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

Эта опция в настоящее время требует имени сетки exodus, на которой будет определяться решетка. Используйте параметр -- exodus_file (-e), чтобы указать его путь. Текущая реализация ограничена одним блоком, однако, если второй блок содержится в файле Exodus, он будет рассматриваться как сплошной, и грани (facets) stl будут сгенерированы в оболочке блока.

Имя выходного файла STL также можно определить с помощью параметра --stl_file (-stl). Если файл stl не указан, в выходных данных будет использоваться имя входного файла exodus с добавленным расширением «_lattice.stl».

Помимо полной геометрии решетки, будет записан дополнительный файл, содержащий только решетку из первого слоя гексаэдров. Это может быть полезно для уменьшения размера файла STL только для целей визуализации. Имя этого файла будет именем полного файла геометрии STL с добавленным расширением ".vis.stl".

Ниже приведен пример входного файла с использованием параметра решетки:

BEGIN SCULPT
    lattice = lattice_template.stl  $contains unit cube with triangles
    exodus_file = file.e $ hex mesh containing one or two element blocks
    stl_file = file.stl $ name of output stl file
  END SCULPT

Обратите внимание, что эта опция в настоящее время ограничена последовательным выполнением (-j 1).