MODFLOW-USGS / mt3d-usgs

MT3D-USGS Repository
23 stars 12 forks source link

Constant concentration condition (ICBUND < 0) is not persistent #82

Open DarkForceOne opened 3 years ago

DarkForceOne commented 3 years ago

The block between line 327 and 338 of the ssm1.f should be removed.

emorway-usgs commented 3 years ago

@DarkForceOne If you have a small example problem demonstrating the problem, that would be helpful as we recall why this code was added? I can see that the block of code you are referring to (shown below) undoes a constant concentration condition specified in BTN when NTMP is specified as something great than 1 in SSM (otherwise, this code won't be triggered).

C-------RESET ICBUND TO ABS(ICBUND) FOR CONSTANT CONCENTRATION CELLS
        DO INDEX=1,NCOMP
          DO KK=1,NLAY
            DO II=1,NROW
              DO JJ=1,NCOL
                IF(ICBUND(JJ,II,KK,INDEX).LT.0) THEN
                  ICBUND(JJ,II,KK,INDEX)=ABS(ICBUND(JJ,II,KK,INDEX))
                ENDIF
              ENDDO
            ENDDO
          ENDDO
        ENDDO  

@vivekbedekar Do you recall why this code was added? It looks like if first showed up with a commit you made in 2015: constantc

DarkForceOne commented 3 years ago

Hello, In a project to test a GSFLOW-MT3D-USGS interface, I used a model with 192 stress periods and set a few cells to constant concentration condition with icbund=-1. This block of code was triggered when the simulation advanced to the second period, thus removing the constant concentration condition.

Best regards, Eric Chiang Simcore Software

On Aug 24, 2020, at 5:16 PM, Eric Morway notifications@github.com wrote:

 @DarkForceOne If you have a small example problem demonstrating the problem, that would be helpful as we recall why this code was added? I can see that the block of code you are referring to (shown below) undoes a constant concentration condition specified in BTN when NTMP is specified as something great than 1 in SSM (otherwise, this code won't be triggered).

C-------RESET ICBUND TO ABS(ICBUND) FOR CONSTANT CONCENTRATION CELLS DO INDEX=1,NCOMP DO KK=1,NLAY DO II=1,NROW DO JJ=1,NCOL IF(ICBUND(JJ,II,KK,INDEX).LT.0) THEN ICBUND(JJ,II,KK,INDEX)=ABS(ICBUND(JJ,II,KK,INDEX)) ENDIF ENDDO ENDDO ENDDO ENDDO
@vivekbedekar Do you recall why this code was added? It looks like if first showed up with a commit you made in 2015:

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

vivekbedekar commented 3 years ago

This code was specifically added to reset ICBUND at every stress period. In earlier versions, once a cell was defined ICBUND=-1 (prescribed/constant concentration boundary), it would remain ICBUND=-1 for the remainder of the simulation. There was no way to reset that. For instance, if a transient simulation needs the removal of a prescribed/constant concentration boundary, say due to removal of a source by dredging, it was not possible to do with the earlier versions.

This change to reset ICBUND at every stress period is also consistent with all other boundary conditions. If the user wants to continue using a boundary condition (including prescribed/constant concentration boundary), they need to actively do that.

Vivek

Sent from Outlookhttp://aka.ms/weboutlook


From: DarkForceOne notifications@github.com Sent: Tuesday, August 25, 2020 10:35 AM To: MODFLOW-USGS/mt3d-usgs mt3d-usgs@noreply.github.com Cc: vivekbedekar vivekbedekar@hotmail.com; Mention mention@noreply.github.com Subject: Re: [MODFLOW-USGS/mt3d-usgs] Constant concentration condition (ICBUND < 0) is not persistent (#82)

Hello, In a project to test a GSFLOW-MT3D-USGS interface, I used a model with 192 stress periods and set a few cells to constant concentration condition with icbund=-1. This block of code was triggered when the simulation advanced to the second period, thus removing the constant concentration condition.

Best regards, Eric Chiang Simcore Software

On Aug 24, 2020, at 5:16 PM, Eric Morway notifications@github.com wrote:

 @DarkForceOne If you have a small example problem demonstrating the problem, that would be helpful as we recall why this code was added? I can see that the block of code you are referring to (shown below) undoes a constant concentration condition specified in BTN when NTMP is specified as something great than 1 in SSM (otherwise, this code won't be triggered).

C-------RESET ICBUND TO ABS(ICBUND) FOR CONSTANT CONCENTRATION CELLS DO INDEX=1,NCOMP DO KK=1,NLAY DO II=1,NROW DO JJ=1,NCOL IF(ICBUND(JJ,II,KK,INDEX).LT.0) THEN ICBUND(JJ,II,KK,INDEX)=ABS(ICBUND(JJ,II,KK,INDEX)) ENDIF ENDDO ENDDO ENDDO ENDDO @vivekbedekar Do you recall why this code was added? It looks like if first showed up with a commit you made in 2015:

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/MODFLOW-USGS/mt3d-usgs/issues/82#issuecomment-680063900, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA5YRSH6EIHNDJCHRQJLS5TSCPD3NANCNFSM4QKATPEA.

emorway-usgs commented 3 years ago

@DarkForceOne Hi Eric, I think a work around for your case could be to set ICBUND=1 for the constant concentration cells and then in SSM input, you could set the ITYPE for your constant concentration cells equal to -1. Using this approach, the constant concentration condition will persist in multiple stress period simulations. If this solution works for you, would you mind closing this issue?