methods Module

digraph inheritance4cc2c7d422 { bgcolor=transparent; rankdir=LR; size=""; "pyNastran.bdf.cards.base_card.BaseCard" [URL="pyNastran.bdf.cards.base_card.html#pyNastran.bdf.cards.base_card.BaseCard",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines a series of base methods for every card class"]; "pyNastran.bdf.cards.methods.EIGB" [URL="#pyNastran.bdf.cards.methods.EIGB",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines data needed to perform buckling analysis"]; "pyNastran.bdf.cards.methods.Method" -> "pyNastran.bdf.cards.methods.EIGB" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.methods.EIGC" [URL="#pyNastran.bdf.cards.methods.EIGC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines data needed to perform complex eigenvalue analysis"]; "pyNastran.bdf.cards.methods.Method" -> "pyNastran.bdf.cards.methods.EIGC" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.methods.EIGP" [URL="#pyNastran.bdf.cards.methods.EIGP",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines poles that are used in complex eigenvalue extraction by the"]; "pyNastran.bdf.cards.methods.Method" -> "pyNastran.bdf.cards.methods.EIGP" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.methods.EIGR" [URL="#pyNastran.bdf.cards.methods.EIGR",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines data needed to perform real eigenvalue analysis"]; "pyNastran.bdf.cards.methods.Method" -> "pyNastran.bdf.cards.methods.EIGR" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.methods.EIGRL" [URL="#pyNastran.bdf.cards.methods.EIGRL",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Defines data needed to perform real eigenvalue (vibration or buckling)"]; "pyNastran.bdf.cards.methods.Method" -> "pyNastran.bdf.cards.methods.EIGRL" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.methods.MODTRAK" [URL="#pyNastran.bdf.cards.methods.MODTRAK",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="MODTRAK SID LOWRNG HIGHRNG MTFILTER"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.methods.MODTRAK" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.methods.Method" [URL="#pyNastran.bdf.cards.methods.Method",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Generic class for all methods."]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.methods.Method" [arrowsize=0.5,style="setlinewidth(0.5)"]; }

All method cards are defined in this file. This includes:

  • EIGB

  • EIGC

  • EIGR

  • EIGP

  • EIGRL

All cards are Method objects.

class pyNastran.bdf.cards.methods.EIGB(sid, method, L1, L2, nep, ndp, ndn, norm, G, C, comment='')[source]

Bases: Method

Defines data needed to perform buckling analysis

L1

Eigenvalue range of interest. (Real, L1 < L2)

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds an EIGB card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]
method

Method of eigenvalue extraction. (Character: ‘INV’ for inverse power method or ‘SINV’ for enhanced inverse power method.) apparently it can also be blank…

ndp

Desired number of positive and negative roots. (Integer>0; Default = 3*NEP)

nep

Estimate of number of roots in positive range not used for METHOD = ‘SINV’. (Integer > 0)

norm

Method for normalizing eigenvectors. (‘MAX’ or ‘POINT’;Default=’MAX’)

raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

sid

Set identification number. (Unique Integer > 0)

type = 'EIGB'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

class pyNastran.bdf.cards.methods.EIGC(sid, method, grid, component, epsilon, neigenvalues, norm='MAX', mblkszs=None, iblkszs=None, ksteps=None, NJIs=None, alphaAjs=None, omegaAjs=None, alphaBjs=None, omegaBjs=None, LJs=None, NEJs=None, NDJs=None, shift_r1=None, shift_i1=None, isrr_flag=None, nd1=None, comment='')[source]

Bases: Method

Defines data needed to perform complex eigenvalue analysis .. todo: not done

inverse power

1

2

3

4

5

6

7

8

EIGC

SID

METHOD

EPS

ND0

ALPHAAj

OMEGAAj

ALPHABj

OMEGABj

Lj

NEj

NDj

complex Lanczos

1

2

3

4

5

6

7

8

SHIFTRj

SHIFTIj

MBLKSZj

IBLKSZj

KSTEPSj

NDj

iterative Schur-Rayleigh-Ritz

1

2

3

4

5

6

7

8

SHIFTR1

SHIFTI1

ISRRFLG

ND1

Creates a EIGC card, which is required for a SOL 107 analysis

Parameters:
sidint

CMETHOD id in the case control deck

methodstr
Method of complex eigenvalue extraction

MSC 2014 = [INV, HESS, CLAN, IRAM] NX 8.5 = [INV, HESS, CLAN, ISRR] Autodesk 2015 = [ARNO, HESS, CLAN] INV : Inverse Power IRAM : Implicitly Restarted Arnoldi method ISRR : Iterative Schur-Rayleigh-Ritz method CLAN : Complex Lanczos. For linear perturbation of ANALYSIS=DCEIG

with large displacement, CLAN is recommended.

HESSUpper Hessenberg. For linear perturbation of ANALYSIS=DCEIG

with large displacement, please don’t use HESS.

ARNO: ???

normstr; default=’MAX’

Method for normalizing eigenvectors valid_norm = {MAX, POINT}

gridint

GRID/SPOINT id Required if norm=’POINT’

componentint

Required if norm=’POINT’

epsilonfloat
neigenvaluesint

Number of Eigenvalues

mblkszslist[float]; default=None

used by CLAN

iblkszslist[int]; default=None

used by CLAN

kstepslist[int]; default=None

used by CLAN

NJIslist[int]; default=None

used by CLAN

alphaAjslist[float]; default=None

used by HESS/INV

omegaAjslist[float]; default=None

used by HESS/INV

alphaBjslist[float]; default=None

used by HESS/INV

omegaBjslist[float]; default=None

used by HESS/INV

LJslist[float]; default=None

used by HESS/INV

NEJslist[int]; default=None

used by HESS/INV

NDJslist[int]; default=None

used by HESS/INV

shift_r1list[float]; default=None

used by ISSR

shift_i1list[float]; default=None

used by ISSR

isrr_flaglist[int]; default=None

used by ISSR

nd1list[int]; default=None

used by ISSR

commentstr; default=’’

a comment for the card

C

Component number. Required only if NORM=’POINT’ and G is a geometric grid point. (1<Integer<6)

G

Grid or scalar point identification number. Required only if NORM=’POINT’. (Integer>0)

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds an EIGC card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]
epsilon

