libGHP.pl
author Andreas Thurnherr <ant@ldeo.columbia.edu>
Mon, 13 Apr 2020 11:06:22 -0400
changeset 40 c1803ae2540f
parent 3 55a8c407d38e
child 46 70e566505a12
permissions -rw-r--r--
.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     1
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     2
#                    L I B G H P . P L 
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     3
#                    doc: Fri Sep  7 09:56:08 2012
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     4
#                    dlm: Mon Oct 22 13:10:47 2012
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     5
#                    (c) 2012 A.M. Thurnherr
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     6
#                    uE-Info: 11 0 NIL 0 0 72 2 2 4 NIL ofnI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     7
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     8
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     9
# HISTORY:
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    10
#	Sep  7, 2012: - created
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    11
#	Oct 22, 2012: - cosmetics
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    12
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    13
require "$ANTS/libfuns.pl";		# arccosh
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    14
require "$ANTS/libGM.pl";		# GM_N0
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    15
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    16
#----------------------------------------------------------------------------
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    17
# h(R_omega)	correction factor for different shear/strain (R_omega) ratios
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    18
#	- this version from Kunze et al. (2006)
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    19
#	- R_omega:
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    20
#		= (N^2-omega^2)/N^2 (omega^2+f^2)/(omega^2-f^2)	Polzin et al. 1995
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    21
#		= (omega^2+f^2)/(omega^2-f^2)					Kunze et al. 2006
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    22
#		- the Kunze et al formulation is presumably an approximation valid for
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    23
#		  omega<<N
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    24
#----------------------------------------------------------------------------
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    25
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    26
sub h1($)
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    27
{
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    28
	my($R_omega) = @_;
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    29
	return 3*($R_omega+1) / (2*sqrt(2)*$R_omega*sqrt($R_omega-1));
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    30
}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    31
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    32
#----------------------------------------------------------------------------
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    33
# j(f,N)	correction factor for latitude
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    34
#	- this version from Kunze et al. (2006)
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    35
#----------------------------------------------------------------------------
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    36
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    37
sub j(@)
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    38
{
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    39
	my($f,$N) = @_;
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    40
	return 0 if ($f == 0);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    41
	$N = $GM_N0 unless defined($N);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    42
	my($f30) = &f(30);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    43
	return $f*acosh($N/$f) / ($f30*acosh($GM_N0/$f30));
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    44
}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    45
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    46
1;