Greetings, I was indeed looking at implementing a model with variable bathymetry. It appears to be trickier than it seems.
Thank you for your suggestions. Regards, Mukkund > On 8 Jun 2020, at 22:18, Jed Brown <[email protected]> wrote: > > 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 >>>
