Inherited from NItem,
Inherited by NULL
Friend class NULL
Description
XAnalysis从NItem继承,是分析设定的基类,建好的模型在求解之前需要完成分析设定并按照分析设定输出为求解器所能解析的文本文件或二进制文件,不同的求解器所需要的分析设定并不一样,XAnalysis为它们提供了统一的访问接口。一个分析必须应用在一套网格模型上,至少包含一个工况设定,用户可以添加更多的工况构建多工况序列,这些工况仅可以加入对应求解器所支持的材料属性、边界载荷约束等设定,对于给定的求解器来说,一般会根据不同应用场景设置不同的分析类型,如静力分析、模态分析、热分析等。
XAnalysis封装了分析设定的各种参数,基类已经提供了不同的求解类型,可以通过接口getSolutionType访问和setSolutionType设置,预置的求解类型列举如下:
| 枚举量 | 值 | 说明 |
| Analysis_Struct_Static | 1 | 静力分析 |
| Analysis_Struct_Transient | 2 | 瞬态分析 |
| Analysis_Struct_Modal | 3 | 模态分析 |
| Analysis_Thermal_SteadyState | 7 | 热力学稳态分析 |
| Analysis_Thermal_Transient | 8 | 热力学瞬态分析 |
分析的求解须通过XJob调度才能执行。
Members
Public interface
const XJob * m_pJob
ulong m_SolutionType
XModel * m_pMeshMdl
const XLoadCase * m_pFront = 0, *m_pBack = 0
ulong m_ulCount = 0
XAnalysis(ulong id, int type)
virtual ~XAnalysis()
static const char * getSolutionTypeString(AnalysisSolutionType type)
AnalysisSolutionType getSolutionType() const
void setSolutionType(AnalysisSolutionType t)
virtual bool isConditionSupported(const XCondition * cnd) const
XModel * getMesh() const
void setMesh(XModel * mdl)
void addCase(XLoadCase * lc, XManager * lcMgr)
void removeCase(XLoadCase * lc, XManager * lcMgr)
int getCaseCount() const
int getCaseIndex(const XLoadCase * lc) const
const XLoadCase * getCase(int index = 0) const
void bindCaseIterator(OrderItemIterator<XLoadCase> * hIter) const
void clear()
virtual void write(XBinaryIO * io)
virtual ErrorCode read(XBinaryIO * io, ModelManager* meshMgr, LoadCaseManager * lcMgr)
virtual bool checkDataCompleteness() const
virtual void setAttribute(const XAttribute * atb)
void instantiateCondition(ConditionInstanceManager * ciMgr) const
virtual void listProperty(vector<ObjPropertyEntry> * prpSheet) const
virtual bool isResultOutput(TypeID rtype) const
virtual const TypeID * getOutputOptions() const
virtual int countOutputOptions() const