美文网首页
trilinos 介绍

trilinos 介绍

作者: 不想当社畜 | 来源:发表于2018-12-18 15:28 被阅读0次

trilinos介绍

trilinos 是Sandia国家实验室开发的一个用来解决大规模复杂的科学计算问题,与petsc (argonne国家实验室开发的解决大规模科学计算问题)功能类似.两者都是美国能源部的项目,同时项目都是开源.


下面是我在阅读trilinos文档和浏览官网的过程中,记录的一些笔记。

框架介绍

trilinos 是一个建立在packages之上的一个框架,作用的连接packages之间的相互调用.为何这么说呢,应该在trilinos中实现的每个功能都会以一个独立的packages包存在,每个包都是有一些小型的团队开发的,用来的解决特定的问题,同时不可避免的形成,每个包的结构和自身的文档都有各自的风格.各个packages之间相互集成调用才能发挥trilinos最大的作用.

trilinos 是一个大型的软件项目,里面包含超算50多个packages包,整套软件packages包涵盖了广泛的算法,可以用来解决大规模的,复杂的多物理工程和科学问题,以及大量改进科学计算软件开发的应用程序.充分使用和理解每个packages需要时间,每个packages都包括复杂的功能.

对应常见的packages介绍:

基本的线性代数库

  • Epetra 核心的线性代数包.用于构建和操作分布式、连续的图,稀疏矩阵、向量和多维向量.
  • EpetraExt 对Epetra包的扩展.
  • Tpetra 下一代的模板化的Epetra,充分的利用了c++的高级功能.
  • Jpetra Petra的java版本.
  • Kokkos Trilinos的核心内核.

预处理器

使用迭代求解时,需要使用预处理器来调整矩阵的性质,以便于更快的求解方程.

  • AztecOO ILU型的预处理器
  • IFPACK 分布式代数预处理器,其中包括域分解框架中的不完全分解和基于松弛的预处理器,与AztecOO是兼容的.
  • ifpack2 包含了对于Tpetra包提供了模块化的线性大似乎对象的操作的预处理器,用于IFPACK的模板版替代品.
  • ML 多级、分布式内存存储的代数预处理器,为分布式线性求解系统提供多级,多网格的预处理器,与AzteOO兼容. 是Sandia开发的多重网格预处理器(听说特别强).
  • Teko 封闭的预处理器包,操作块运算符,主要是用来创建矩阵逆的运算符.

求解器

线性求解器

  • Epetra 建立在blaslapack之上的求解库
  • Teuchos 建立在blaslapack之上的求解库
  • Pliris 面向对象的LU求解接口,并行的密集矩阵.
  • AztecOO 预处理krylov子空间迭代法.
  • Belos 下一代的线性迭代求解器,没有依赖任何的基本的线性代数库.
  • Komplex 复杂的线性求解器包,通过等效的实际公式求解复数的线性方程系统.
  • Amesos 直接求解器,支持第三方求解器(DSCPACK,SuperLU,SuperLU_Dist,UMFPACK),与Epetra兼容.
  • Amesos2 模板化的Amesos.

非线性求解器

  • NOX 非线性求解器包,包括非线性问题的构造和求解的抽象和具体类的实现.
  • LOCA 一个执行大规模应用的分叉分析的软件库,使用牛顿方法定位非线性问题的稳态解决方案.
  • ROL 快速优化库,大规模优化的下一代的软件包,用于大规模工程应用中的优化设计,最优控制和反问题的解决方案.其他用途包括网格优化和图像处理,ROL通过一般的等式和不等式约束来解决非线性非凸优化问题,并且针对各种问题类型进行了有效的优化,其中无矩阵API支持直接使用应用程序数据结构和存储空间,线性求解器、非线性求解器和预处理器.
  • MOOCHO 用于优化的多功能面向对象框架,目的是使用缩小空间连续二次规划(SQP)方法来解决大规模的等式、不等式非线性约束,非凸优化问题.
  • Piro 尝试统一非线性求解器,时间积分,优化和UQ问题上的统一包.
  • Rythmos 常微分方程和微分代数方程的瞬态积分器,支持显式,隐式,一步和多步的算法.
  • TriKota 建立在Dakota(优化求解包,包含各种优化算法)框架之上.
  • GloboPack 包含一组用于非线性求解器,优化求解器等.
  • OptiPack 建立在Thyra之上的优化算法.

特征值求解

  • Anasazi 一个可扩展且可操作的的大规模特征值算法框架,目的求解大规模特征值问题.

自动微分

  • Sacado 一个用于自动微分的c++程序.
  • Stokhos 一个用于侵入随机Galerkin不确定性量化方法的软件包.

域内分解

域分解

  • Claps 是一个域分解预处理器和求解器的集合.

mortar 方法

  • Moertel 使用mortar方法提供二维和三维不合格网格的匹配问题.(翻译可能有误,不太懂)

分区和负载平衡

在有限元软件中,使用并行技术就需要对模型进行分区操作,使得各个计算核负载要均衡.

  • Isorropia 一个分区和负载平衡包,帮助并行执行设置过程中重新分配对象(图和网格),以实现更高效的计算.建立在Zoltan之上.
  • Zoltan 用于动态的,非结构化和自适应的并行工具包,为各种应用提供负载平衡,包括有限元,矩阵运算,粒子运算,碰撞模拟等.同时提供并行图着色,矩阵排序,非结构化同学工具等功能.

抽象的接口和适配

网格生成、改进和自适应

  • Mesquite 应用各种节点移动算法来提高质量和适应的网格.
  • PAMGEN 并行的生成六面体和死面向网格.

还有一些不怎么用到的包.

相关文章

  • trilinos 介绍

    trilinos介绍 trilinos 是Sandia国家实验室开发的一个用来解决大规模复杂的科学计算问题,与pe...

  • Runtime介绍---术语介绍

    1. 什么是Runtime Runtime又叫运行时,是一套C语言的API。 我们平时编写的OC代码,底层都是基于...

  • 介绍

    万物终有一天会消失殆尽,诸神出卖黎明,光明为黑暗所湮灭,日月皆痕,海潮鸣泣,幼雏嚎啕,生灵涂炭。 托里奥世纪第20...

  • 介绍😊

    大家好,我是beth,初入简书,不邀自来,还请各位见谅! 先说说我是怎么想着来的吧?这不是刚过了一个寒假嘛...

  • 介绍

    在这个世界上还有三个家族他们不受各个国家联合国管。但他们身上有着使命分别是帝国家族曲国家族圣国家族。他们隐藏在一个...

  • 介绍

    云轩:主角,星罗帝国的二皇子。从小就不能练气,被人们称为废物。直到12岁的时候,自己的武魂觉醒才能练气,双...

  • 介绍

    万花阁 神秘至极的组织,亦正亦邪。万花阁的人行动隐秘,至今未被发现所在地。听说组成成员均以花来命名。所到之处,皆留...

  • 介绍

    此书命曰元.八洲传。属九洲四传第二部。第一部,上古往事。上古往事乃元八洲传外传。前两部为战胜心魔,而第三部,大梦...

  • 介绍

    千肆篇 7月的天气燥热,但在红杏阁里这份燥热就别有一番风味。漫天的胭脂水粉的香味变成了调味剂,女人们千姿百媚,在...

  • 介绍

    该文集属于收录文集,里面的内容不全是本人创作,有收录个人喜欢的内容。 *(偏个人向)

网友评论

      本文标题:trilinos 介绍

      本文链接:https://www.haomeiwen.com/subject/jzllkqtx.html