blastFoam是一个基于OpenFOAM开发的,可用于单相和多相可压缩流动的库,其适用于高爆爆震、爆炸安全和空气爆炸,以及一般的可压缩流动。blastFoam是由Synthetik公司开发的,目前最新版本V5.0,处于开源状态。
Synthetick公司 址:https://www.synthetik-technologies.com/
blastFoam的github仓库地址:https://github.com/synthetik-technologies/blastfoam
”
基于OpenFOAM针对特殊场景开发的专用求解器其实挺多的,这也是个不错的思路,开源是当前软件发展的一种大趋势。
用CFD来算爆炸难度非常大,这让我想起了十多年前利用商业CFD软件做天然气爆炸的那段不堪回首的日子,计算不稳定、发散、程序算到中途崩溃的事儿时不时的冒出来。爆炸压力波波速极快,导致计算求解所需的时间步长必须非常非常小,然后计算时间就遥遥无期。投机取巧想着把 格尺寸增大来增大时间步长,然而 格粗了事儿更多,严重的时候甚至连化学反应都无法维持。
下面的视频是官方发布的利用blastFoam模拟贝鲁特爆炸后的冲击波扩散情况。
1 blastFoam的安装
目前blastFoam是建立在org版的OpenFOAM v9版本上的,尚不明确com版是否支持。
下载文件
配置编译环境
编译blastFoam
编译需要大概10分钟左右,这个要看计算机的配置。
编译完成后运行若出现下图所示信息则表示安装成功。
2 求解器简介
blastFoam一共包含7个求解器,用于应对不同场景下的爆炸模拟。下面的内容来自blastFoam的UserGuide。
1. blastFoam
blastFoam求解器是标准求解器,其具有多种用途,包括单相、两相和多相流动的模拟。该模型中的流体相及热力学模型在phaseProperties字典中指定,当提供了一个相的列表(且该列表有一个以上的条目)时,就会自动选择两相或多相求解器。如果没有指定关键词phase,则自动选择单相求解器。所有的相都使用blastFoam特定的状态方程。此求解器是专门为模拟爆炸性材料而设计的。
2. blastEulerFoam
blastEulerFoam求解器是blastFoam的欧拉-欧拉(双流体/多流体)模型的变体。目前只能进行流体-固体模拟,增加流体-流体模拟的功能正在开发中。此求解器基于Houim和Oran(2016)和Lai等人(2018)的工作,与标准multiphaseEulerFoam求解器相比,其主要优势是可以使用任何数量的颗粒相。目前可以使用三种相模型:单流体、多流体相和颗粒相。单流体相模型用于描述单一成分的流体(如空气)。多相模型用于描述由多相组成的流体相,每个相由一个单独的状态方程描述,这允许模拟添加了颗粒的标准引爆问题。颗粒相模型用于描述一个固体相。单流体和多相模型都可以使用任何流体热力学模型,而颗粒模型可以使用任何固体热力学模型。
3. blastFSIFoam
blastFSIFoam求解器使用标准的blastFoam求解器来求解流体相,并使用OpenFOAM标准的solidDisplacementFoam求解器来求解固体变形(只能考虑线弹性)。流体相使用移动的 格,而固体相则在静止的 格上进行求解。为了正确传递patch之间的信息,需要使用映射的MovingWall的边界类型,可以通过修改每个区域的内的类型来实现此功能。如果为每个单独的区域创建 格,可以像往常一样指定patch类型;但如果使用splitMeshRegions工具将一个区域 格分离成多个区域 格,此时可以使用foamDictionary工具来改变条目名称。注意:这个求解器仍在开发中,还不稳定。请慎重使用。
4. blastXiFoam
除了标准的blastFoam求解器之外,还增加了一个额外的求解器来解决燃烧问题,作为标准OpenFOAM XiFoam求解器的扩展。唯一的区别是,此模型可以更准确地描述燃烧、高度可压缩的流动(即爆燃到爆轰的过渡)。建议使用adibaticFlameT工具来计算热物理属性字典中所使用的模型系数。
5. blastReactingFoam
6. blastMultiRegionFoam
blastMultiRegionFoam求解器源自OpenFOAM中的chtMultiRegionFoam。主要区别在于使用了ODE时间积分和Riemann通量。固体中的传热仍然通过矩阵求解隐式处理。
7. blastParcelFoam
blastParcelFoam利用标准的OpenFOAM拉格朗日类来求解耦合的欧拉流体和拉格朗日包的集合,包括像阻力、传热及颗粒碰撞这样的交互。由于使用了不同的热力学模型,并非所有的OpenFOAM标准拉格朗日选项都可用。
3 软件应用
blastFoam的使用和普通的OpenFOAM应用程序并无不同。软件仓库中提供了UserGuide及tutorials,可以参阅里面的案例。
下面是官方发布的demo。
1、blastFoam模拟RECONASS 400kg TNT NEQ爆炸试验
2、blastFoam模拟城市爆炸
3、blastFoam模拟贝鲁特爆炸
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!