私は、さまざまな入力に基づいてファイルを書き込む関数を書いています。この機能は、私が個々の部分に使用したときにうまく機能します。しかし、私はそれを行うためにループを使用して、それは動作しません、なぜ私は分かりません。以下は forループのpythonで関数を使用する
は 私がしようとしたすべてがcontrolDictというファイルを作成することですimport controDictRead as CD
import numpy as np
Totallength=180000
x=np.arange(0.,Totallength,1.)
h=300*np.ones(len(x))
Relaxationzone=1000 # Relaxation zone width
#I=2
#x_input=1000
#y_start=-200
y_end=9
z=0.05
nPoints=4000
dx=20000
threshold=1000
x_input=np.zeros(int(np.floor(Totallength/dx)))
y_start=np.zeros(len(x_input))
I=np.zeros(len(x_input))
for i in range(len(x_input)):
if i==0:
x_input[i]=Relaxationzone
else:
x_input[i]=dx*i
if x_input[i]>=Totallength-Relaxationzone:
x_input[i]=Totallength-Relaxationzone
I[i]=i+1
y_start[i]=np.interp(x_input[i],x,h)
controlDict_new=CD.controlDicWritter(I,x_input[i],y_start[i],y_end,z,nPoints)
、それは
location1
{
type uniform;
axis y;
start (1000 -300 0.05);
end (1000 9 0.05);
nPoints 3000;
}
すべて以下のような形式になっていた場所のリストを持っている私のコードです私のcontrolDictRead関数は、私が興味を持っている場所名(例えばlocation1)を見つけて、入力した値に値(例えばstart、end、nPoints)を置き換えます。私はそれが動作しません冒頭で示したもの、のようなループを使用してそれをやったときに私の入力にこれらの値を一つずつは、例えば
controlDict_new=CD.controlDicWritter(3,x_input[2],y_start[2],y_end,z,nPoints)
しかし、ループが最初で立ち往生したときに、この機能が正常に動作しますループ全体の最初の場所に値を書き込んだりするのはどういうことなのでしょうか。助言がありますか?
CD.controlDicWritterのコードを提供できますか?私たちはそれなしでこれを再現することはできません。 –