PyFlex  1.0
Riser cross section analysis
coefficients Namespace Reference

Functions

def analytical_contact_pressures (sigma, alpha, n, A, R, t, p_int, p_ext)
 
def critical_curvature (slenderobject, contact_pressure, frictionfactors=np.array([5, 5, 5]))
 
def local_bending (thickness, width, alpha, theta, phi, e, r, type, bend_model="Savik")
 
def tension_stress_history (t_eff, p_int, p_ext, alpha, R, thick, A, E, n)
 
def bending_stress_history (slenderobject, curvhist, ntheta=16, nphi=16, bend_model="Savik")
 
def stick_stress (model, curv, critcurv, theta=None)
 
def fric_stress (curv, eps_mat, sig_mat, midpoint)
 
def max_stickstress (model, critcurv)
 

Detailed Description

Copyright (C) 2016 Joakim A. Taby

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Function Documentation

def coefficients.analytical_contact_pressures (   sigma,
  alpha,
  n,
  A,
  R,
  t,
  p_int,
  p_ext 
)
Finding contact pressure from pressure differencial between layers. Using B1.23 from handbook, assuming
sliding occurs along midpoint between layers.

Definition at line 17 of file coefficients.py.

Here is the caller graph for this function:

def coefficients.bending_stress_history (   slenderobject,
  curvhist,
  ntheta = 16,
  nphi = 16,
  bend_model = "Savik" 
)
Calculates the stress history from time histories of curvatures and axial stress coefficient
:param bend_model: Which bend model to apply. Savik or Tan implemented
:param nphi: Number of points around tendon to perform calculation. 4 is used of rectangular
             tendon given.
:param ntheta: number of points around the cross section to perform calculation
:param slenderobject, instande of the Slender class
:param curvhist: numpy array containg each curvature time series as a column vector
:return: stress history for each point on defined in bendcoeff

Definition at line 209 of file coefficients.py.

Here is the call graph for this function:

Here is the caller graph for this function:

def coefficients.critical_curvature (   slenderobject,
  contact_pressure,
  frictionfactors = np.array([5, 5, 5]) 
)
Finding the critical curvature. Need to find where this is taken from.
:param frictionfactors: friction factors between layer and the layer inside
:param contact_pressure: contact line load. A matrix [2,nlayers] for outside and inside of layer
                      respectively
:param slenderobject: Object of slender type from the sledner class of slenders

Definition at line 72 of file coefficients.py.

Here is the caller graph for this function:

def coefficients.fric_stress (   curv,
  eps_mat,
  sig_mat,
  midpoint 
)
2D elastoplastic materialmodel with kinematic hardening
:param midpoint: the midpoint of the yield surface at simulation start
:param sig_mat: the stress at yield
:param eps_mat: the strain at yield
:param curv: curvature history 2xN
:return: Frictional stress

Definition at line 289 of file coefficients.py.

Here is the caller graph for this function:

def coefficients.local_bending (   thickness,
  width,
  alpha,
  theta,
  phi,
  e,
  r,
  type,
  bend_model = "Savik" 
)
Calculating the local bending coefficients
Equations from 'On stresses and fatigue in flexible pipes' by Savik 1992 and
'Validity and limitation of analytical models for the bending stress of a helical
wire in unbonded flexible pipes' Tang et.al. 2015

:param bend_model: Which bend model to apply. Savik or Tan implemented
:param e: Youngs modulus. One for each layer
:param geometry of the tendon. one item means circular, two means rectangular
:param alpha: lay_angle of slender structure, list
:param theta: position around the crossection for calculation, numpy vector
:param phi: local position for calculation of coefficient, numpy vector
:return:list of numpy arrays defining the coefficients for each layer

Definition at line 129 of file coefficients.py.

Here is the caller graph for this function:

def coefficients.max_stickstress (   model,
  critcurv 
)

Definition at line 332 of file coefficients.py.

Here is the caller graph for this function:

def coefficients.stick_stress (   model,
  curv,
  critcurv,
  theta = None 
)
Calculating the stick stress at position theta on the crossection, limited by the critical curvature.
Equations from 'Bending Behavior of Helically Wrapped Cables' Hong et.al. 2005
:param theta: Position around cross section range [0 2*pi]
:param critcurv: Critical curvature. Curvature at which slip initiates for each layer
:param curv: Curvature history Dim: 2xN
:param model: Slender object as defined in slenders.Slender

Definition at line 245 of file coefficients.py.

Here is the caller graph for this function:

def coefficients.tension_stress_history (   t_eff,
  p_int,
  p_ext,
  alpha,
  R,
  thick,
  A,
  E,
  n 
)
Solving for axial stress accorind got Handbook B1.10, B1.23 and B1.13

:param t_eff: history of effective tension
:param p_int: history of internal pressure
:param p_ext: history of external pressure
:param alpha: lay angles of the layers
:param R: radiuses of the layers
:param thick: thickness of the layers
:param A: Area of the tendons
:param E: young's modulus of the tendons
:param n: number of tendons in each layer
:return: numpy array with tension stress histories

Definition at line 171 of file coefficients.py.

Here is the caller graph for this function: