Home > utilities > ST_taucr.m

ST_taucr

PURPOSE ^

Calculate critical shear stress in Pascals (equivalent to N/m^2)

SYNOPSIS ^

function [taucr] = ST_taucr(d,varargin)

DESCRIPTION ^

 Calculate critical shear stress in Pascals (equivalent to N/m^2)

 function [wset] = ST_taucr(d,varargin)

 DESCRIPTION:
 Calculate critical shear stress for threshold of motion in Pa

 INPUT:
    d: sediment grain size in m
    [optional] 'temperature' = temperature of the seawater in C [default=10]
    [optional] 'salinity'    = salinity of seawater in PSU      [default=35]
    [optional] 'sdens'       = sediment density in kg/m^3       [default=2650]

 OUTPUT:
    taucr:  critical shear stress in N/m^2

 EXAMPLE USAGE
    TCR = ST_taucr(.0005,'temperature',10,'salinity',35,'sdens',2650)

 Author(s):
    Geoff Cowles (University of Massachusetts Dartmouth)
    Pierre Cazenave (Plymouth Marine Laboratory)

 References
    Soulsby Dynamics of Marine Sands (SC77)

 Revision history
    2017-03-27 Add support for matrices.
==============================================================================

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [taucr] = ST_taucr(d,varargin)
0002 % Calculate critical shear stress in Pascals (equivalent to N/m^2)
0003 %
0004 % function [wset] = ST_taucr(d,varargin)
0005 %
0006 % DESCRIPTION:
0007 % Calculate critical shear stress for threshold of motion in Pa
0008 %
0009 % INPUT:
0010 %    d: sediment grain size in m
0011 %    [optional] 'temperature' = temperature of the seawater in C [default=10]
0012 %    [optional] 'salinity'    = salinity of seawater in PSU      [default=35]
0013 %    [optional] 'sdens'       = sediment density in kg/m^3       [default=2650]
0014 %
0015 % OUTPUT:
0016 %    taucr:  critical shear stress in N/m^2
0017 %
0018 % EXAMPLE USAGE
0019 %    TCR = ST_taucr(.0005,'temperature',10,'salinity',35,'sdens',2650)
0020 %
0021 % Author(s):
0022 %    Geoff Cowles (University of Massachusetts Dartmouth)
0023 %    Pierre Cazenave (Plymouth Marine Laboratory)
0024 %
0025 % References
0026 %    Soulsby Dynamics of Marine Sands (SC77)
0027 %
0028 % Revision history
0029 %    2017-03-27 Add support for matrices.
0030 %==============================================================================
0031 
0032 global ftbverbose
0033 [~, subname] = fileparts(mfilename('fullpath'));
0034 if ftbverbose
0035     fprintf('\nbegin : %s\n', subname)
0036 end
0037 
0038 % constants
0039 grav  = 9.8106;   %g
0040 T     = 10;       %T (C)
0041 S     = 35;       %S (PSU)
0042 sdens = 2650;     %sediment density in kg/m^3
0043 
0044 % parse arguments
0045 for i=1:2:length(varargin)-1
0046         keyword  = lower(varargin{i});
0047         if( ~ischar(keyword) )
0048                 error('incorrect usage of ST_wset')
0049         end;
0050 
0051         switch(keyword(1:3))
0052 
0053         case 'tem'
0054              T = varargin{i+1};
0055         case 'sal'
0056              S = varargin{i+1};
0057         case 'sde'
0058              sdens = varargin{i+1};
0059         otherwise
0060                 error(['Can''t understand value for:' keyword]);
0061         end; %switch keyword
0062 end;
0063 
0064 
0065 % calculate rho
0066 dens = SW_Density(T,S);
0067 
0068 % calculate dstar
0069 dstar = ST_Dstar(d, 'temp', T, 'sal', S, 'sdens', sdens);
0070 
0071 % calculate theta_cr and then taucr
0072 if ismatrix(dstar)
0073     theta_cr = (0.30./(1+1.2.*dstar)) + 0.055.*[1 - exp(-.020.*dstar)];
0074     taucr = theta_cr.*grav.*(sdens-dens).*d;
0075 else
0076     theta_cr = (0.30/(1+1.2*dstar)) + 0.055*[1 - exp(-.020*dstar)];
0077     taucr = theta_cr*grav*(sdens-dens)*d;
0078 end
0079 
0080 if ftbverbose
0081     fprintf('end   : %s\n', subname)
0082 end

Generated on Wed 20-Feb-2019 16:06:01 by m2html © 2005