PyFluent技术深度解析:现代CFD仿真的Python自动化解决方案 PyFluent技术深度解析现代CFD仿真的Python自动化解决方案【免费下载链接】pyfluentPythonic interface to Ansys Fluent项目地址: https://gitcode.com/gh_mirrors/pyf/pyfluent在计算流体动力学CFD领域工程师和研究人员长期面临着一个核心矛盾复杂的仿真流程需要大量手动操作而科学计算又要求高度的可重复性和精确性。传统的GUI操作模式不仅效率低下还难以实现参数化研究和批量处理。Ansys Fluent作为业界领先的CFD软件其强大的求解能力与繁琐的用户界面形成了鲜明对比。这正是PyFluent诞生的背景——一个将Python编程语言的灵活性与Fluent仿真引擎的强大功能相结合的创新解决方案。PyFluent作为Ansys官方提供的Python接口彻底改变了CFD工作流的执行方式。它通过gRPC协议与Fluent求解器建立通信将复杂的仿真流程转化为可编程、可复用的Python脚本。这种转变不仅提高了工作效率更重要的是为CFD分析带来了前所未有的自动化和集成能力。技术架构与设计哲学多会话管理模式PyFluent的核心架构围绕灵活的会话管理展开。系统提供了多种会话类型每种类型针对特定的仿真场景进行优化import ansys.fluent.core as pyfluent # 求解器会话 - 完整的CFD求解功能 solver_session pyfluent.launch_fluent(modesolver) # 网格生成会话 - 专注于几何处理和网格划分 meshing_session pyfluent.launch_fluent(modemeshing) # 纯网格会话 - 仅包含网格生成功能 pure_meshing_session pyfluent.launch_fluent(modepure-meshing)每种会话类型都继承自BaseSession类通过面向对象的设计实现了功能模块的清晰分离。在src/ansys/fluent/core/session_utilities.py中系统定义了Solver、Meshing、PureMeshing等多个会话基类为不同的仿真模式提供了统一的操作接口。工作流自动化引擎PyFluent的工作流系统是其自动化能力的核心体现。通过src/ansys/fluent/core/workflow.py和src/ansys/fluent/core/workflow_new.py模块用户可以构建复杂的自动化流程from ansys.fluent.core import workflow class TurbomachineryWorkflow(workflow.Workflow): def __init__(self, session): self.session session def setup_geometry(self, geometry_file): 几何导入与预处理 self.session.tui.file.read_case(geometry_file) self.session.tui.mesh.check() def configure_solver(self, turbulence_modelk-epsilon): 求解器配置 self.session.tui.define.models.viscous(turbulence_model) self.session.tui.define.boundary_conditions.set(inlet, velocity, 10) def run_simulation(self, iterations1000): 运行仿真 self.session.tui.solve.initialize.initialize_flow() self.session.tui.solve.iterate(iterations)工作流系统支持状态管理、错误恢复和进度跟踪使得复杂的多步骤仿真流程能够可靠地自动化执行。数据模型与服务架构PyFluent的数据模型系统通过src/ansys/fluent/core/services/datamodel_se.py实现提供了对Fluent内部数据结构的Pythonic访问。这种设计允许用户以对象属性的方式访问仿真参数而不是传统的命令行接口# 传统TUI方式 session.tui.define.models.viscous(k-epsilon) # PyFluent数据模型方式 session.setup.models.viscous.model k-epsilon session.setup.models.viscous.k_epsilon_model standard服务层架构通过gRPC实现高效的远程过程调用支持实时数据传输和状态监控。src/ansys/fluent/core/streaming_services/目录下的模块提供了流式数据访问能力使得大规模仿真数据的实时监控成为可能。行业应用场景深度解析汽车空气动力学优化汽车空气动力学设计需要大量的参数化研究和优化迭代。PyFluent通过自动化脚本显著提高了这一过程的效率。Ahmed车身模型作为汽车空气动力学的标准测试案例展示了PyFluent在流场分析中的应用价值。上图展示了Ahmed车身表面的压力系数分布。通过PyFluent工程师可以自动化地导入CAD几何并生成高质量网格设置边界条件和湍流模型运行仿真并提取关键气动参数批量分析不同设计方案的性能# 汽车空气动力学参数化分析 def analyze_aerodynamic_performance(session, design_variants): results [] for variant in design_variants: # 更新几何参数 session.tui.define.geometry.update(variant[geometry_params]) # 重新生成网格 session.tui.mesh.generate() # 运行仿真 session.tui.solve.iterate(500) # 提取气动性能数据 cd session.solution.report.force(drag_coefficient) cl session.solution.report.force(lift_coefficient) results.append({ variant: variant[name], drag_coefficient: cd, lift_coefficient: cl }) return results热管理与能量系统仿真热管理是许多工程系统的关键挑战从电子设备冷却到能源系统优化。PyFluent提供了强大的共轭传热CHT仿真能力。制动系统的热管理分析需要精确预测摩擦产生的热量分布。上图展示了制动盘表面的温度场红色区域表示高温区域。PyFluent能够自动化地设置固体和流体域的传热耦合定义热边界条件和材料属性模拟瞬态热行为评估热应力和冷却效率电池热管理是另一个重要应用领域。在src/ansys/fluent/core/examples/00-fluent/battery_pack.py中展示了如何使用PyFluent进行电池组的热分析# 电池热管理仿真配置 def setup_battery_thermal_model(session): # 设置多物理场耦合 session.setup.models.energy.enabled True session.setup.models.viscous.model k-epsilon # 定义电池材料属性 session.setup.materials.solid.create( namebattery_material, density2500, specific_heat1000, thermal_conductivity1.5 ) # 设置热源项 session.setup.cell_zone_conditions.battery.heat_generation_rate 5000涡轮机械与旋转机械分析涡轮机械的流动分析涉及复杂的旋转参考系和动静干涉效应。PyFluent提供了专门的旋转机械仿真功能。涡轮机械的CFD分析需要处理旋转参考系和混合平面方法叶片排之间的动静干涉三维湍流和二次流动性能曲线生成PyFluent通过自动化脚本简化了这些复杂任务# 涡轮机械性能分析工作流 def analyze_turbomachinery_performance(session, operating_points): performance_data [] for op in operating_points: # 设置运行工况 session.setup.boundary_conditions.inlet.velocity op[inlet_velocity] session.setup.boundary_conditions.outlet.pressure op[outlet_pressure] # 配置旋转区域 session.setup.cell_zone_conditions.rotating_zone.rotational_speed op[rpm] # 运行稳态仿真 session.solution.run_calculation.iterate(1000) # 提取性能参数 efficiency session.solution.report.definitions.compute(isentropic_efficiency) pressure_ratio session.solution.monitor.surface_integrals.compute(pressure_ratio) performance_data.append({ rpm: op[rpm], efficiency: efficiency, pressure_ratio: pressure_ratio }) return performance_data化工与过程工业应用混合设备和反应器的流动分析是化工过程优化的关键。PyFluent能够模拟复杂的多相流和化学反应。混合设备的CFD分析需要考虑湍流混合和浓度分布多相流相互作用化学反应动力学热质传递耦合在examples/00-fluent/mixing_tank_workflow.py中展示了如何使用PyFluent进行搅拌槽的流动分析# 搅拌槽混合效率分析 def analyze_mixing_efficiency(session, impeller_speeds): mixing_results [] for speed in impeller_speeds: # 设置搅拌器转速 session.setup.cell_zone_conditions.impeller.rotational_speed speed # 配置多相流模型 session.setup.models.multiphase.models vof session.setup.models.multiphase.number_of_phases 2 # 运行瞬态仿真 session.solution.run_calculation.time_step_size 0.01 session.solution.run_calculation.number_of_time_steps 100 # 计算混合均匀度 mixing_index calculate_mixing_index(session) mixing_results.append({ impeller_speed: speed, mixing_index: mixing_index, power_consumption: session.solution.report.definitions.compute(power) }) return mixing_results能源与环境工程催化转化器和排气系统的优化对于满足排放法规至关重要。PyFluent能够模拟复杂的多物理场过程。催化转化器的仿真涉及多孔介质中的流动表面化学反应动力学热质传递耦合污染物转化效率在examples/00-fluent/catalytic_converter_workflow.py中展示了完整的催化转化器分析流程# 催化转化器性能分析 def analyze_catalyst_performance(session, exhaust_conditions): # 设置多孔介质属性 session.setup.cell_zone_conditions.catalyst.porous_zone True session.setup.cell_zone_conditions.catalyst.porosity 0.4 session.setup.cell_zone_conditions.catalyst.permeability 1e-10 # 定义表面化学反应 session.setup.models.species.transport True session.setup.models.species.reactions [ { name: CO_oxidation, reactants: {CO: 1, O2: 0.5}, products: {CO2: 1}, rate_constant: arrhenius } ] # 设置排气条件 for condition in exhaust_conditions: session.setup.boundary_conditions.inlet.mass_flow_rate condition[flow_rate] session.setup.boundary_conditions.inlet.temperature condition[temperature] session.setup.boundary_conditions.inlet.species_fractions condition[composition] # 运行仿真 session.solution.run_calculation.iterate(500) # 计算转化效率 conversion_efficiency calculate_conversion_efficiency(session) yield { condition: condition[name], conversion_efficiency: conversion_efficiency, pressure_drop: session.solution.report.definitions.compute(pressure_drop) }电化学系统仿真电解槽和燃料电池等电化学系统的设计需要复杂的多物理场分析。PyFluent提供了电化学模块的完整支持。电化学系统的CFD分析包括电解质流动和传质电极表面的电化学反应电势分布和电流密度热效应管理# 电解槽性能优化 def optimize_electrolyzer_design(session, design_parameters): performance_metrics [] for params in design_parameters: # 设置电化学模型 session.setup.models.electrochemistry.enabled True session.setup.models.electrochemistry.electrolyte params[electrolyte] # 配置电极边界条件 session.setup.boundary_conditions.anode.potential params[anode_potential] session.setup.boundary_conditions.cathode.potential params[cathode_potential] # 设置流动条件 session.setup.boundary_conditions.inlet.velocity params[flow_velocity] # 运行仿真 session.solution.run_calculation.iterate(1000) # 提取性能指标 current_density session.solution.report.definitions.compute(average_current_density) voltage_efficiency session.solution.report.definitions.compute(voltage_efficiency) performance_metrics.append({ design: params[name], current_density: current_density, voltage_efficiency: voltage_efficiency, hydrogen_production_rate: calculate_h2_production(session) }) return performance_metrics高级配置与性能优化环境配置最佳实践PyFluent的正确配置对于确保稳定运行至关重要。系统支持多种配置方式# 高级会话配置 session_config { mode: solver, version: 2025R2, precision: double, processor_count: 8, start_timeout: 300, env_vars: { ANSYSLMD_LICENSE_FILE: 1055license_server, FLUENT_ARCH: lnamd64 } } solver_session pyfluent.launch_fluent(**session_config)在src/ansys/fluent/core/module_config.py中系统提供了完整的配置管理功能支持环境变量、启动参数和运行时设置的集中管理。并行计算与性能调优大规模CFD仿真需要有效的并行计算策略。PyFluent支持多种并行配置# 并行计算配置 def configure_parallel_computation(session, n_procs): 配置并行计算参数 session.tui.solve.set(parallel/settings) session.tui.solve.parallel.settings.set_number_of_processors(n_procs) # 设置分区方法 session.tui.solve.parallel.settings.set_partition_method(metis) # 配置内存管理 session.tui.solve.memory.set_memory_size(4gb) # 设置求解器参数 session.tui.solve.set(under-relaxation-factors) session.tui.solve.set(pressure, 0.3) session.tui.solve.set(momentum, 0.7) return session数据管理与后处理优化高效的仿真数据管理是工业级应用的关键。PyFluent提供了强大的数据访问和处理能力# 高效数据提取和处理 def extract_simulation_data(session, field_names, sampling_strategystructured): 从仿真结果中提取和处理数据 data_store {} for field in field_names: # 获取场数据 field_data session.field_data.get( field_namefield, sampling_strategysampling_strategy ) # 应用数据压缩 if field_data.size 1e6: # 大数据集压缩 field_data compress_field_data(field_data, methodzstd) # 存储处理后的数据 data_store[field] { raw_data: field_data, statistics: calculate_field_statistics(field_data), metadata: get_field_metadata(session, field) } return data_store在src/ansys/fluent/core/services/field_data.py中系统实现了高效的数据访问接口支持实时数据流和批量数据处理。错误处理与容错机制工业级应用需要健壮的错误处理机制。PyFluent提供了多层次的错误处理# 健壮的仿真工作流 class RobustSimulationWorkflow: def __init__(self, session): self.session session self.error_log [] self.recovery_strategies { convergence_failure: self.handle_convergence_failure, mesh_quality: self.handle_mesh_quality_issue, memory_error: self.handle_memory_error } def execute_with_recovery(self, simulation_steps): 带错误恢复的仿真执行 for step in simulation_steps: try: step.execute(self.session) except Exception as e: error_type classify_error(e) if error_type in self.recovery_strategies: self.recovery_strategieserror_type self.error_log.append({ step: step.name, error: str(e), recovery_strategy: error_type }) else: raise def handle_convergence_failure(self, error): 收敛失败处理策略 # 调整松弛因子 self.session.tui.solve.set(under-relaxation-factors) self.session.tui.solve.set(pressure, 0.2) # 减小时间步长 self.session.tui.solve.set(time-step-size, 0.001) # 重新初始化 self.session.tui.solve.initialize.initialize_flow()与现代技术栈的集成Python科学计算生态集成PyFluent与Python数据科学工具链的深度集成是其核心优势之一# 与NumPy、Pandas、Matplotlib的集成 import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy import interpolate def analyze_and_visualize_simulation_results(session): 仿真结果分析与可视化 # 从PyFluent获取数据 velocity_field session.field_data.get(velocity) pressure_field session.field_data.get(pressure) # 使用NumPy进行数据处理 velocity_magnitude np.linalg.norm(velocity_field, axis1) pressure_gradient np.gradient(pressure_field) # 使用SciPy进行插值 x_coords session.field_data.get_coordinates()[:, 0] y_coords session.field_data.get_coordinates()[:, 1] # 创建插值函数 velocity_interp interpolate.griddata( (x_coords, y_coords), velocity_magnitude, (x_grid, y_grid), methodcubic ) # 使用Pandas进行数据分析 results_df pd.DataFrame({ x: x_coords, y: y_coords, velocity: velocity_magnitude, pressure: pressure_field }) # 统计分析 stats results_df.describe() # 使用Matplotlib可视化 fig, axes plt.subplots(2, 2, figsize(12, 10)) # 速度场云图 im1 axes[0, 0].contourf(x_grid, y_grid, velocity_interp, levels50) axes[0, 0].set_title(Velocity Magnitude) plt.colorbar(im1, axaxes[0, 0]) # 压力分布 im2 axes[0, 1].scatter(x_coords, y_coords, cpressure_field, s1) axes[0, 1].set_title(Pressure Distribution) plt.colorbar(im2, axaxes[0, 1]) # 统计分析图 axes[1, 0].hist(velocity_magnitude, bins50, alpha0.7) axes[1, 0].set_title(Velocity Distribution) # 相关性分析 axes[1, 1].scatter(velocity_magnitude, pressure_field, alpha0.5) axes[1, 1].set_title(Velocity vs Pressure) axes[1, 1].set_xlabel(Velocity Magnitude) axes[1, 1].set_ylabel(Pressure) plt.tight_layout() plt.savefig(simulation_results.png, dpi300) return results_df, stats机器学习与优化框架集成PyFluent与机器学习库的集成支持基于仿真的优化设计# 与scikit-learn和Optuna的集成 from sklearn.gaussian_process import GaussianProcessRegressor from sklearn.gaussian_process.kernels import RBF import optuna def surrogate_based_optimization(design_space, n_initial_points20, n_iterations100): 基于代理模型的优化设计 # 初始采样点 initial_designs latin_hypercube_sampling(design_space, n_initial_points) # 使用PyFluent评估初始设计 simulation_results [] for design in initial_designs: result evaluate_design_with_pyfluent(design) simulation_results.append(result) # 构建高斯过程代理模型 X_train np.array([d[parameters] for d in simulation_results]) y_train np.array([d[performance] for d in simulation_results]) kernel RBF(length_scale1.0) gpr GaussianProcessRegressor(kernelkernel, n_restarts_optimizer10) gpr.fit(X_train, y_train) # 使用Optuna进行贝叶斯优化 def objective(trial): # 在设计中提出新参数 new_params { length: trial.suggest_float(length, design_space[length][min], design_space[length][max]), width: trial.suggest_float(width, design_space[width][min], design_space[width][max]), angle: trial.suggest_float(angle, design_space[angle][min], design_space[angle][max]) } # 使用代理模型预测性能 predicted_performance gpr.predict([list(new_params.values())])[0] # 定期使用真实仿真更新代理模型 if trial.number % 10 0: actual_performance evaluate_design_with_pyfluent(new_params) # 更新训练数据 X_train np.vstack([X_train, list(new_params.values())]) y_train np.append(y_train, actual_performance) gpr.fit(X_train, y_train) return actual_performance else: return predicted_performance # 运行优化 study optuna.create_study(directionmaximize) study.optimize(objective, n_trialsn_iterations) return study.best_params, study.best_value容器化与云部署PyFluent支持容器化部署便于在云环境中运行# 容器化配置示例 from ansys.fluent.core.launcher.fluent_container import configure_container_dict def create_cloud_ready_container_config(): 创建云就绪的容器配置 container_config configure_container_dict( imageansys/fluent:latest, gpu_enabledTrue, memory_limit16g, cpu_limit8, volume_mounts{ /host/data: /data, /host/results: /results }, environment_variables{ ANSYSLMD_LICENSE_FILE: 1055cloud-license-server, FLUENT_HOSTNAME: cloud-instance, OMP_NUM_THREADS: 4 } ) return container_config # 在云环境中启动会话 cloud_session pyfluent.launch_fluent( modesolver, start_containerTrue, container_dictcreate_cloud_ready_container_config(), additional_arguments[ -mpiintel, -t8, -gpu ] )开发与扩展指南自定义模块开发PyFluent的模块化架构支持用户自定义扩展# 自定义求解器模块示例 from ansys.fluent.core.solver import SolverBase class CustomSolverModule(SolverBase): 自定义求解器模块 def __init__(self, session): super().__init__(session) self.custom_methods_registered False def register_custom_methods(self): 注册自定义方法 if not self.custom_methods_registered: # 添加自定义TUI命令 self._add_custom_command(solve/custom/optimize, self.custom_optimization) self._add_custom_command(report/custom/metrics, self.custom_metrics) self.custom_methods_registered True def custom_optimization(self, objective_function, constraints): 自定义优化算法 # 实现特定的优化逻辑 best_solution self._gradient_based_optimization( objective_function, constraints, methodBFGS ) return best_solution def custom_metrics(self, field_data): 自定义性能指标计算 # 实现特定的后处理算法 metrics { turbulence_intensity: self._calculate_turbulence_intensity(field_data), mixing_index: self._calculate_mixing_index(field_data), energy_efficiency: self._calculate_energy_efficiency(field_data) } return metrics def _calculate_turbulence_intensity(self, velocity_field): 计算湍流强度 mean_velocity np.mean(velocity_field, axis0) velocity_fluctuations velocity_field - mean_velocity turbulence_intensity np.std(velocity_fluctuations) / np.linalg.norm(mean_velocity) return turbulence_intensity测试与验证框架PyFluent提供了完整的测试基础设施支持自动化测试和质量保证# 仿真工作流测试框架 import pytest from ansys.fluent.core import launch_fluent class TestCFDWorkflow: CFD工作流测试类 pytest.fixture(scopeclass) def fluent_session(self): 创建测试会话 session launch_fluent(modesolver, show_guiFalse) yield session session.exit() def test_mesh_generation(self, fluent_session): 网格生成测试 # 导入测试几何 fluent_session.tui.file.read_case(test_geometry.cas) # 生成网格 fluent_session.tui.mesh.generate() # 验证网格质量 mesh_stats fluent_session.tui.mesh.check() assert mesh_stats[skewness] 0.85 assert mesh_stats[aspect_ratio] 100 def test_boundary_conditions(self, fluent_session): 边界条件设置测试 # 设置进口边界条件 fluent_session.tui.define.boundary_conditions.set( inlet, velocity-magnitude, 10.0 ) # 验证设置 bc_settings fluent_session.tui.define.boundary_conditions.get(inlet) assert bc_settings[velocity-magnitude] 10.0 def test_solver_convergence(self, fluent_session): 求解器收敛性测试 # 运行仿真 fluent_session.tui.solve.initialize.initialize_flow() convergence_data fluent_session.tui.solve.iterate(100) # 验证收敛性 assert convergence_data[residuals][continuity] 1e-3 assert convergence_data[residuals][momentum] 1e-3在tests/目录中PyFluent提供了完整的测试套件包括单元测试、集成测试和端到端工作流测试。性能监控与调试实时监控与诊断PyFluent提供了强大的实时监控能力# 实时仿真监控 class SimulationMonitor: def __init__(self, session, monitoring_interval1.0): self.session session self.monitoring_interval monitoring_interval self.metrics_history { residuals: [], forces: [], monitors: [], timestamps: [] } def start_monitoring(self): 启动实时监控 import threading import time def monitoring_thread(): while self.monitoring_active: # 获取当前残差 residuals self.session.solution.monitor.residuals.get() # 获取力系数 forces self.session.solution.report.definitions.compute(force_coefficients) # 获取用户自定义监控点 monitors self.session.solution.monitor.surface_monitors.get() # 记录数据 self.metrics_history[residuals].append(residuals) self.metrics_history[forces].append(forces) self.metrics_history[monitors].append(monitors) self.metrics_history[timestamps].append(time.time()) # 检查收敛性 if self._check_convergence(residuals): self._on_convergence_achieved() # 检查发散性 if self._check_divergence(residuals): self._on_divergence_detected() time.sleep(self.monitoring_interval) self.monitoring_active True self.monitor_thread threading.Thread(targetmonitoring_thread) self.monitor_thread.start() def _check_convergence(self, residuals): 检查收敛性标准 convergence_criteria { continuity: 1e-3, momentum: 1e-3, energy: 1e-6 } for equation, threshold in convergence_criteria.items(): if equation in residuals and residuals[equation] threshold: return False return True def _check_divergence(self, residuals): 检查发散性 # 检查残差是否呈指数增长 if len(self.metrics_history[residuals]) 10: recent_residuals self.metrics_history[residuals][-10:] growth_rate self._calculate_growth_rate(recent_residuals) if growth_rate 2.0: # 残差每步翻倍 return True return False性能分析与优化PyFluent支持详细的性能分析# 性能分析工具 import cProfile import pstats import io from contextlib import contextmanager contextmanager def profile_simulation_step(step_name): 性能分析上下文管理器 pr cProfile.Profile() pr.enable() try: yield finally: pr.disable() s io.StringIO() ps pstats.Stats(pr, streams).sort_stats(cumulative) ps.print_stats(20) # 保存性能分析结果 with open(fperformance_{step_name}.txt, w) as f: f.write(s.getvalue()) print(f性能分析完成: {step_name}) # 使用性能分析 with profile_simulation_step(mesh_generation): session.tui.mesh.generate() with profile_simulation_step(solver_iteration): for i in range(100): session.tui.solve.iterate(1)总结与展望PyFluent代表了CFD仿真自动化的未来方向。通过将Python的灵活性与Fluent的强大求解能力相结合它为工程师和研究人员提供了前所未有的仿真工作流控制能力。从汽车空气动力学到能源系统优化从化工过程模拟到电化学分析PyFluent在各个工程领域都展现出了巨大的应用潜力。技术发展趋势云原生仿真随着容器技术和云计算的普及PyFluent正在向云原生架构演进支持弹性扩展和分布式计算。AI/ML集成与机器学习框架的深度集成将实现智能化的仿真参数优化和结果预测。实时协同支持多用户实时协作的仿真环境促进团队协作和知识共享。数字孪生与物联网和实时数据流的集成支持动态数字孪生系统的构建。最佳实践建议模块化设计将复杂仿真工作流分解为可重用的模块提高代码的可维护性。版本控制对所有仿真脚本和配置文件使用版本控制系统确保可重复性。自动化测试建立完整的测试套件确保仿真工作流的可靠性。性能监控实施全面的性能监控和日志记录及时发现和解决性能瓶颈。文档化为所有自定义模块和工作流提供详细的文档便于团队协作和知识传承。PyFluent不仅是一个技术工具更是一种工程实践方法的革新。它将CFD仿真从手动操作转变为可编程、可重复、可扩展的科学计算流程为工程创新提供了强大的技术基础。随着计算能力的持续增长和人工智能技术的不断发展PyFluent将在工程仿真领域发挥越来越重要的作用。【免费下载链接】pyfluentPythonic interface to Ansys Fluent项目地址: https://gitcode.com/gh_mirrors/pyf/pyfluent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考