许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  PyFluent文档|01 概述

PyFluent文档|01 概述

阅读数 3
点赞 0
article_banner


任何想要使用PyFluent的人都可以导入其Python模块,并开发Python代码来控制和监控ANSYS Fluent。

# 1 概览

用户可以使用  方法启动作为后台服务器运行的 Fluent 实例。

  • 使用以下代码以Solution模式启动 Fluent:
 from ansys.fluent.core import launch_fluent
 solver = launch_fluent(mode="solver")
 
      复制成功
     
     
     
     
  • 使用以下代码可以在Meshing模式下启动 Fluent:
 from ansys.fluent.core import launch_fluent
 meshing = launch_fluent(mode="meshing")
 
      复制成功
     
     
     
     

PyFluent 允许创建和初始化多个独立的会话对象,每个对象都对其当前模式(Solution或Meshing)相关的 Fluent 组件具有完全访问权限。

2 Solution模式会话

Solution模式会话有一个活动的  对象,其为求解器提供了两个不同的接口:

  • tui 对象
  • root 对象

2.1 tui对象

求解器的  对象是 Fluent 求解器 TUI(文本用户界面)的完整 Python 封装。该对象允许直接执行求解器命令和修改求解设置,对于现有 Fluent 用户来说,其使用方式很简单:

代码块


 tui = solver.tui
 tui.file.read_case("pipe.cas.h5")
 tui.define.models.energy("yes")
 
      复制成功
     
     
     
     

2.2 root对象

求解器  对象不仅暴露了大部分  对象所涵盖的求解器功能,还提供了一些通过  对象无法实现的额外接口特性:

代码块


 solver.file.read(file_type="case", file_name="pipe.cas.h5")
 solver.setup.models.energy.enabled = True
 energy_is_enabled = solver.setup.models.energy.enabled()
 
      复制成功
     
     
     
     

3 Meshing模式会话

Meshing模式会话有一个活动的  对象,其为网格生成器提供了两个不同的接口:

  • tui 对象
  • 网格工作流,由 meshing 和 workflow 属性以及 PartManagement 和 PMFileManager 类组成

3.1  tui 对象

网格化  对象是 Fluent Meshing TUI(文本用户界面)的完整 Python 封装。该对象允许直接执行网格生成命令和修改网格设置,其使用方式如下:

代码块


 tui = meshing_session.tui
 tui.mesh.prepare_for_solve("yes")
 tui.file.write_case("pipe.cas.h5")
 
      复制成功
     
     
     
     

3.2 Meshing 和Workflow属性

对象包含  和  属性,它们共同提供了对 Fluent Meshing工作流程的访问。此接口与 Fluent Meshing直接暴露的 Python 网格化工作流程接口保持一致:

代码块


 workflow = meshing_session.workflow
 workflow.InitializeWorkflow(WorkflowType="Watertight Geometry")
 import_geometry = workflow.TaskObject["Import Geometry"]
 import_geometry.Arguments = {"FileName":"pipe.scdoc.pmdb"}
 import_geometry.Execute()
 
 meshing = meshing_session.meshing
 meshing.GlobalSettings.LengthUnit.set_state("mm")
 
      复制成功
     
     
     
     

4 搜索 Fluent 设置或命令

提供了一个全局搜索方法用于查找 Fluent 设置或命令:

代码块


 >>> import ansys.fluent.core as pyfluent
 >>> pyfluent.search("geometry")
 <meshing_session>.tui.file.import_.cad_geometry (Command)
 <meshing_session>.tui.display.update_scene.select_geometry (Command)
 <meshing_session>.meshing.ImportGeometry (Command)
 <meshing_session>.meshing.LoadCADGeometry (Command)
 <solver_session>.tui.solve.initialize.compute_defaults.geometry (Command)
 <solver_session>.tui.report.reference_values.compute.geometry (Command)
 <solver_session>.tui.define.geometry (Command)
 <solver_session>.tui.mesh.geometry (Object)
 <solver_session>.setup.boundary_conditions.geometry["<name>"] (Object)
 <solver_session>.setup.geometry (Object)
 <solver_session>.solution.report_definitions.surface["<name>"].geometry (Parameter)
 <solver_session>.solution.report_definitions.volume["<name>"].geometry (Parameter)
 <solver_session>.results.graphics.mesh["<name>"].geometry (Parameter)
 <solver_session>.results.graphics.contour["<name>"].geometry (Parameter)
 
      复制成功
     
     
     
     

5 会话对象

在Solution或Meshing模式会话中, 对象通过其  属性提供更直接的交互方式:

代码块


 unsteady = solver.scheme_eval.scheme_eval("(rp-unsteady?)")
 
      复制成功
     
     
     
     

属性的参数是可以针对当前模式在 Fluent 中执行的任意 Scheme 代码的字符串。

表面物理场和网格数据服务仅在Solution模式下通过会话对象的  对象属性可用:

代码块


surface_data = solver.fields.field_data.get_fields()

      复制成功
     
     
     
     

任何会话的连接状态都可通过以下方式验证:

代码块


health = solver.health_check_service.status()

      复制成功
     
     
     
     

当且仅当连接正常时,返回 。

6 数据流式传输

默认情况下 Fluent transcript的流式传输会自动开启。用户可以手动停止和启动transcript的流式传输:

代码块


solver.transcript.stop()
solver.transcript.start()

      复制成功
     
     
     
     

可以通Solution模式会话的  属性启用和禁用与各种求解器事件类型相关的事件流式传输:

代码块


solver.events_manager.start()

      复制成功
     
     
     
     

7 将日志记录到文件和调试

PyFluent 默认禁用了到文件的日志记录。可以通过以下方式启用日志记录:

代码块


import ansys.fluent.core as pyfluent
pyfluent.logging.enable()

      复制成功
     
     
     
     

最后一条命令等同于 ,其使用 PyFluent 的默认日志级别。

PyFluent 默认情况下会在当前工作目录下创建一个名为  的文件进行日志记录。要了解更多细节,可以参考  方法的文档说明。

一旦启用了日志记录,还可以调整 PyFluent 的全局日志等级,操作方式如下:

代码块


pyfluent.logging.set_global_level('DEBUG')

      复制成功
     
     
     
     

这条命令等同于 ,其中  和  都代表调试级别,是日志级别中最详细的,包含了最多的日志信息。

除了上述方法外,还可以参考以下函数以获取更多与日志管理相关的功能:

  • ansys.fluent.core.logging.enable():用于启用日志记录。
  • ansys.fluent.core.logging.list_loggers():列出所有可用的日志记录器。
  • ansys.fluent.core.logging.set_global_level(level):设置全局日志记录等级。

PyFluent 的日志记录器采用了 Python 标准库中的日志模块,这意味着你可以利用标准库中所有的日志处理功能来自定义日志行为,比如日志的输出格式、处理程序(handler)以及过滤器(filter)等。更多关于 PyFluent 日志模块的详细信息,请查阅专门的 (日志模块文档)。

7.1 环境变量

可以通过环境变量  在 PyFluent 启动时自动启用全局日志记录,例如可将其设置为  或 。将  设置为  或  不会在启动时将初始化日志记录到文件,这与未设置此变量时的行为相同。



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空