Re-adding the list. MUKKUND SUNJII <[email protected]> writes:
> Apologies, I understand your point about the non-wall domain. > > However, I am interested in what is happening on the other side of the dam > (the reservoir). > > Furthermore, I suppose in the non-wall domain, the boundary condition would > change with respect to the height of the water in the reservoir. Oh, you want this to be a wall that water can slosh over? I'd recommend using a formulation with variable bathymetry and looking at well-balanced schemes. Also read up on Riemann solvers capable of wetting and drying. I wouldn't treat it as a "boundary". > Regards, > > Mukkund > >> On 8 Jun 2020, at 22:05, MUKKUND SUNJII <[email protected]> wrote: >> >> I am not familiar with the non-wall domain. >> >> Would you be kind enough to direct me to an tutorial or a test file in the >> repo? >> >> Regards, >> >> Mukkund >> >>> On 8 Jun 2020, at 22:02, Jed Brown <[email protected]> wrote: >>> >>> MUKKUND SUNJII <[email protected]> writes: >>> >>>> Greetings, >>>> >>>> I am working on modifying the shallow water model in ex11 for the purpose >>>> of my thesis. >>>> >>>> I wish to run a specific dam break scenario using this model. In the >>>> scenario, the velocity fields of certain cells must be constrained. That >>>> is I want to create an “artificial wall” inside the domain by constraining >>>> the value [uh] to not change. >>> >>> Why not make your unstructured mesh be the non-wall domain? That way >>> you don't have to constrain cell values and you can (correctly) make the >>> (reconstructed) zero velocity occur at the cell boundary rather than the >>> cell interior. >>> >>>> For this purpose, I tried creating a separate label in the DM. Further, I >>>> added the cells whose velocity values I wanted to constrain to the label >>>> using the routine : DMLabelSetValue(labelWall, c, 100); >>>> >>>> Next, in the routine where the boundary conditions are set, I pass a >>>> separate command : >>>> >>>> PetscDSAddBoundary(prob, DM_BC_ESSENTIAL, "wall", "DamWall", 0, 1, &comp, >>>> (void (*)(void)) PhysicsBoundary_Dam_Wall, sizeof(damWallids), >>>> &damWallids, phys); >>>> >>>> Ofcourse, in the function PhysicsBoundary_Dam_Wall() I set the vector >>>> value of [uh] to 0. When I do run the program, I do not see any of this in >>>> play (i.e., the values are not being constrained). >>>> >>>> Is there a smarter way to go about this or would you suggest a correction >>>> in my current method? >>>> >>>> Thank you in advance for your wonderful suggestions and work! >>>> >>>> Regards, >>>> >>>> Mukkund Sunjii >>
