请问一下的循环迭代,,执行1.5秒,,算是正常么??有什么好办法优化到毫秒级么?
NoSteadySolutionIter=100
size(Elems)=10000
[Fortran] 纯文本查看 复制代码
do while(iter < NoSteadySolutionIter)
iter=iter+1
LastIter=iter
call IniFrnt
do k=1,size(Points)
Points(k).dU=0
enddo
do ixelem=1,size(Elems)
ielem = Front_Order(ixelem)
if(ielem == 0) cycle
if(Elems(ielem).infront == 0) cycle
if(Elems(ielem).tip == PIPE_OBJ) then
call SteadyPipeMtx(ielem)
endif
call FrontU(ielem,LunFrn)
enddo
call FrontB(LunFrn)
call IncVar()
if (HnorMx <= EpsH .and. QnorMx <= EpsQ .and. OnorMx <= EpsO) then
if(InitSolution()) then
call SaveSolutionStage(kstage,curtim)
call ConvergenceReport(0d0)
Steady = .true.
return
else
Steady = .false.
return
endif
endif
enddo
|