This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Can Water Hammer do transient analysis for one zone in the model?

I'm using Water Hammer to perform a transient analysis for a new pipe line.  The model is a large one (over 150,000 pipes) with many different water zones.  Is it possible that I use the entire model to get the initial conditions but only do transient analysis for a particular zone?  I can export that zone as a submodel and apply the initial boundary conditions to the submodel to reduce the pipe numbers, though I wonder if there is a way to do this using the full model, i.e. only run transient analysis for that zone with the full model file.

Thanks!

 

Lijie 

Parents
  • Mark,

    Thanks for the detailed guidance. If I use the approach of active topology, will the initial conditions be computed only with the active components in the scenario? For example, I have a zone with a bunch of PRV connections and a pump within this zone. How do I make sure the initial conditions for these PRVs are correct if I have only included this zone with associated PRVs in the active topology?

    I wonder if the initial conditions can be computed in the full model, then exported and imported to a submodel or a different scenario.

    Thanks again!

    Lijie
  • Yes, the initial conditions calculation (steady state or EPS) will only compute the active elements. Making an element inactive essentially deletes it from the perspective of the calculations (it acts as if the element is not there).

    The tricky part is deciding what to assume at the connection points - the boundary between the active and inactive part of the model that you'll be doing a transient analysis on. It might help to see a screenshot or diagram of the zone example you mentioned, but it sounds like the system upstream of the PRVs would be made inactive? In that case, you'd have to estimate what to place as a boundary condition to feed those PRVs. You might decide that a reservoir would be an appropriate replacement for transient analysis purposes (elevation set to HGL at the connection point), or perhaps a skeletonized version of the piping back to the actual source. Any new piping, reservoir, etc that you place for this purpose could be made inactive in the other scenarios (the ones you use for normal steady state/EPS runs with the full model made active) Be mindful of how transient waves will reflect from these boundary conditions; since wave interactions can be complex, it could sometimes skew the transient results.

    Typically a transient simulation model consists of a fairly linear path of piping, sometimes the trunk main or other area that would be expected to have the biggest impact by a transient event. As you move further out into a distribution system, looping typically dampens out the transient effects. Of course, you could in theory model the entire system, but that often takes quite a bit of clean up work in order to ensure all of those elements are ready for a transient simulation. A transient simulation can be very sensitive to modeling artifacts and other things that may not have an impact on the results you typically care about in a regular steady state or EPS.

    Here is one other possible option you could look into, although advanced:

    1) Set the "Specify Initial Conditions?" transient calculation option to "true". This exposes some data input fields for most elements, allowing you to manually enter the initial conditions for a transient run (as opposed to getting them from a computed steady state or EPS). This is mainly a legacy option but can sometimes be useful in certain situations.
    2) Compute initial conditions with the full model (everything active)
    3) Use the Copy Initial Conditions tool (under the Tools menu) to copy the computed results to the user-input fields exposed by step 1.
    4) Make the part of the model you're not interested inactive (this assumes you have the separate scenario and active topology alternative set already.)
    5) Clean up the connection points by inserting elements as needed (discussed above). For example if you want one connection to start at a PRV, make the PRV, the upstream system and the next downstream pipe inactive, place a reservoir at a small tee pipe connecting to the next downstream (active) junction, with elevation set equal to the HGL downstream of the PRV (likely the PRV setting). Or, instead of assuming a fixed HGL as the boundary, you could assume a pressure-dependent inflow, by setting the "Flow (Typical)" field (this is exposed by setting the "specify initial conditions?" calculation option to "true") in the properties of the first active junction equal to the flow in the downstream pipe from the full initial conditions calculation, with a negative sign (to model an inflow). For example if the PRV feeds 100 L/s, enter -100 L/s for the "Flow (Typical)" in the upstream junction.

    Again, this is a bit of an advanced workflow and not one I've tested myself, but I wanted to mention all the options I could think of.

    If you're unsure of how the transient waves will interact with the particular assumption you've made for the connection point(s), try both ways and compare results. Make sure the "generate animation data" transient calculation option is set to True, create some profiles and look closely at the animation in the Transient Results Viewer.


    Regards,

    Jesse Dringoli
    Technical Support Manager, OpenFlows
    Bentley Communities Site Administrator
    Bentley Systems, Inc.

  • Jessi,

    Thanks for the insightful suggestions. This is very interesting.

    After I set "Specify Initial Conditions" to "true", computed initial conditions, and then copied the initial conditions for a certain time step (for example at Time 4 hrs), consequently I got the notice of how many elements were affected. Does that mean the initial conditions at Time 4 hrs were assigned to the current scenario automatically? I did see some additional properties exposed under Transient (Initial).

    Is there a way that I can copy the initial conditions of this scenario (i.e. full model) to another scenario (i.e. with different active topology)?

    Do I still need to change "Initialize Transient at Time (hours)" to "4" before compute initial conditions? Probably yes if I need to use demands at that time step, right?

    What I did for the submodel is to still keep the PRV active and add a reservoir upstream of the PRV, then set the elevation equal to the average hydraulic grade (over 24hrs) obtained from initial condition calculation. Then I set "Initialize Transient at Time (hours)" to "4" to use the demand at that time step. Any comments on this?

    Thanks!

    Lijie
  • Please see imbedded comments below:

    After I set "Specify Initial Conditions" to "true", computed initial conditions, and then copied the initial conditions for a certain time step (for example at Time 4 hrs), consequently I got the notice of how many elements were affected. Does that mean the initial conditions at Time 4 hrs were assigned to the current scenario automatically? I did see some additional properties exposed under Transient (Initial).

    [Jesse] When you use the copy initial conditions tools, it takes all the hydraulic results from the initial conditions at the selected time (see dropdown at the top of the tool) and populates those extra data entry fields you noticed. Setting the "specify initial conditions" option to "true" then tells HAMMER to use those results (the ones in the new fields) as the initial conditions, not the calculated values.

    Is there a way that I can copy the initial conditions of this scenario (i.e. full model) to another scenario (i.e. with different active topology)?

    [Jesse] the custom initial conditions are stored in the Transient alternative so yes, as long as your new scenario uses the same transient alternative (or a child of one) then it should use those same settings.

    Do I still need to change "Initialize Transient at Time (hours)" to "4" before compute initial conditions? Probably yes if I need to use demands at that time step, right?

    [Jesse] No. See above - when the "specify initial conditions" option is set to true, it always uses the custom initial conditions fields (the new fields that you see in the properties) as the basis for the initial conditions of the transient run. If you set the time to 4 hours in the copy initial conditions tool, those custom initial conditions will be set to the initial conditions from hour 4.

    What I did for the submodel is to still keep the PRV active and add a reservoir upstream of the PRV, then set the elevation equal to the average hydraulic grade (over 24hrs) obtained from initial condition calculation. Then I set "Initialize Transient at Time (hours)" to "4" to use the demand at that time step. Any comments on this?

    [Jesse] that sounds reasonable to me, as long as you're OK with how the transient waves will reflect off the reservoir. It won't be quite the same as it would be in the real system since the waves would travel further upstream.

     

    Here's a related discussion I found (try searching, you may find more):

    http://communities.bentley.com/products/hydraulics___hydrology/f/5925/t/102814#pi20068filter=all&pi20068scroll=false


    Regards,

    Jesse Dringoli
    Technical Support Manager, OpenFlows
    Bentley Communities Site Administrator
    Bentley Systems, Inc.

    Answer Verified By: Sushma Choure 

