cape.pyover.lineLoad: Sectional loads module

This module contains functions for reading and processing sectional loads. It is a version of cape.cfdx.lineLoad that is closely tied to cape.pyover.dataBook.

It provides the primary class DBLineLoad, which is a subclass of cape.cfdx.dataBook.DBBase. This class is an interface to all line load data for a specific surface component.

For reading the sectional load for a single solution on one component (which includes multiple coefficients), there is another class CaseLL.

Finally, reading seam curves from individual cases utilizes the class CaseSeam.

See also:

Line load databook: pyOver.lineLoad.DBLineLoad

class cape.pyover.lineLoad.DBLineLoad(comp, cntl, conf=None, RootDir=None, **kw)

Line load (sectional load) data book for one group

Call:
>>> DBL = DBLineLoad(cntl, comp, conf=None, RootDir=None)
Inputs:
x: cape.runmatrix.RunMatrix

RunMatrix/run matrix interface

opts: cape.options.Options

Options interface

comp: str

Name of line load component

conf: {"None"} | cape.config.Config

Surface configuration interface

RootDir: {"None"} | str

Root directory for the configuration

Outputs:
DBL: pyOver.lineLoad.DBLineLoad

Instance of line load data book

DBL.nCut: int

Number of x-cuts to make, based on options in cart3d

DBL.RefL: float

Reference length

DBL.MRP: numpy.ndarray shape=(3,)

Moment reference center

DBL.x: numpy.ndarray shape=(nCut,)

Locations of x-cuts

DBL.CA: numpy.ndarray shape=(nCut,)

Axial force sectional load, d(CA)/d(x/RefL))

Versions:
  • 2015-09-16 @ddalle: First version

Case line load: pyOver.lineLoad.CaseLL

class cape.pyover.lineLoad.CaseLL(comp, proj='LineLoad', sec='dlds', **kw)

Individual class line load class

Call:
>>> LL = CaseLL(cart3d, i, comp)
Inputs:
cart3d: cape.pycart.cntl.Cntl

Master pyCart interface

i: int

Case index

comp: str

Name of line load group

Outputs:
LL: pyCart.lineLoad.CaseLL

Instance of individual case line load interface

LL.nCut: int

Number of x-cuts to make, based on options in cart3d

LL.nIter: int

Last iteration in line load file

LL.nStats: int

Number of iterations in line load file

LL.RefL: float

Reference length

LL.MRP: numpy.ndarray shape=(3,)

Moment reference center

LL.x: numpy.ndarray shape=(nCut,)

Locations of x-cuts

LL.CA: numpy.ndarray shape=(nCut,)

Axial force sectional load, d(CA)/d(x/RefL))

Versions:
  • 2015-09-16 @ddalle: First version

  • 2016-06-07 @ddalle: Subclassed

Line Load seam class: pyOver.lineLoad.CaseSeam

class cape.pyover.lineLoad.CaseSeam(fname, comp='entire', proj='LineLoad')

Seam curve interface

Call:
>>> S = CaseSeam(fname, comp='entire', proj='LineLoad')
Inputs:
fname: str

Name of file to read

comp: str

Name of the component

Outputs:
S cape.cfdx.lineLoad.CaseSeam

Seam curve interface

S.ax: "x" | "y" | "z"

Name of coordinate being held constant

S.x: float | {list (np.ndarray)}

x-coordinate or list of seam x-coordinate vectors

S.y: float | {list (np.ndarray)}

y-coordinate or list of seam y-coordinate vectors

S.z: {float} | list (np.ndarray)

z-coordinate or list of seam z-coordinate vectors

Versions:
  • 2016-06-09 @ddalle: First version

Unbound methods

cape.pyover.lineLoad.PreprocessTriqOverflow(DB, fq, fdir='lineload')

Perform any necessary preprocessing to create triq file

Call:
>>> PreprocessTriqOverflow(DB, fq)
Inputs:
DB: pyOver.dataBook.DBTriqFM | pyOver.lineLoad.DBLineLoad

TriqFM or line load data book

q: str

Name of q file

Versions:
  • 2016-12-20 @ddalle: First version

  • 2016-12-21 @ddalle: Added PBS

  • 2017-04-13 @ddalle: Wrote single version for LL and TriqFM