基于python的计算机辅助设计、曲线网格生成、线性和非线性分析及耦合多物理问题的有限元和边界元综合计算框架

Florence的Python项目详细描述


构建状态覆盖状态fastor:数据并行(simd)fem汇编程序

  • 赛顿
  • 努比
  • scipy
  • 以下软件包是可选(但推荐)依赖项

    • postmesh:高阶曲线网格生成器
    • Pyevtk
    • matplotlib
    • 梅亚维
    • scikit umfpack
    • Pyamg
    • psutil
    • h5py

    此外,建议在您的计算机上安装并配置优化的BLAS库,如OpenBLAS或MKL。

    安装

    简单的方法

    使用pip

    pip install Florence
    

    要使pip安装工作,您需要安装fastor。您可以通过

    cd ~
    git clone https://github.com/romeric/Fastor
    mv Fastor/ /usr/local/include/Fastor/
    

    在pip安装florence之前设置编译器也是一个很好的实践

    export CC=/path/to/c/compiler
    export CXX=/path/to/c++/compiler
    

    从源构建

    查看travis.yml文件,了解有关安装Florence核心库的说明。首先安装cython、numpy和scipy。下载fastor标题并将其放在默认位置/usr/local/include/fastor

    cd ~
    git clone https://github.com/romeric/Fastor
    mv Fastor/ /usr/local/include/Fastor/
    

    然后,安装Core Library非常简单

    git clone https://github.com/romeric/florence
    cd florence
    python setup.py build
    export PYTHONPATH="/path/to/florence:$PYTHONPATH"
    

    这会造成很多-提前升级cython模块。例如,可以为setup.py提供选项

    python setup.py build BLAS=mkl CXX=/usr/local/bin/g++ CC=~/LLVM/clang
    

    默认情况下,florence使用机器的所有cpu内核并行构建。要将生成过程限制为特定数量的核心,请使用np标记,例如,对于串行生成,可以触发生成过程为

    python setup.py build np=1
    

    配置腮腺炎直接稀疏解算器

    Florence可以自动切换到腮腺炎稀疏直接解算器(如果可用)。要安装腮腺炎,最简单的方法是在MacOS上使用自制,在Linux上使用linuxbrew

    brew install mumps --without-mpi --with-openblas
    git clone https://github.com/romeric/MUMPS.py
    cd MUMPS.py
    python setup.py build
    python setup.py install
    

    每当需要"解算器"时,只要打开一个新的终端窗口/选项卡并执行(这是linuxbrew的默认设置)

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/linuxbrew/.linuxbrew/lib
    

    配置PARDISO直接稀疏解算器

    如果mklpardiso可用,则可以使用mkl附带的直接稀疏解算器。anaconda和intel的python发行版都提供了这些。 如果安装了mkl,则在编译期间,只要向setup.py发出"blas=mkl"标志,佛罗伦萨的低级fem汇编程序也会自动链接到它。

    pip install Florence
    
    0

    我们通常不建议在您的路径中添加anaconda/bin。因此,每当需要mkl功能或pardiso解算器时,只需打开一个新的终端窗口/选项卡并键入

    pip install Florence
    
    1

    哲学

    Florence遵循了Scipy的哲学,即为偏微分方程的有限元分析提供一个高水平的蟒蛇界面。它是一个轻量级的库,只依赖于最普遍的python包,即numpy、scipy和cython。然而,它的目标是在一系列现代建筑上提供高性能的数值计算。它的后端设计为可配置,用于插入新的解算器,如Petsc和Hypre的并行解算器。

    文档

    文档可在wiki页面中找到。此外,示例文件夹中还提供了一系列解释良好的示例,涵盖了佛罗伦萨的大部分功能。

    为了快速体验佛罗伦萨,让我们以拉普拉斯为例。在立方体上使用四阶六面体拉格朗日形函数建立和求解拉普拉斯方程非常简单

    pip install Florence
    
    2

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    http POST请求Java CouchDB   java删除带有大量尾随0的浮点字符串上的科学符号   JavaEE5和Hibernate   java如何在Spring Social中获得比特定id更早的tweet   java是框架。revalidate()在事件后获取输出是否重要?   java为什么不能返回通用映射?   java如何理解和优化工厂方法的高自时间   java Eclipse 202006错误由于项目的生成路径不完整,因此未生成该项目   多线程是java。util。向量序列化线程安全?   在Eclipse和java中使用不同的构建配置。属性文件   编译Java:从命令行运行的问题   java如何知道消息是否已确认/取消?   Java铸造一套   java Android Seekbar progress已更改变量,给出错误