Hi. I'm converting some sequential codes into parallel codes. The former works well. But I came across the following errors when running the parallel codes. Can anyone help me? Thanks.
??? Error using ==> parallel_function>make_general_channel/channel_general at 843 Subscripted assignment dimension mismatch.
Error in ==> parallel_function>distributed_execution at 752 [tags, out] = P.getCompleteIntervals(chunkSize);
Error in ==> parallel_function at 564 R = distributed_execution(…
Error in ==> SensitivityForNaturalBreachFreqParfor3 at 8 SANaturalBreachFreq = zeros(4,14);
??? Operation terminated by user during ==> NormalFlow
In ==> NaturalBreachFreq at 275 [h_begin, u_begin] = NormalFlow(Q_begin,B_prtC,s_prtC,n_prtC);
In ==> parallel_function>make_general_channel/channel_general at 843 O = F(C{:});
In ==> remoteParallelFunction at 28 out = distcompMakeByteBufferHandle(distcompserialize(feval(channel, channelArgs{:})));
****************The parallel codes:
SANaturalBreachFreq = zeros(4,14); % The outputs
parfor i=1:4 % Test four iterations
V = zeros(1,14); V(i,1:3) = SA3Parameters(i,1:3); % All inputs loaded into the workspace
[Z_prtC,Z_levee] = ChnlElevations(H_prtC,V(i,1),rDep_chnl,rDep_bsn); E_weak = 0.2*V(i,2)^(-0.5)*1e-6; Lweak = 0.05*L_prtC/V(i,3); [BreachYearNo,BigBreachYearNo,BreachNo,BigBreachNo,AvulsionNo,AllBreachNo,MajorBreachW,MajorBreachQout_pct,... Avulsion,AllBreachYearNo]... = NaturalBreachFreq(Qd,Qsd,Qpct_overtop,Qpct_bifur,Qpct_avlsn,yBifur,Big_pct,H_prtC,Z_prtC,Z_levee,... B_prtC,s_prtC,n_prtC,tauCr,V(i,2),nDcr,V(i,3),Lweak,E,E_weak,D_breach0,B_breach0,dL,n_star,... n_breach,dL_outfl,p_wash,d50,ws_m,rho_s,rho_m,p,dt); V(i,4) = AvulsionNo; if ~isempty(Avulsion) V(i,5) = Avulsion(1); V(i,6) = Z_levee(Avulsion(3))/Hbar; end V(i,7) = AllBreachYearNo; V(i,8) = BreachYearNo; V(i,9) = BigBreachYearNo; V(i,10) = AllBreachNo; V(i,11) = BreachNo; V(i,12) = BigBreachNo; V(i,13) = MajorBreachW; V(i,14) = MajorBreachQout_pct; SANaturalBreachFreq(i,:) = V; end
Best Answer