Reply
  • Please see imbedded comments below:

    After I set "Specify Initial Conditions" to "true", computed initial conditions, and then copied the initial conditions for a certain time step (for example at Time 4 hrs), consequently I got the notice of how many elements were affected. Does that mean the initial conditions at Time 4 hrs were assigned to the current scenario automatically? I did see some additional properties exposed under Transient (Initial).

    [Jesse] When you use the copy initial conditions tools, it takes all the hydraulic results from the initial conditions at the selected time (see dropdown at the top of the tool) and populates those extra data entry fields you noticed. Setting the "specify initial conditions" option to "true" then tells HAMMER to use those results (the ones in the new fields) as the initial conditions, not the calculated values.

    Is there a way that I can copy the initial conditions of this scenario (i.e. full model) to another scenario (i.e. with different active topology)?

    [Jesse] the custom initial conditions are stored in the Transient alternative so yes, as long as your new scenario uses the same transient alternative (or a child of one) then it should use those same settings.

    Do I still need to change "Initialize Transient at Time (hours)" to "4" before compute initial conditions? Probably yes if I need to use demands at that time step, right?

    [Jesse] No. See above - when the "specify initial conditions" option is set to true, it always uses the custom initial conditions fields (the new fields that you see in the properties) as the basis for the initial conditions of the transient run. If you set the time to 4 hours in the copy initial conditions tool, those custom initial conditions will be set to the initial conditions from hour 4.

    What I did for the submodel is to still keep the PRV active and add a reservoir upstream of the PRV, then set the elevation equal to the average hydraulic grade (over 24hrs) obtained from initial condition calculation. Then I set "Initialize Transient at Time (hours)" to "4" to use the demand at that time step. Any comments on this?

    [Jesse] that sounds reasonable to me, as long as you're OK with how the transient waves will reflect off the reservoir. It won't be quite the same as it would be in the real system since the waves would travel further upstream.

     

    Here's a related discussion I found (try searching, you may find more):

    http://communities.bentley.com/products/hydraulics___hydrology/f/5925/t/102814#pi20068filter=all&pi20068scroll=false


    Regards,

    Jesse Dringoli
    Technical Support Manager, OpenFlows
    Bentley Communities Site Administrator
    Bentley Systems, Inc.

    Answer Verified By: Sushma Choure 

Children
  • Jesse,

    Thanks for the elaborated comments! I have been thinking about using this approach, though the model I have is too big and too complicated to test it. So for now I'll be still using the submodel approach and it has worked so far.

    Hopefully some more advanced training courses can be added to learn.bentley.com related to Water Hammer.

    Thanks for everyone's help!

    Lijie
  • Thanks for the feedback. Incidentally, one of the topics I'll be touching on during this Wednesday's Water Special Interest Group meeting is related to preparing a model for use with HAMMER. I won't be going into great detail on the different approaches, but you may want to consider joining us. See more here:

    communities.bentley.com/.../111029


    Regards,

    Jesse Dringoli
    Technical Support Manager, OpenFlows
    Bentley Communities Site Administrator
    Bentley Systems, Inc.