woodward Posted October 19, 2009 Report Share Posted October 19, 2009 I have encountered a problem with flow model convergence when using a variable boundary condition for recharge in transient FEMWATER models. It occurs even when all bcs are constant and the correct steady-state flow solution is supplied as the initial condition. The variable boundary condition changes depending on the direction of flux (i.e. either into or out of the domain). FEMWATER seems to assume initially that the flux will be *out of* the domain ("ponding"). As a result the initial error is calculated as being large and it quickly iterates away from the initial condition we supply. It takes a long time to figure out that it has to change the variable boundary conditions from "ponding" to "rain", especially in a transient simulation, where it first tries to find convergence by reducing the time step.Inspecting the FEMWATER code, I think the place where the variable boundary condition flux is initially set is the following lines: INDRS(NPP,1)=NPBB(NI) INDRS(NPP,2)=0 INDRS(NPP,3)=0These lines occur twice, in the steady state and in the transient set up. INDRS(NPP,1) is the ponding flux and INDRS(NPP,3) is the rain flux. Flipping these occurs in SUBROUTINE BCPREP. Based on what happens in BCPREP, I changed these lines to: INDRS(NPP,1)=0 INDRS(NPP,2)=0 INDRS(NPP,3)=NPBB(NI)I am not 100% sure this is correct, there may be more to it, but it does appear to solve the problem. FEMWATER now seems to initially assume that the variable boundary condition is a "rain" condition, and it therefore recognises that the initial conditions are indeed already the solution to the flow problem, and the transient simulation can proceed.If my analysis is correct, I would think it would be worth making this change in the official code. Quote Link to comment Share on other sites More sharing options...

## Recommended Posts

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.