![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
有限元dealii
kkdut
莫问世事,心陷码界
展开
-
dealii-step-8
求解弹性方程-ElasticProblem类该类与step-6大体一致,唯一的变化是对fe变量使用了一个不同的类:我们现在使用的是一个更通用的类FESystem,而不是像FE_Q这样的具体的有限元类。事实上,FESystem本身并不是一个真正的有限元,因为它没有实现自己的形状函数。相反,它是一个可用于将多个其他元素堆叠在一起,形成一个向量值的有限元类。在我们的例子中,我们将组合FE_Q(1)对象...原创 2020-05-04 09:29:20 · 259 阅读 · 0 评论 -
dealii-step-6
#使用网格自适应技术步骤:1.求解当前网格上的PDE;2.使用一些指示误差的标准来估计每个单元的误差;3.把那些误差大的细胞标记为“精化”,把那些误差特别小的细胞标记为“粗化”,其余的就不用管了;4.细化和粗化标记的细胞,以获得一个新的网格;5.在新网格上重复上述步骤,直到总体误差足够小。自适应网格中四边形或者六面体网格会出现悬挂点的情况,;使用网格自适应主要是因为有些局部使用较稀疏...原创 2020-05-02 14:27:12 · 471 阅读 · 0 评论 -
dealii-step-5
#在均匀精细网格上计算最明显的变化是make_grid_and_dofs函数已被删除,因为创建网格现在是在运行函数中完成的,其余功能现在位于setup_system中,除此之外,一切如常。template <int dim>class Step5{public: Step5(); void run();private: void setup_system();...原创 2020-05-02 14:26:29 · 236 阅读 · 0 评论 -
dealii-step-4
进行任意维的编程(二维或者三维空间),即平面四边形或者六面体单元。需要使用模板参数(template):template <int dim>class Step4{public: Step4(); void run();private: void make_grid(); void setup_system(); void assemble_syste...原创 2020-05-02 14:25:53 · 221 阅读 · 0 评论 -
dealii-step-3
算例3介绍了泊松方程在dealii中的求解泊松方程为边界为0,右端项非零,可以转化为AU=F:使用类Step3开始程序的运行:class Step3{public: Step3(); void run();使用一些私有对象完成对应的功能:private: void make_grid(); void setup_system(); void assemble_s...原创 2020-05-02 14:25:18 · 396 阅读 · 0 评论 -
dealii-step-2
实例2是为了建立单元的自由度以及自由度的稀疏矩阵。将自由度与单元、顶点、直线关联:#include <deal.II/dofs/dof_handler.h>对于平面四边形来说,双线性形函数的自由度只在单元顶点处,具体可以查看有限元形函数的内容。该类同样可以应用到一维和三维的情况:#include <deal.II/fe/fe_q.h>同时,还需要操纵自由度的工...原创 2020-05-02 14:24:29 · 426 阅读 · 0 评论 -
开源有限元dealii学习——step-1
#简介dealii是一款开源的求解偏微分方程的有限元软件,它优点:1.多种单元类型2.可以自适应网格3.文档和范例齐全4.与其它库有良好的接口5.使用c++编写#安装dealii可以在官网上或者github上下载源码,解压后进入源文件目录安装。mkdir buildcd buildcmake -DCMAKE_INSTALL_PREFIX=/path/to/install...原创 2020-05-02 14:22:38 · 2922 阅读 · 0 评论