libmesh 思维导图(类接口设计)

转载 2016年08月30日 15:47:30

libmesh 思维导图(类接口设计)

277人阅读 评论(0)收藏举报
分类:




    libmesh 教程和例子都非常缺少。不能忍就来看部分libmesh接口实现(important)吧。

    ReferenceCounter 基类模版


    1  libMesh::ReferenceCountedObject<DofObject> -> libMesh::DofObject --> libMesh::Elem  单元基类,基类共有函数包括:

     dof, 节点/顶点,线,面索引/计数/添加/删除等操作,邻居判定,打印消息。


   2     libMesh::ReferenceCountedObject<TimeSolver> --> libMesh::TimeSolver 求解器基类--> EigenTimeSovler, SteadySolver, UnsteadySolver (--> AdaptiveTimeSolver, EulerSolver) , 共有函数包括:初始化,求解,时间步更新,残差项统计,返回system属性,线性求解器指针等。


   3  libMesh::ReferenceCountedObject<T> --> EigenSolver<Number>, NumericVector<Number>, SparseMatrix<Number> 代数方程元素(矩阵,列向量)基类:

   3.1    libMesh::NumericVector<T> --> DistributedVector, EigenSparseVector, LaspackVector, PetscVector,列向量基类, 常见操作包括:添加,插入元素,四则运算,l1/l2范数计算等。


   3.2  libMesh::SparseMatrix<T> ---> EigenSparseMatrix, LaspackMatrix, PetscMatrix,矩阵基类 

   因为不同的求解器(laspack, petsc)对矩阵/向量的稀疏结构规定不同,所以出现了不同的派生类。


   4   libMesh::ReferenceCountedObject<DofMap> --> libMesh::DofMap  ,  used to transfer from local coord to global coord


   5  libMesh::ReferecneCountedObject<EquationSystems>--> libMesh::EquationSystems,求解域基类     公有函数如: get_system(),用于添加求解算法系统(静态/瞬态,隐式/显式); delete_system(), solve(), n_vars(), n_dofs() 返回变量/自由度数目;get_solution(), 返回解向量,get_mesh(),返回求解域mesh。

   

    6 libMesh::ReferenceCountedObject<System> 求解算法基类(特征值,显式/隐式)---> libMesh::EigenSystem, libMesh::ExplicitSystem, ImplicitSystem, LinearImplicitSystem, NonlinearImplicitSystem, FrequencySystem, NewmarkSystem

    7  libMesh::ReferenceCountedObject<Solver> --> 共有函数 pre_process(), solve(), post_process(), system(), mesh()

    8  libMesh::ReferenceCountedObject<Preconditioner<T> > --> pc 类,迭代预处理子

    9  libMesh::ReferenceCountedObject<LinearSolver<Number> > --> LinearSolver<T> 基类 ,调用laspack, petsc, eigen库求解

    10   libMesh::ReferenceCountedObject<FEAbstract> -->  FE 抽象类, 产生xyz, JxW, phi, dphi, d2phi

    

     More interface details,  

libmesh 测试

libmesh是基于m p

sscanf 从字符串中读取与制定格式相符的数据

sscanf 目录 名称: 头文件: 返回值: 说明: 支持集合操作: 例子: 编辑本段名称:   sscanf() - 从一个字符串中读进与指定格式...

PCL点云曲面重建(1)

在测量较小的数据时会产生一些误差,这些误差所造成的不规则数据如果直接拿来曲面重建的话,会使得重建的曲面不光滑或者有漏洞,可以采用对数据重采样来解决这样问题,通过对周围的数据点进行高阶多项式插值来重建表...

libmesh 思维导图(类接口设计)

libmesh 教程和例子都非常缺少。不能忍就来看部分libmesh接口实现(important)吧。     ReferenceCounter 基类模版     1  libMesh::...

项目管理大法归档 - 思维导图、原型工具、接口测试、设计模式、版本管理、单元测试、持续集成、代码审查、Bug 跟踪

项目管理大法归档 - 思维导图、原型工具、接口测试、设计模式、版本管理、单元测试、持续集成、代码审查、Bug 跟踪...
  • sleks
  • sleks
  • 2015年08月31日 06:23
  • 1585

接口业务思维导图

  • 2015年12月02日 11:18
  • 49KB
  • 下载

如何使用思维导图更高效的设计测试用例?

有时候项目很紧,我们没有时间来把用例都设计好并写到用例管理系统中,使用思维导图是一种比较好的方式,而且越来越受到人们的追捧。但是在实施过程中,可能会有一些问题,比如A同学设计的用例只有他能看明白,B同...

C++程序设计教材思维导图

  • 2012年09月21日 08:18
  • 1.13MB
  • 下载

C++程序设计教材目录思维导图(增C++Primer)

正在做C++思维导图,大工程,比较艰苦。  先做了三个C++教材目录的思维导图。C++教材不等于C++,这个容易些。看思维导图,整理所学知识,这个可以会。  给出三张图,对应三种教材:谭浩强. C++...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:libmesh 思维导图(类接口设计)
举报原因:
原因补充:

(最多只允许输入30个字)