在自定义求解器中使用wave2Foam的waveGaugeProbes对波高进行监测
-
给大家分享一下当采用自定义的求解器对波浪进行数值仿真的时候采用wave2Foam waveGaugeProbes对波高进行监测
当前对波高进行监测主要有wave2Foam中的waveGaugeProbes,IHFoam和olaFlow都有自己的波高监测仪,OpenFOAM中也有interfaceHeight函数对波高进行监测。
但是有一个问题是,当采用interfaceHeight对alpha.water进行监测的时候,会导致OpenFOAM运行速度慢,而采用自定义的求解器对波高进行监测的时候,那只能采用sampleDict对alpha.water进行监测,这样的结果是在postProcessing会生成一系列的时间文件,需要采用其他方法对这一些列的时间文件中的波高重新提取,也是很不方便。
因此我这边就是结合wave2Foam中的waveGaugeProbes和interFoam,这样在interFOAM求解器运行的时候,可以采用wave2Foam中的波高仪进行监测,这样的效率会得到很大的提高。
1.把interFoam求解器拷贝到wave2Foam路径的waves2Foam/applications/solvers/solvers2206_PLUS(当然这个求解器solvers2206_PLUS对应的是OpenFOAM相应的版本)
2.在interFoam文件夹中修改Make/files中修改EXE = $(FOAM_USER_APPBIN)/DinterFoam,使得编译后的程序在platforms中
3.在这个拷贝的interFoam文件夹中的Make/Options中添加如上图所示2和3步的关于wave2foam的代码
4.对wave2Foam进行编译就行 -
给大家分享一下当采用自定义的求解器对波浪进行数值仿真的时候采用wave2Foam waveGaugeProbes对波高进行监测
当前对波高进行监测主要有wave2Foam中的waveGaugeProbes,IHFoam和olaFlow都有自己的波高监测仪,OpenFOAM中也有interfaceHeight函数对波高进行监测。
但是有一个问题是,当采用interfaceHeight对alpha.water进行监测的时候,会导致OpenFOAM运行速度慢,而采用自定义的求解器对波高进行监测的时候,那只能采用sampleDict对alpha.water进行监测,这样的结果是在postProcessing会生成一系列的时间文件,需要采用其他方法对这一些列的时间文件中的波高重新提取,也是很不方便。
因此我这边就是结合wave2Foam中的waveGaugeProbes和interFoam,这样在interFOAM求解器运行的时候,可以采用wave2Foam中的波高仪进行监测,这样的效率会得到很大的提高。
1.把interFoam求解器拷贝到wave2Foam路径的waves2Foam/applications/solvers/solvers2206_PLUS(当然这个求解器solvers2206_PLUS对应的是OpenFOAM相应的版本)
2.在interFoam文件夹中修改Make/files中修改EXE = $(FOAM_USER_APPBIN)/DinterFoam,使得编译后的程序在platforms中
3.在这个拷贝的interFoam文件夹中的Make/Options中添加如上图所示2和3步的关于wave2foam的代码
4.对wave2Foam进行编译就行
使用方法
1.在constant文件中添加probeDefinitions文件,这个文件是在wave2Foam中就有的,主要是用来设置波高仪
2.采用wave2foam的命令waveGaugesNProbes,就可以生成waveGaugesNProbes文件
3.在controlDict中添加waveGaugesNProbes文件中的 自定义波高仪名称_controlDict
4.OKOK
完美实现
地下这个是放在github的文件,和上面也是一模一样
https://github.com/byChen47/waveHeightGauge