关闭

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

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

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,  

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:106762次
    • 积分:1911
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:217篇
    • 译文:19篇
    • 评论:8条
    最新评论