2020
2121
2222def flow_law (** kwargs ):
23+ r"""Return the symbolic form of the flow law, i.e. the relation between the
24+ strain rate and membrane stress tensors"""
2325 field_names = ("thickness" , "membrane_stress" , "velocity" , "test_function" )
2426 h , M , u , N = map (kwargs .get , field_names )
2527 A , n = map (kwargs .get , ("flow_law_coefficient" , "flow_law_exponent" ))
@@ -34,6 +36,8 @@ def flow_law(**kwargs):
3436
3537
3638def friction_law (** kwargs ):
39+ r"""Return the symbolic form of the sliding law, i.e. the relation between
40+ the basal sliding velocity and the basal drag vectors"""
3741 τ , u , σ = map (kwargs .get , ("basal_stress" , "velocity" , "test_function" ))
3842 K , m = map (kwargs .get , ("sliding_coefficient" , "sliding_exponent" ))
3943 τ_2 = inner (τ , τ )
@@ -42,6 +46,8 @@ def friction_law(**kwargs):
4246
4347
4448def calving_terminus (** kwargs ):
49+ r"""Return the symbolic form of the pressure exerted at the terminus of a
50+ glacier that flows into a water body"""
4551 h , s , v = map (kwargs .get , ("thickness" , "surface" , "test_function" ))
4652 outflow_ids = kwargs ["outflow_ids" ]
4753
@@ -58,6 +64,7 @@ def calving_terminus(**kwargs):
5864
5965
6066def momentum_balance (** kwargs ):
67+ r"""Return the symbolic form of the constraint of momentum balance"""
6168 field_names = (
6269 "membrane_stress" ,
6370 "basal_stress" ,
@@ -78,6 +85,12 @@ def momentum_balance(**kwargs):
7885
7986
8087def ice_shelf_momentum_balance (** kwargs ):
88+ r"""Return the symbolic form of the constraint of momentum balance for the
89+ special case of floating ice shelves in hydrostatic balance
90+
91+ Floating ice shelves are simpler because there is no basal shear stress
92+ and we assume the ice is hydrostatic, in which case the surface
93+ elevation is proportional to the thickness."""
8194 field_names = ("membrane_stress" , "thickness" , "test_function" )
8295 M , h , v = map (kwargs .get , field_names )
8396 ε = sym (grad (v ))
0 commit comments