Convergence criterion. (Real > 0.0. Default values are: 10^-4 for METHOD = “INV”, 10^-8 for METHOD = “CLAN”, 10^-8 for METHOD = “ISRR”, 10^-15 for METHOD = “HESS”, E is machine dependent for METHOD = “CLAN”.)

method

Method of complex eigenvalue extraction MSC 2014 = [INV, HESS, CLAN, IRAM] NX 8.5 = [INV, HESS, CLAN, ISRR] Autodesk 2015 = [ARNO, HESS, CLAN]

norm

Method for normalizing eigenvectors

raw_fields()[source]
raw_method()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

repr_method()[source]
sid

Set identification number. (Unique Integer > 0)

type = 'EIGC'
validate()[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

class pyNastran.bdf.cards.methods.EIGP(sid, alpha1, omega1, m1, alpha2, omega2, m2, comment='')[source]

Bases: Method

Defines poles that are used in complex eigenvalue extraction by the Determinant method.

1

2

3

4

5

6

7

8

EIGP

SID

ALPHA1

OMEGA1

M1

ALPHA2

OMEGA2

M2

EIGP

15

-5.2

0.0

2

6.3

5.5

3

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds an EIGPX card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

alpha1

Coordinates of point in complex plane. (Real)

alpha2

Coordinates of point in complex plane. (Real)

cross_reference(model: BDF) None[source]
m1

Multiplicity of complex root at pole defined by point at ALPHAi and OMEGAi

m2

Multiplicity of complex root at pole defined by point at ALPHAi and OMEGAi

omega1

Coordinates of point in complex plane. (Real)

omega2

Coordinates of point in complex plane. (Real)

raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

sid

Set identification number. (Unique Integer > 0)

type = 'EIGP'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

class pyNastran.bdf.cards.methods.EIGR(sid, method='LAN', f1=None, f2=None, ne=None, nd=None, crit=None, norm='MASS', G=None, C=None, comment='')[source]

Bases: Method

Defines data needed to perform real eigenvalue analysis

# msc/nx | EIGR | SID | METH| F1 | F2 | NE | ND | | | | | NORM | G | C | | | | | |

# mystran | EIGR | SID | METH| F1 | F2 | NE | ND | | CRIT | | | NORM | G | C | | | | | |

Adds a EIGR card

Parameters:
sidint

method id

methodstr; default=’LAN’

eigenvalue method recommended: {LAN, AHOU} obsolete : {INV, SINV, GIV, MGIV, HOU, MHOU, AGIV}

f1 / f2float; default=None

lower/upper bound eigenvalue

f2float; default=None

upper bound eigenvalue

neint; default=None

estimate of number of roots (used for INV)

ndint; default=None

desired number of roots

critfloat; default=0.0

orthogonality criteria

msglvlint; default=0

debug level; 0-4

maxsetint; default=None

Number of vectors in block or set

shfsclfloat; default=None

estimate of first flexible mode natural frequency

normstr; default=None

{MAX, MASS, AF, POINT} default=MASS (NX)

Gint; default=None

node id for normalization; only for POINT

Cint; default=None

component for normalization (1-6); only for POINT

commentstr; default=’’

a comment for the card

C

Component number. Required only if NORM=’POINT’ and G is a geometric grid point. (1<Integer<6)

G

Grid or scalar point identification number. Required only if NORM=’POINT’. (Integer>0)

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds an EIGR card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

allowed_methods = ['LAN', 'AHOU', 'INV', 'SINV', 'GIV', 'MGIV', 'HOU', 'MHOU', 'AGIV']
crit

orthogonality criterion

cross_reference(model: BDF) None[source]
f1

Frequency range of interest

method

Method of eigenvalue extraction. (Character: ‘INV’ for inverse power method or ‘SINV’ for enhanced inverse power method.)

nd

Desired number of roots (default=600 for SINV 3*ne for INV)

ne

Estimate of number of roots in range (Required for METHOD = ‘INV’). Not used by ‘SINV’ method.

norm

Method for normalizing eigenvectors. (‘MAX’ or ‘POINT’; Default=’MAX’)

raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

sid

Set identification number. (Unique Integer > 0)

type = 'EIGR'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

class pyNastran.bdf.cards.methods.EIGRL(sid, v1=None, v2=None, nd=None, msglvl=0, maxset=None, shfscl=None, norm=None, options=None, values=None, comment='')[source]

Bases: Method

Defines data needed to perform real eigenvalue (vibration or buckling) analysis with the Lanczos method

1

2

3

4

5

6

7

8

9

EIGRL

SID

V1

V2

ND

MSGLVL

MAXSET

SHFSCL

NORM

option_1 = value_1 option_2 = value_2, etc.

Adds an EIGRL card

Parameters:
sidint

method id

v1float; default=None

lower bound eigenvalue

v2float; default=None

upper bound eigenvalue

ndint

number of roots

msglvlint; default=0

debug level; 0-4

maxsetint; default=None

Number of vectors in block or set

shfsclfloat; default=None

estimate of first flexible mode natural frequency

normstr; default=None

{MAX, MASS, AF}

optionslist[str]; default=None -> []

line 2 keys

valueslist[int | float | str]; default=None -> []

line 2 values

commentstr; default=’’

a comment for the card

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

Adds an EIGRL card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]
maxset

