Mnas-Ansys » MNAS-ANSYS

Пакет предназначен для выполнения операций с представлением tin-файлов (представления геометрии) системы ANSYS ICEM.

Для того, чтобы осуществлять манипуляции с геометрическими объектами сначала необходимо выполнить открытие и разбор tin-файлова при помощи функции open-tin-file.

Функции

open-tin-file(f-name)

Описание: функция open-tin-file возвращает объект типа <tin>, представляющий содержимое tin-файла с сменем f-name.

В настоящий момент производится частичное считыванние tin-файла.

Обобщенные функции

coedged(object container)

Описание: обобщенная функция coedged возвращает список объектов, имеющих с объектом object совпадающие грани. Для кривых типа <curve> должны возвращаться поверхности типа <surfaces>, находящиеся в контейненре container.

Для поверхностей типа <surfaces> должны возвращаться кривые типа <curve>, находящиеся в контейненре container.

read-object(lines n object)
  • первое - считанный объект;
  • второе - количество считанных строк.
  • Переменые:
    • lines - список строк, из которых производится считывание ниформации;
    • n - номер строки, соответствующих началу размещения объекта;
    • object - объект, данные которого считываются.

    Методы

    coedged((curve <curve>) (surface <surface>))

    Описание: метод coedged возвращает объект типа surface, если кривая curve имеет совпадающие грани с поверхностью surface или nil в противном случае.

    Реализация весьма странная (нелогичная, не соответствующая духу обобщенной функции). Лучше переименовать coedged -> coedged-p .

    coedged((curve <curve>) (tin <tin>))
    Описание: метод coedged возвращает список объектов типа <surface>, у которых грани (кромки) совпадают с кривой curve.
    coedged((surface <surface>) (tin <tin>))
    Описание: метод coedged возвращает список объектов типа curve, сопряженных с поверхностью surface.
    coedged((coedge <coedge>) (tin <tin>))
    Описание: метод coedged возвращает объект типа <curve> из набора объектов tin, по имени кривой.
    count-surface((tin <tin>))

    Описание: метод count-surface возвращает список каждым элементом которого явяется список, содержащий имя семейства и количество поверхностей, которые находятся в этих семействах.

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

    (count-surface 
        (open-tin-file "D:/home/_namatv/CFX/a32_base/PR-01/tin/DOMAINS/D-4/a32-D-4.tin"))
        => (("D1/C/C_1-3_N01_D024.00_S01.61" 2) 
             ("D1/C/C_1-4_N01_D032.00_S04.32" 2)
             ...
             )
    
    families(entytes)

    Описание: метод families возвращает список семейств, содержащий уникальные имена.

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

    (families (<tin>-surfaces *tin*))
     (families (<tin>-curves  *tin*))
     (families (<tin>-points  *tin*))
    
    read-object(lines n (point <point>))
    Описание: метод read-object возвращает два значения:
    • объект типа <point>;
    • количество считанных строк.
    read-object(lines n (family <family>))
    Описание: метод read-object возвращает два значения:
    • объект типа <family>;
    • количество считанных строк.
    read-object(lines n (curve <curve>))
    Описание: метод read-object возвращает два значения:
    • объект типа <curve>;
    • количество считанных строк.
    read-object(lines n (material-point <material-point>))
    Описание: метод read-object возвращает два значения:
    • объект типа <point>;
    • количество считанных строк.
    read-object(lines n (coedge <coedge>))
    Описание: метод read-object возвращает два значения:
    • объект типа <coedge>;
    • количество считанных строк.
    read-object(lines n (surface <surface>))
    Описание: метод read-object возвращает два значения:
    • объект типа <curve>;
    • количество считанных строк.
    read-object(lines n (solid <solid>))
    Описание: метод read-object возвращает два значения:
    • объект типа <solid>;
    • количество считанных строк - одну строку.
    read-object(lines n-start (tin <tin>))
    Описание: метод read-object возвращает два значения:
    • объект типа <family>;
    • количество считанных строк.
    surface-coeged-with-surfaces(surf (tin <tin>) &key (excluded nil) (times 1))

    Описание: метод surface-coeged-with-surfaces возвращает поверхности, сопряженные с поверхностями из списка surf для контейнера геометрии tin.

    Параметр times задает глубину поиска - количество итераций.

    На каждом шаге times поверхности, задаваемые ключевым параметром @(excluded) из результирующего списка исключаются.

    Классы

    <coedge>
    OptionValue
    Superclasses:(t)
    Metaclass:standard-class
    Default Initargs:nil
    Описание: класс <coedge> представляет ссылку на кривую типа <curve>, сопряженную с поверхностью типа <surface>.
    • curve-type

      Описание: слот curve-type определяет тип ссылочной кривой.

      Возможные типы кривых требуют уточнения.

      OptionValue
      Allocation:instance
      Type:nil
      Initarg::curve-type
      Initform:"3dcurve"
      Accessors:(<coedge>-curve-type)
    • direction

      Описание: слот direction предположительно определяет совпадение или несовпадение направления кривой, связанной объектом типа <coedge>, и направления контура типа <loop>:

      • t - направления совпадают;
      • nil - направления противоположные.

      Пример записи в tin-файле:

       coedge 3dcurve   E_1056643
      
      OptionValue
      Allocation:instance
      Type:nil
      Initarg::direction
      Initform:t
      Accessors:(<coedge>-direction)
    • name
      Описание: слот name определяет имя сопряженной кривой типа <curve>.
      OptionValue
      Allocation:instance
      Type:nil
      Initarg::direction
      Initform:"COEDGE-NAME"
      Accessors:(<coedge>-name)
    <curve>
    OptionValue
    Superclasses:(<ent> <tetra> t)
    Metaclass:standard-class
    Default Initargs:nil

    Описание: класс <curve> представляет кривую.

    Пример записи в tin-файле:

     define_curve family ASM.02/P02_E_C tetra_size 1e+10 name E_1048326 vertex1 V_1047351 vertex2 V_1047386
    

    • vertex1
      Описание: слот vertex1 определяет имя начальной точки.
      OptionValue
      Allocation:instance
      Type:string
      Initarg::vertex1
      Initform:"vertex1"
      Accessors:(<curve>-vertex1)
    • vertex2
      Описание: слот vertex1 определяет имя конечной точки.
      OptionValue
      Allocation:instance
      Type:string
      Initarg::vertex2
      Initform:"vertex2"
      Accessors:(<curve>-vertex2)
    • bspline
      Описание: слот bspline объект типа <bspline>, который определяет промежуточные точки кривой типа <curve>. Пока не используется.
      OptionValue
      Allocation:instance
      Type:nil
      Initarg::bspline
      Initform:nil
      Accessors:(<curve>-bspline)
    • surfaces
      Список поверхностей, сопряженных с этой кривой.
      OptionValue
      Allocation:instance
      Type:nil
      Initform:nil
      Accessors:(<curve>-surfaces)
    <ent>
    OptionValue
    Superclasses:(<obj> t)
    Metaclass:standard-class
    Default Initargs:nil

    Описание: класс <ent> представляет графический объект, который имеет свойтство family. Не подлежит непосредственному использованию.

    От него порождены объекты следующи типов:

    • <point>;
    • <curve>;
    • <surface>.
    • family
      Описание:family определяет семейство
      OptionValue
      Allocation:instance
      Type:string
      Initarg::family
      Initform:"Family_XXX"
      Accessors:(<ent>-family)
    <family>
    OptionValue
    Superclasses:(<obj> t)
    Metaclass:standard-class
    Default Initargs:nil

    Описание: класс <family> представляет семейство. Все объекты типа <ent> и их потомки относятся к определенному семейству. Семейства используются для группировки графических объектов.

    Пример записи в tin-файле:

     define_family ASM.02/P02 color 13675571
     define_family GEOM prism 0 tetra_size 8.0 height 0 hratio 0 nlay 0 ratio 0 width 0 min 0 dev 0 color 8336365
     define_family C/PART.1 internal_wall 1 prism 1 tetra_size 1.0 height 2.0 hratio 3 nlay 4 ratio 5 width 6 min 7.0 dev 8.0 color 13675571
     define_family C/PART.1 split_wall 1 prism 1 tetra_size 1.0 height 2.0 hratio 3 nlay 4 ratio 5 width 6 min 7.0 dev 8.0 color 13675571
    

    • color
      Описание: слот color определяет номер цвета для графических объектов, относящихся к данному семейству.
      OptionValue
      Allocation:instance
      Type:integer
      Initarg::color
      Initform:0
      Accessors:(<family>-color)
    • prism

      Описание: слот prism определяет признак генерирования призматических слоев при создании сетки. Генерирование призматических слоев при значении:

      • 0 - не выполняется;
      • 1 - выполняется.
      OptionValue
      Allocation:instance
      Type:integer
      Initarg::prism
      Initform:0
      Accessors:(<family>-prism)
    • internal-wall
      Описание: слот internal-wall определяет тип поверхностей, находящихся в семействе как внутреннюю стенку (прозрачную для течения сквозь нее потока жидкости).
      OptionValue
      Allocation:instance
      Type:integer
      Initarg::internal-wall
      Initform:0
      Accessors:(<family>-internal-wall)
    • split-wall
      Описание: слот internal-wall определяет тип поверхностей, находящихся в семействе как разделительную стенку (прозрачную для течения сквозь нее потока жидкости).
      OptionValue
      Allocation:instance
      Type:integer
      Initarg::split-wall
      Initform:0
      Accessors:(<family>-split-wall)
    • tetra-size
      Описание: слот tetra-size определяет максимальный размер стороны тетраэбрической сетки.
      OptionValue
      Allocation:instance
      Type:number
      Initarg::tetra-size
      Initform:0
      Accessors:(<family>-tetra-size)
    • height
      Описание: слот height определяет ... предположиельно максимальную высоту призм.
      OptionValue
      Allocation:instance
      Type:number
      Initarg::height
      Initform:0
      Accessors:(<family>-height)
    • hratio
      Описание: слот height определяет ... предположиельно максимальную высоту призм.
      OptionValue
      Allocation:instance
      Type:number
      Initarg::hratio
      Initform:0
      Accessors:(<family>-hratio)
    • nlay
      Описание: слот height определяет количество слоёв при генерации сетки.
      OptionValue
      Allocation:instance
      Type:integer
      Initarg::nlay
      Initform:0
      Accessors:(<family>-nlay)
    • ratio
      Описание: слот ratio определяет насколько быстро увеличивается размер тетраэдрической сетки.
      OptionValue
      Allocation:instance
      Type:number
      Initarg::ratio
      Initform:0
      Accessors:(<family>-ratio)
    • width
      Описание: слот width определяет ...
      OptionValue
      Allocation:instance
      Type:number
      Initarg::width
      Initform:0
      Accessors:(<family>-width)
    • min
      Описание: слот width определяет ...
      OptionValue
      Allocation:instance
      Type:number
      Initarg::min
      Initform:0
      Accessors:(<family>-min)
    • dev
      Описание: слот width определяет ...
      OptionValue
      Allocation:instance
      Type:number
      Initarg::dev
      Initform:0
      Accessors:(<family>-dev)
    <material-point>
    OptionValue
    Superclasses:(<point> t)
    Metaclass:standard-class
    Default Initargs:nil

    Описание: класс <material-point>

    Пример записи в tin-файле:

     
      material_point -143.653214 578.922058 -0.000000 name B.G-A.1.1 family B.G-A.1
     
      <obj>
      OptionValue
      Superclasses:(t)
      Metaclass:standard-class
      Default Initargs:nil
      Описание: класс <obj> представляет объект, который имеет свойтство name. Не подлежит непосредственному использованию.
      • name
        Описание: слот name определяет имя, связанное с объектом.
        OptionValue
        Allocation:instance
        Type:string
        Initarg::name
        Initform:"Part_XXX"
        Accessors:(<obj>-name)
      <point>
      OptionValue
      Superclasses:(<ent> t)
      Metaclass:standard-class
      Default Initargs:nil

      Описание: класс <point> представляет точку.

      Пример записи в tin-файле:

       prescribed_point 41.599998474121 465.65328979492 -64.346717834473 family ASM.02/P02 name V_1056684
      

      • x
        Описание: слот x определяет координату х.
        OptionValue
        Allocation:instance
        Type:double-float
        Initarg::x
        Initform:0.0d0
        Accessors:(<point>-x)
      • y
        Описание: слот x определяет координату y.
        OptionValue
        Allocation:instance
        Type:double-float
        Initarg::y
        Initform:0.0d0
        Accessors:(<point>-y)
      • z
        Описание: слот x определяет координату z.
        OptionValue
        Allocation:instance
        Type:double-float
        Initarg::z
        Initform:0.0d0
        Accessors:(<point>-z)
      <solid>
      OptionValue
      Superclasses:(<ent> t)
      Metaclass:standard-class
      Default Initargs:nil

      Описание: класс <solid> представляет

      Пример записи в tin-файле:

       define_solid body n_lumps 0 n_sheets 0 matlpoint B.G-A.1.1 name B.G-A.1.0 family B.G-A.1
      

      • material-point
        Описание: слот material-point. Требуется уточнение.
        OptionValue
        Allocation:instance
        Type:nil
        Initform:nil
        Accessors:(<solid>-material-point)
      • n-lumps
        Описание: слот n-lumps. Требуется уточнение.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::n-lumps
        Initform:0
        Accessors:(<solid>-n-lumps)
      • n-sheets
        Описание: слот n-sheets. Требуется уточнение.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::n-sheets
        Initform:0
        Accessors:(<solid>-n-sheets)
      • matlpoint
        Описание: слот matlpoint содержит имя материальной точки, связанной с объектом <solid>.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::matlpoint
        Initform:"matlpoint-name"
        Accessors:(<solid>-matlpoint)
      <surface>
      OptionValue
      Superclasses:(<ent> <tetra> t)
      Metaclass:standard-class
      Default Initargs:nil

      Описание: класс <surface> представляет поверхность.

      Пример записи в tin-файле:

       define_surface name F_1050388 family ASM.02/P02 tetra_size 1e+10
      

      • loops
        Описание: слот loops содержит список контуров, на поверхости <surface>. Пока не используется.
        OptionValue
        Allocation:instance
        Type:nil
      • coedges
        Описание: слот coedges содержит список объектов типа <coedge>, которые указывают на кривые сопряженные с настоящей поверхностью.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::coedges
        Initform:nil
        Accessors:(<surface>-coedges)
      <tin>
      OptionValue
      Superclasses:(t)
      Metaclass:standard-class
      Default Initargs:nil
      Описание: класс <tin> представляет доступ к объектам, находящимся в tin-файле, генерируемом программой ICEM комплекса ANSYS.
      • file-name
        Описание: слот file-name содержит имя tin-файла, из которого выполнялось считывание геометрических данных.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::file-name
        Initform:"File-Name"
        Accessors:(<tin>-file-name)
      • families
        Описание: слот families содержит список семейств.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::families
        Initform:nil
        Accessors:(<tin>-families)
      • points
        Описание: слот points содержит список точек.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::points
        Initform:(make-hash-table :test (function equal))
        Accessors:(<tin>-points)
      • curves
        Описание: слот curves содержит хешированную таблицу кривых. Ключ - имя кривой. Значение - кривая.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::curves
        Initform:(make-hash-table :test (function equal))
        Accessors:(<tin>-curves)
      • surfaces
        Описание: слот surfaces содержит хешированную таблицу поверхностей. Ключ - имя поверхности. Значение - поверхность.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::surfaces
        Initform:(make-hash-table :test (function equal))
        Accessors:(<tin>-surfaces)
      • triangulation-tolerance
        Описание: слот triangulation-tolerance содержит значение триангуляции по умолчанию.
        OptionValue
        Allocation:instance
        Type:nil
        Initarg::triangulation_tolerance
        Initform:0.001
        Accessors:(<tin>-triangulation-tolerance)