Updating side boundaries with two free surfaces

Extension of Elmer in computational glaciology
Post Reply
lstevens
Posts: 1
Joined: 26 Apr 2018, 20:53
Antispam: Yes

Updating side boundaries with two free surfaces

Post by lstevens »

Hello All,

I am attempting to model a 2D section (x and z, across flow) of a floating ice shelf.

In my model set up, I define both the ice shelf surface (hs) and ice shelf base (hb) as free surfaces, whose position in z changes with accumulation and basal melt, respectively. I keep the x-location of the right and left hand sides fixed, as I want my 2D slice of the ice shelf to not be able to grow outwards to the sides. However, I do want the right and left boundaries to be able to change their position in z to match the ice shelf surface and ice shelf base.

I am not able to achieve this at present by updating the mesh along the RHS and LHS (but I could be doing the update incorrectly). The extent of the LHS and RHS stays fixed in z- while the free surface ice shelf base, for example, moves down in z, resulting in a discontinuity at the corner which is compensated for across a few corner elements.

I have attached the .sif file (BCs at the bottom) and .grd files I am using below, as well as a figure showing the issues at the corners:
example figure: note rounding on bottom right and left corners, as well as funkiness on top right and left corners.
example figure: note rounding on bottom right and left corners, as well as funkiness on top right and left corners.
Screen Shot 2018-04-26 at 2.45.38 PM.png (18.94 KiB) Viewed 4364 times
How can I update the left and right boundaries in z such that they span the distance from the ice shelf surface to the ice shelf base?

Thanks for your help and time,
Laura
Attachments
mesh.grd
mesh.grd
(591 Bytes) Downloaded 459 times
Case.sif
Case.sif
(14.41 KiB) Downloaded 470 times
gagliar
Posts: 79
Joined: 04 Sep 2009, 16:34
Location: LGGE - Grenoble
Contact:

Re: Updating side boundaries with two free surfaces

Post by gagliar »

Hi Laura,

First, I would suggest to use the StructuredMeshMapper solver instead of the old MeshUpdate one. See for an example the Tests GL_MISMIP in [ELMER_TRUNK]/elmerice/Tests/GL_MISMIP.

Second, I think the only conditions for the right and left boundaries are "Velocity 1 = Real 0.0" and "Mesh Update 1 = Real 0.0". Indeed, the External Pressure will apply a load perpendicular to the boundary (horizontal) with no effect as the velocity is prescribed in that direction. For the Mesh Update 2 condition, it is not correct (and not also not needed as already accounted in the top and bottom boundaries). It is not correct because you only prescribe the bottom Mesh Update 2, and the variables hb and hbREF are only known on the bottom surface so that for the upper node of the right and left boundaries, the condition

Code: Select all

 Mesh Update 2 = Variable hb, hbREF
    Real MATC "tx(0)-tx(1)"
certainly reduces to

Code: Select all

Mesh Update 2 = 0.0
In other words, try it with:

Code: Select all

Boundary Condition 3
  name = Left
  Target Boundaries = 2
  Velocity 1 = Real 0.0
  Mesh Update 1 = Real 0.0
  Save Line = Logical False
End


Boundary Condition 4
  name = Right
  Target Boundaries = 4
  Velocity 1 = Real 0.0
  Mesh Update 1 = Real 0.0
  Save Line = Logical False
End
Hope it helps,
Olivier
Post Reply