User Tools

Site Tools


class:domain:xmaterialentry

XMaterialEntry

Inherited from OrderItem,

Inherited by NULL

Friend class XManager,MaterialEntryManager,MaterialManager,XMaterial,

Description

XMaterialEntry将材料子项作为一个数据基类做了封装,它不能被单独创建,它一般作为材料对象(XMaterial)的从属对象创建,每一个材料子项仅从属于一个材料对象。材料子项类型众多,常用的可以分为密度、弹性、塑性、膨胀、热传导、比热、蠕变、阻尼等类型,对于每种类型的材料子项,它可以是各向同性、三维正交各向异性、三维各向异性、二维正交各向异性、二维各向异性、各向同性场、三维正交各向异性场、三维各向异性场、二维正交各向异性场、二维各向异性场中的任意一种选项(option),其中前5种是常量类型,后5种是场类型,比如受温度影响而变化的材料场等, 场类型的材料子项可以根据需要定义一个或多个影响因素,比如温度、坐标等。

相同类型的材料子项不能从属于同一个材料对象,访问材料子项时必须首先访问材料对象。

材料子项遵照一定的原则可以自由扩展,它的参考标识前缀为“CMAT”。材料子项的属性均从MaterialEntryAttrib继承。

Members

Public interface


XDataField m_Field

材料子项数据场


XMaterialEntry(ulong id, TypeID tid)

  • function: 构造函数
  • parameters:
    1. [i]ulong id: 身份ID
    2. [i] TypeID tid: 子项类型
  • return value: 无

void setMaterial(const XMaterial * mat)

  • function: 绑定从属材料对象
  • parameters:
    1. [i]const XMaterial * mat: 材料对象指针
  • return value: 无

const XMaterial * getMaterial() const

  • function: 获取所从属的材料对象
  • parameters: NULL
  • return value: 材料对象指针

virtual const MaterialEntryAttrib * getAttribute() const = 0

  • function: 获取属性
  • parameters: NULL
  • return value: 属性指针

virtual void setAttribute(const MaterialEntryAttrib * pAttr) = 0

  • function: 设置材料子项属性
  • parameters:
    1. [i]const MaterialEntryAttrib * pAttr: 属性
  • return value: 无

virtual void saveToXml(XmlWriter * pWriter, XmlElement * pParent)

  • function: 将材料子项数据保存到Xml文件中
  • parameters:
    1. [i]XmlWriter * pWriter: xml文件句柄
    2. [i] XmlElement * pParent: 对应的xml节点
  • return value: 无

virtual void loadFromXml(XmlReader * pReader, XmlElement * pParent)

  • function: 从xml文件中读取材料子项数据
  • parameters:
    1. [i]XmlReader * pReader: xml文件句柄
    2. [i] XmlElement * pParent: 对应的xml节点
  • return value: 无

virtual const double * data() const = 0

  • function: 获取材料子项数据值数组
  • parameters: NULL
  • return value: 材料子项数据值数组首地址

virtual int dataCount() const = 0

  • function: 获取材料子项数据值个数
  • parameters: NULL
  • return value: 材料子项数据值个数

virtual void write(XBinaryIO * io)

  • function: 将材料子项数据写入到二进制文件中
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 无

virtual ErrorCode read(XBinaryIO * io)

  • function: 从二进制文件中读取材料子项数据
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 成功读取返回Error_None,否则返回相应错误码

const XDataField * getField() const

  • function: 获取数据场,对于const对象使用
  • parameters: NULL
  • return value: 数据场地址

XDataField * getField()

  • function: 获取数据场
  • parameters: NULL
  • return value: 数据场地址

void setField(const XDataField * df)

  • function: 设置数据场
  • parameters:
    1. [i]const XDataField * df: 数据场对象指针
  • return value: 无

void copy(const XMaterialEntry * from)

  • function: 复制拷贝材料子项
  • parameters:
    1. [i]const XMaterialEntry * from: 源材料子项
  • return value: 无

virtual ~XMaterialEntry()

  • function: 析构函数
  • parameters: NULL
  • return value: 无

void write(XH5IO * io, H5Obj * grp)

  • function: 将材料子项数据写入到HDF5文件中
  • parameters:
    1. [i]XH5IO * io: HDF5文件句柄
    2. [i] H5Obj * grp: 对应的HDF5节点
  • return value: 无

bool read(XH5IO * io, H5Obj * grp)

  • function: 从HDF5文件中读取材料子项数据
  • parameters:
    1. [i]XH5IO * io: HDF5文件句柄
    2. [i] H5Obj * grp: 对应的HDF5节点
  • return value: 成功读取返回true,否则返回false
class/domain/xmaterialentry.txt · Last modified: 2023/05/06 07:01 (external edit)