Number of vectors in block or set. Default is machine dependent

msglvl

Diagnostic level. (0 < Integer < 4; Default = 0)

nd

Number of roots desired

norm

Method for normalizing eigenvectors (Character: ‘MASS’ or ‘MAX’)

raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

shfscl

Estimate of the first flexible mode natural frequency (Real or blank)

sid

Set identification number. (Unique Integer > 0)

type = 'EIGRL'
v1

For vibration analysis: frequency range of interest. For buckling analysis: eigenvalue range of interest. See Remark 4. (Real or blank, -5 10e16 <= V1 < V2 <= 5.10e16)

validate()[source]

card checking method that should be overwritten

write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

class pyNastran.bdf.cards.methods.MODTRAK(sid: int, low_range: int, high_range: int, mt_filter: float, comment: str = '')[source]

Bases: BaseCard

MODTRAK SID LOWRNG HIGHRNG MTFILTER MODTRAK 100 1 26 0.80

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]
raw_fields() list[Any][source]
type = 'MODTRAK'
write_card(size: int = 8, is_double: bool = False) str[source]

Writes the card with the specified width and precision

Parameters:
sizeint (default=8)

size of the field; {8, 16}

is_doublebool (default=False)

is this card double precision

Returns:
msgstr

the string representation of the card

class pyNastran.bdf.cards.methods.Method[source]

Bases: BaseCard

Generic class for all methods. Part of self.methods

pyNastran.bdf.cards.methods._load_clan(nrows, card)[source]

loads complex Lanczos

pyNastran.bdf.cards.methods._load_hess_inv(nrows, method, card)[source]

loads inverse power

pyNastran.bdf.cards.methods._load_isrr(nrows, card)[source]

loads the iterative Schur-Rayleigh-Ritz