点数据的测量

问题概要


点数据的测量


软件


TCFD 18.10


具体问题


TCFD一般设置里的probe测量数据为各截面上的平均数据。详细结果可参阅计算结果生成的路径下“postProcessing”文件夹里各个子文件里的csv文件。

而如何使用TCFD测量某个特定点的数据呢?就需要使用Python脚本了。

首先创建一个文本文档,在文档中键入下图中的字符(有实际意义的部分为带颜色的文字,后面附详细文字版):


a.png


前两行为声明语句:

SetEntry('system/controlDict', 'functions/customProbes/functionObjectLibs', '( "libsampling.so" )')

SetEntry('system/controlDict', 'functions/customProbes/type', 'probes')

往下为需要监控的参数声明:

SetEntry('system/controlDict', 'functions/customProbes/fields:0', 'p') 监控量为静压P;

SetEntry('system/controlDict', 'functions/customProbes/fields:1', 'pTot') 监控量为总压PTot;

SetEntry('system/controlDict', 'functions/customProbes/fields:2', 'U') 监控量为速度场 U;

再往下为监测的具体坐标点,需要注意的是,这里的点给定的是三维坐标,单位只能给成米meter:

SetEntry('system/controlDict', 'functions/customProbes/probeLocations:0', '( -0.0137 -0.1631 0.0974 )')

SetEntry('system/controlDict', 'functions/customProbes/probeLocations:1', '( -0.0147 -0.1631 0.0974 )') 这里插入了(-0.0137,-0.1631,0.0974)、(-0.0147,-0.1631,0.0974)两个坐标点。

最后为结束语句:WriteFile('system/controlDict')

 

将文档保存后,修改后缀名为.py。

 

将脚本导入TCFD:

点开TCFD设置条框里“Scripting”右边的“+”加号,在弹出的对话框中添加刚才生成的py文件即可,


b.png


点击图中的“execution point”下方小空白框,按需求添加脚本在程序运行时脚本运行的时间,如:after write、before meshing、after calculation等。然后按正常流程进行manager>write case>run all。在计算结果生成的路径下“postProcessing”文件夹里会生成“custom probe”文件夹,在这里可查看插入的数据点的参数。

 

附整个文本语句(#后语句为说明语句,不执行):

# print '@@@ This script defines probes (points) for which given quantities are tracked.'

 

# Compulsory lines

SetEntry('system/controlDict', 'functions/customProbes/functionObjectLibs', '( "libsampling.so" )')

SetEntry('system/controlDict', 'functions/customProbes/type', 'probes')

 

# Fields to be tracked

SetEntry('system/controlDict', 'functions/customProbes/fields:0', 'p')

SetEntry('system/controlDict', 'functions/customProbes/fields:1', 'pTot')

SetEntry('system/controlDict', 'functions/customProbes/fields:2', 'U')

 

# Position of tracked points, always in meters

SetEntry('system/controlDict', 'functions/customProbes/probeLocations:0', '( -0.0137 -0.1631 0.0974 )')

SetEntry('system/controlDict', 'functions/customProbes/probeLocations:1', '( -0.0147 -0.1631 0.0974 )')

 

# Compulsory line

WriteFile('system/controlDict')