Skip to content
Snippets Groups Projects
Commit ef423c9d authored by Wiarda, Dorothea's avatar Wiarda, Dorothea
Browse files

Do not use getIsotopeForShared except internal to DerivativeList.

The current exception is mxct02, as we set up the
shared data in that function
parent 15ee5f4c
No related branches found
No related tags found
No related merge requests found
......@@ -245,15 +245,17 @@ module dop1_m
DO Iso=1,Niniso
! update cross section (ipar=0) as well as derivatives
DO Ipar=0,Ndasig+Ndbsig
ii = derivs%getIsotopeForShared(Ipar)
if (ii.gt.0.and.ii.ne.Iso) cycle
DO N=1,Nnnsig
val = derivs%getDataNsOld(J, N, Ipar, iso)
call derivs%addDataNsOld(Jj, N, Ipar, iso, val)
if (val.ne.0.0d0) then
call derivs%addDataNsOld(Jj, N, Ipar, iso, val)
end if
IF (Ksindi.NE.0.and.N.eq.1) THEN ! self indicated cross section only has 1 section
val = derivsSelf%getDataNsOld(J, N, Ipar, iso)
call derivsSelf%addDataNsOld(Jj, N, Ipar, iso, val)
if( val.ne.0.0d0) then
call derivsSelf%addDataNsOld(Jj, N, Ipar, iso, val)
end if
end if
end do
END DO
......
......@@ -162,22 +162,25 @@ C
C
DO Iso=1,calcData%getNumberIsotopes()
! update cross section (ipar=0) as well as derivatives
DO Ipar=0,Ndasig+Ndbsig
ii = calcData%getIsotopeForShared(Ipar)
if (ii.gt.0.and.ii.ne.Iso) cycle
DO Ipar=0,Ndasig+Ndbsig
DO N=1,calcData%getNnnsig()
val1 = calcData%getDataNs(Iw1, N, Ipar, Iso)
val2 = calcData%getDataNs(Iw2, N, Ipar, Iso)
val3 = calcData%getDataNs(Iw3, N, Ipar, Iso)
val = Fa1*val1 - Fa2*val2 + Fa3*val3
call calcData%addDataNsOld(Idat, N, Ipar, Iso, val)
if(val.ne.0.0d0) then
call calcData%addDataNsOld(Idat, N, Ipar, Iso, val)
end if
IF (Ksindi.NE.0.and.N.eq.1) THEN
val1 = calcDataSelf%getDataNs(Iw1, N, Ipar, Iso)
val2 = calcDataSelf%getDataNs(Iw2, N, Ipar, Iso)
val3 = calcDataSelf%getDataNs(Iw3, N, Ipar, Iso)
val = Fa1*val1 - Fa2*val2 + Fa3*val3
call calcDataSelf%addDataNsOld(Idat, N, Ipar, Iso, val)
if(val.ne.0.0d0) then
call calcDataSelf%addDataNsOld(Idat, N,
* Ipar, Iso, val)
end if
end if
END DO
END DO
......
......@@ -172,17 +172,17 @@ C
val = val + Aa*val2
call calcData%addDataNs(J, 1, 0, 1, val)
IF (Ksolve.NE.2) then
DO Ipar=1,Ndasig + Ndbsig
ii = calcData%getIsotopeForShared(Ipar)
if (ii.gt.0.and.ii.ne.Iso) cycle
DO Ipar=1,Ndasig + Ndbsig
deriv = 0.0d0
if (i.gt.1) then
deriv = calcData%getDataNsOld(I-1, 1,
* Ipar, Iso)
end if
val = calcData%getDataNs(J, 1, Ipar, Iso) +
* Aa*deriv
call calcData%addDataNs(J, 1, Ipar, Iso, val)
if (deriv.ne.0.0d0) then
val = calcData%getDataNs(J, 1, Ipar, Iso) +
* Aa*deriv
call calcData%addDataNs(J, 1, Ipar, Iso, val)
end if
END DO
END IF
END DO
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment