Ice viscous anisotropy

If ice grains are treated as transversely isotropic, the rheology of a single grain can be modeled as a transversely isotropic power law. This requires specifying the grain eigenenhancements \(E_{cc}'\) and \(E_{ca}'\) and the power law exponent \(n'\).

The grain parameters proposed by Rathmann and Lilien (2021) assume linear-viscous behavior of single crystals (\(n'=1\)) and promote the activation of basal glide by making that slip system soft compared to other systems: \(E_{ca}' > 1\), whereas \(E_{cc}'=1\). This reduces the problem to picking \(E_{ca}'\) and \(\alpha\) (Taylor—Sachs homogenization weight), which Rathmann and Lilien (2021) determined by requiring that deformation tests on strong single-maximum CPOs (aligned grains) are approximately reproduced; that is, \(E_{mt}=10\) and \(E_{mm}=0.01\).

The effect of choosing different \(E_{ca}'\) and \(\alpha\) (left panel) on the eigenenhancements of different CPO states (right panel) is shown below for combinations of \(E_{ca}'\) and \(\alpha\) that fulfill \(E_{mt}=10\) given a unidirectional CPO.

Clearly, there is a trade-off between how shear enhanced (\(E_{mt}\)) and how hard for axial compression (\(E_{mm}\)) the model allows a unidirectional CPO to be.

Code example

The below code shows how to calculate \(E_{ij}\) given \({\bf a}^{(4)}\) (or the state vector \(\bf s\)) and a set of grain parameters.

import numpy as np
from specfabpy import specfab as sf
lm, nlm_len = sf.init(8) 

### Synthetic unidirectional CPO (all c-axes aligned in z-direction)
m = np.array([0,0,1]) 
a4 = np.einsum('i,j,k,l', m,m,m,m) # 4-times repeated outer product of m
nlm = np.zeros((nlm_len), dtype=np.complex64)
nlm[:sf.L4len] = sf.a4_to_nlm(a4) # derive corresponding expansion coefficients

### Basis for enhancement factor calculations
(e1,e2,e3, eigvals) = sf.frame(nlm, 'e') # enhancement factors are w.r.t. a^(2) basis (i.e. eigenenhancements)
#(e1,e2,e3) = np.eye(3) # enhancement factors are w.r.t. Cartesian basis (x,y,z)

### Transversely isotropic monocrystal parameters for ice (Rathmann & Lilien, 2021)
n_grain   = 1        # power-law exponent: n=1 => linear grain rheology, nonlinear (n>1) is unsupported.
Eij_grain = (1, 1e3) # grain eigenenhancements (Ecc,Eca) for compression along c-axis (Ecc) and for shear parallel to basal plane (Eca)
alpha     = 0.0125   # Taylor--Sachs weight

### Calculate enhancement factors w.r.t. (e1,e2,e3)
Eij = sf.Eij_tranisotropic(nlm, e1,e2,e3, Eij_grain,alpha,n_grain) # Eij=(E11,E22,E33,E23,E13,E12)