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,  

使用思维导图,优雅的完成自己的代码

(点击上方公众号,可快速关注)作者:九死蚕传人bohttps://segmentfault.com/a/1190000012435669我自己常常在写代码的时候,会突然搞不清变量用来干嘛的,也会被理不...
  • VhWfR2u02Q
  • VhWfR2u02Q
  • 2018年01月08日 00:00
  • 802

libmesh 测试

libmesh是基于m p
  • lizhengjiang
  • lizhengjiang
  • 2014年09月16日 04:56
  • 2013

libmesh 实现 流程

libmesh 实现 流程 标签: libmesh poisson 有限元 2014-09-19 22:56 371人阅读 评论(0) 收藏 举报 分类: ...
  • zyex1108
  • zyex1108
  • 2016年08月30日 15:41
  • 248

Building libmesh with Petsc support

Building libmesh with Petsc support (2013-04-15 08:39:22) 转载▼ 标签: cuda petsc ubuntu ...
  • zyex1108
  • zyex1108
  • 2016年08月30日 15:37
  • 327

一个算例 介绍 libmesh 的类

一个算例 介绍 libmesh 的类 标签: libmesh 类 2014-09-19 12:40 415人阅读 评论(0) 收藏 举报 分类: 开源 ...
  • zyex1108
  • zyex1108
  • 2016年08月30日 15:40
  • 210

接口测试之用例设计技巧

接口测试一条请求,不同参数组合,可能就变成几十条用例,一不小心写几个接口,用例数就上百了,再没完没了的写下去就恶心了。怎么办?         在设计测试用例时候我们可以根据项目业务功能情况进行主次分...
  • songer_xing
  • songer_xing
  • 2016年12月31日 10:34
  • 3984

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

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

接口测试自我总结

一、接口测试大纲,包括了:1.接口可用性2.输入输出参数个数及命名3.输入参数的必输项4.输入参数的合法性5.输出参数内容的正确性6.接口实现功能验证7.接口文档规范性8.组合接口测试(场景测试)可参...
  • u013258415
  • u013258415
  • 2018年01月18日 10:15
  • 35

从小白到中高级软件测试工程师成长路线图!-(附思维导图)

本文针对测试小白或者已经简单入职的朋友,从两个方向着手,一个是一些思想上的准备和资料的准备,二是零基础到中级阶段的一个成长路线,(思维导图我放在文末) 本文共计 1741 字,预计阅读时间 4分...
  • leboit
  • leboit
  • 2018年01月07日 21:43
  • 125

接口业务思维导图

  • 2015年12月02日 11:18
  • 49KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:libmesh 思维导图(类接口设计)
举报原因:
原因补充:

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