连接轴的所有输入数组维度必须完全匹配

2024-04-19 00:55:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Conda运行一个简单的python代码。 当我运行代码时,我得到了连接错误

我知道这个错误与numpy维度有关,我在谷歌上查过类似的答案。但是我无法解决代码中的错误

在代码中,当我在第31行添加alpha = f.thermal_conductivity/f.cp和在第45行添加alpha时,在第48行得到错误。并且错误是ValueError:串联轴的所有输入数组维度必须精确匹配,但是沿着维度0,索引0处的数组大小为12,索引1处的数组大小为159

但是当我删除alpha = f.thermal_conductivity/f.cpalpha并简单地在第45行中添加f.thermal_conductivity/f.cp时,效果很好

从这一点上,我理解我以错误的方式指定了alpha = f.thermal_conductivity/f.cp

谁能告诉我如何正确定义alpha,这样我就不会出现任何连接错误了

import cantera as ct
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np 
pressure = 221000 #Initial Pressure
T_fuel = 293.15 # fuel inlet temperature 
T_ox = 1054   # oxidizer inlet temperature
fuel = 'H2:1' # fuel composition 
oxidizer = 'O2:0.21, N2:0.606, H2O:0.184' # air composition 
reaction_mechanism = 'h2o2.yaml'   # Reaction Mechanism
mdot_f = 536.0 # kg/m^2/s
mdot_o = 958.75 # kg/m^2/s
#Setting a gas object 
gas = ct.Solution(reaction_mechanism)
phi = gas.equivalence_ratio(fuel, oxidizer, basis='mass')
gas.mixture_fraction('H2:1','O2:0.21, N2:0.606, H2O:0.184',basis='mass',element='H') 
width = 20 # Distance between inlets is 2 cm
loglevel = 1  # amount of diagnostic output (0 to 5)
#Setting a Flame object 
f = ct.CounterflowDiffusionFlame(gas, width=width)        
f.P = pressure 
f.fuel_inlet.mdot = mdot_f  
f.fuel_inlet.X = fuel  
f.fuel_inlet.T = T_fuel
f.oxidizer_inlet.mdot = mdot_o 
f.oxidizer_inlet.X = oxidizer  
f.oxidizer_inlet.T = T_ox 
f.transport_model = 'Multi'
Z = f.mixture_fraction
f.set_refine_criteria(ratio=2.0, slope=0.2, curve=0.2, prune=0.03)
alpha = f.thermal_conductivity/f.cp 
file_name = 'initial_solution.csv'
print('Preparing data...')
data = np.transpose([\
                     Z('H'),\                   
                     f.grid,\
                     f.T,\
                     f.velocity,\
                     f.density,\
                     f.cp,\
                     f.viscosity,\
                     f.heat_release_rate,\
                     f.h,\
                     f.thermal_conductivity,\
                     alpha,\
                         ])
for k in range(0, len(f.Y[:,0])):
    data = np.c_[data,np.transpose(f.Y[k,:])]``` 

Tags: 代码importalphadataas错误npcp