materials Module

digraph inheritanceec992aff57 { 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.base_card.Material" [URL="pyNastran.bdf.cards.base_card.html#pyNastran.bdf.cards.base_card.Material",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="Base Material Class"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.base_card.Material" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.AnisotropicMaterial" [URL="#pyNastran.bdf.cards.materials.AnisotropicMaterial",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="Anisotropic Material Class"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.AnisotropicMaterial" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.CREEP" [URL="#pyNastran.bdf.cards.materials.CREEP",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"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.CREEP" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.EQUIV" [URL="#pyNastran.bdf.cards.materials.EQUIV",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"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.EQUIV" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.HyperelasticMaterial" [URL="#pyNastran.bdf.cards.materials.HyperelasticMaterial",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="Hyperelastic Material Class"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.HyperelasticMaterial" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.IsotropicMaterial" [URL="#pyNastran.bdf.cards.materials.IsotropicMaterial",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="Isotropic Material Class"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.IsotropicMaterial" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT1" [URL="#pyNastran.bdf.cards.materials.MAT1",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 the material properties for linear isotropic materials."]; "pyNastran.bdf.cards.materials.IsotropicMaterial" -> "pyNastran.bdf.cards.materials.MAT1" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT10" [URL="#pyNastran.bdf.cards.materials.MAT10",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 material properties for fluid elements in coupled fluid-structural"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.MAT10" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT11" [URL="#pyNastran.bdf.cards.materials.MAT11",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 the material properties for a 3D orthotropic material for"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.MAT11" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT2" [URL="#pyNastran.bdf.cards.materials.MAT2",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 the material properties for linear anisotropic materials for"]; "pyNastran.bdf.cards.materials.AnisotropicMaterial" -> "pyNastran.bdf.cards.materials.MAT2" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT3" [URL="#pyNastran.bdf.cards.materials.MAT3",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 the material properties for linear orthotropic materials used by"]; "pyNastran.bdf.cards.materials.OrthotropicMaterial" -> "pyNastran.bdf.cards.materials.MAT3" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT3D" [URL="#pyNastran.bdf.cards.materials.MAT3D",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 the material properties for a 3D orthotropic material for"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.MAT3D" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT4" [URL="#pyNastran.bdf.cards.materials.MAT4",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 the constant or temperature-dependent thermal material properties"]; "pyNastran.bdf.cards.materials.ThermalMaterial" -> "pyNastran.bdf.cards.materials.MAT4" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT5" [URL="#pyNastran.bdf.cards.materials.MAT5",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 the thermal material properties for anisotropic materials."]; "pyNastran.bdf.cards.materials.ThermalMaterial" -> "pyNastran.bdf.cards.materials.MAT5" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT8" [URL="#pyNastran.bdf.cards.materials.MAT8",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 the material property for an orthotropic material for"]; "pyNastran.bdf.cards.materials.OrthotropicMaterial" -> "pyNastran.bdf.cards.materials.MAT8" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MAT9" [URL="#pyNastran.bdf.cards.materials.MAT9",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 the material properties for linear, temperature-independent,"]; "pyNastran.bdf.cards.materials.AnisotropicMaterial" -> "pyNastran.bdf.cards.materials.MAT9" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MATEV" [URL="#pyNastran.bdf.cards.materials.MATEV",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 the material properties for linear isotropic materials."]; "pyNastran.bdf.cards.materials.ViscoelasticMaterial" -> "pyNastran.bdf.cards.materials.MATEV" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MATG" [URL="#pyNastran.bdf.cards.materials.MATG",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="per MSC 2018.2"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.MATG" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MATHE" [URL="#pyNastran.bdf.cards.materials.MATHE",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="Creates a MATHE hyperelastic material"]; "pyNastran.bdf.cards.materials.HyperelasticMaterial" -> "pyNastran.bdf.cards.materials.MATHE" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.MATHP" [URL="#pyNastran.bdf.cards.materials.MATHP",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"]; "pyNastran.bdf.cards.materials.HyperelasticMaterial" -> "pyNastran.bdf.cards.materials.MATHP" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.NXSTRAT" [URL="#pyNastran.bdf.cards.materials.NXSTRAT",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="Strategy Parameters for SOLs 601 and 701"]; "pyNastran.bdf.cards.base_card.BaseCard" -> "pyNastran.bdf.cards.materials.NXSTRAT" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.OrthotropicMaterial" [URL="#pyNastran.bdf.cards.materials.OrthotropicMaterial",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="Orthotropic Material Class"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.OrthotropicMaterial" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.ThermalMaterial" [URL="#pyNastran.bdf.cards.materials.ThermalMaterial",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="Thermal Material Class"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.ThermalMaterial" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.bdf.cards.materials.ViscoelasticMaterial" [URL="#pyNastran.bdf.cards.materials.ViscoelasticMaterial",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="Viscoelastic Material Class"]; "pyNastran.bdf.cards.base_card.Material" -> "pyNastran.bdf.cards.materials.ViscoelasticMaterial" [arrowsize=0.5,style="setlinewidth(0.5)"]; }

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

  • CREEP

  • MAT1 (isotropic solid/shell)

  • MAT2 (anisotropic)

  • MAT3 (linear orthotropic)

  • MAT4 (thermal)

  • MAT5 (thermal)

  • MAT8 (orthotropic shell)

  • MAT9 (anisotropic solid)

  • MAT10 (fluid element)

  • MATHP (hyperelastic)

  • MATHE (hyperelastic)

All cards are Material objects.

class pyNastran.bdf.cards.materials.AnisotropicMaterial[source]

Bases: Material

Anisotropic Material Class

dummy init

class pyNastran.bdf.cards.materials.CREEP(mid, T0, exp, form, tidkp, tidcp, tidcs, thresh, Type, a, b, c, d, e, f, g, comment='')[source]

Bases: Material

dummy init

Mid()[source]

returns the material ID of an element

Returns:
midint

the Material ID

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

Adds a CREEP card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

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

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'CREEP'
uncross_reference() None[source]

Removes cross-reference links

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.materials.EQUIV(mid, field2, field3, field4, field5, field6, field7, comment='')[source]

Bases: Material

dummy init

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

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

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

mid

Identification number of a MAT1, MAT2, or MAT9 entry.

raw_fields()[source]
type = 'EQUIV'
class pyNastran.bdf.cards.materials.HyperelasticMaterial[source]

Bases: Material

Hyperelastic Material Class

dummy init

class pyNastran.bdf.cards.materials.IsotropicMaterial[source]

Bases: Material

Isotropic Material Class

dummy init

class pyNastran.bdf.cards.materials.MAT1(mid, E, G, nu, rho=0.0, a=0.0, tref=0.0, ge=0.0, St=0.0, Sc=0.0, Ss=0.0, mcsid=0, comment='')[source]

Bases: IsotropicMaterial

Defines the material properties for linear isotropic materials.

1

2

3

4

5

6

7

8

9

MAT1

MID

E

G

NU

RHO

A

TREF

GE

ST

SC

SS

MCSID

Creates a MAT1 card

Parameters:
midint

material id

Efloat / None

Young’s modulus

Gfloat / None

Shear modulus

nufloat / None

Poisson’s ratio

rhofloat; default=0.

density

afloat; default=0.

coefficient of thermal expansion

treffloat; default=0.

reference temperature

gefloat; default=0.

damping coefficient

St / Sc / Ssfloat; default=0.

tensile / compression / shear allowable

mcsidint; default=0

material coordinate system id used by PARAM,CURV

commentstr; default=’’

a comment for the card

If E, G, or nu is None (only 1), it will be calculated
D()[source]
E()[source]
E_stress(stress)[source]
E_temperature(temperature)[source]
G()[source]
Mats1()[source]
Matt1()[source]
Nu()[source]
Rho()[source]
_properties = ['_field_map', 'mp_name_map']
classmethod add_card(card, comment='')[source]

Adds a MAT1 card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

classmethod add_card_lax(card, comment='')[source]

see add_card

compliance()[source]

per AeroComBAT

cross_reference(model: BDF) None[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

classmethod export_to_hdf5(h5_file, model, mids)[source]

exports the materials in a vectorized way

get_density()[source]
mp_name_map = {'A': 'a', 'E': 'e', 'G': 'g', 'GE': 'ge', 'NU': 'nu', 'RHO': 'rho', 'SC': 'sc', 'SS': 'ss', 'ST': 'st', 'TREF': 'tref'}
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MAT1'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MAT10(mid, bulk=None, rho=None, c=None, ge=0.0, gamma=None, table_bulk=None, table_rho=None, table_ge=None, table_gamma=None, comment='')[source]

Bases: Material

Defines material properties for fluid elements in coupled fluid-structural analysis.

1

2

3

4

5

6

7

8

9

MAT10

MID

BULK

RHO

C

GE

ALPHA

per MSC 2016

1

2

3

4

5

6

7

8

9

MAT10

MID

BULK

RHO

C

GE

GAMMA

TID_BULK

TID_RHO

TID_GE

TID_GAMMA

per NX 10

..note :: alpha is called gamma

Creates a MAT10 card

Parameters:
midint

material id

bulkfloat; default=None

Bulk modulus

rhofloat; default=None

Density

cfloat; default=None

Speed of sound

gefloat; default=0.

Damping

gammafloat; default=None

NX : ratio of imaginary bulk modulus to real bulk modulus; default=0.0 MSC : normalized admittance coefficient for porous material

table_bulkint; default=None

TABLEDx entry defining bulk modulus vs. frequency None for MSC Nastran

table_rhoint; default=None

TABLEDx entry defining rho vs. frequency None for MSC Nastran

table_geint; default=None

TABLEDx entry defining ge vs. frequency None for MSC Nastran

table_gammaint; default=None

TABLEDx entry defining gamma vs. frequency None for MSC Nastran

commentstr; default=’’

a comment for the card

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

Adds a MAT10 card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

dummy cross reference method for a Material

get_density()[source]
mp_name_map = {'RHO': 'rho'}
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MAT10'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MAT11(mid, e1, e2, e3, nu12, nu13, nu23, g12, g13, g23, rho=0.0, a1=0.0, a2=0.0, a3=0.0, tref=0.0, ge=0.0, comment='')[source]

Bases: Material

Defines the material properties for a 3D orthotropic material for isoparametric solid elements.

1

2

3

4

5

6

7

8

9

MAT11

MID

E1

E2

E3

NU12

NU13

NU23

G12

G13

G23

RHO

A1

A2

A3

TREF

GE

dummy init

classmethod _init_from_empty()[source]
_properties = ['_field_map', 'mp_name_map']
_validate_input()[source]
classmethod add_card(card, comment='')[source]

Adds a MAT11 card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

get_density()[source]
mp_name_map = {'E1': 'e1', 'E2': 'e2', 'E3': 'e3'}
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MAT11'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MAT2(mid, G11, G12, G13, G22, G23, G33, rho=0.0, a1=None, a2=None, a3=None, tref=0.0, ge=0.0, St=None, Sc=None, Ss=None, mcsid=None, ge_matrix=None, comment='')[source]

Bases: AnisotropicMaterial

Defines the material properties for linear anisotropic materials for two-dimensional elements.

1

2

3

4

5

6

7

8

9

MAT2

MID

G11

G12

G13

G22

G23

G33

RHO

A1

A2

A3

TREF

GE

ST

SC

SS

MCSID

dummy init

Dplate()[source]

Eq 9.1.6 in Finite Element Method using Matlab

Dsolid()[source]

Eq 9.4.7 in Finite Element Method using Matlab

Rho()[source]
_properties = ['_field_map', 'mp_name_map']
classmethod add_card(card, comment='')[source]

Adds a MAT2 card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

classmethod export_to_hdf5(h5_file, model, mids)[source]

exports the materials in a vectorized way

get_density()[source]
mp_name_map = {'A1': 'a1', 'A2': 'a2', 'A3': 'a3', 'G11': 'G11', 'G12': 'G12', 'G13': 'G13', 'G22': 'G22', 'G23': 'G23', 'G33': 'G33', 'RHO': 'rho', 'TREF': 'tref'}
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MAT2'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MAT3(mid, ex, eth, ez, nuxth, nuthz, nuzx, rho=0.0, gzx=None, ax=0.0, ath=0.0, az=0.0, tref=0.0, ge=0.0, comment='')[source]

Bases: OrthotropicMaterial

Defines the material properties for linear orthotropic materials used by the CTRIAX6 element entry.

1

2

3

4

5

6

7

8

9

MAT3

MID

EX

ETH

EZ

NUXTH

NUTHZ

NUZX

RHO

GZX

AX

ATH

AZ

TREF

GE

dummy init

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

Adds a MAT3 card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

classmethod export_to_hdf5(h5_file, model, mids)[source]

exports the elements in a vectorized way

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

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MAT3'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MAT3D(mid, e1, e2, e3, nu12, nu13, nu23, g12, g13, g23, rho=0.0, comment='')[source]

Bases: Material

Defines the material properties for a 3D orthotropic material for isoparametric solid elements.

1

2

3

4

5

6

7

8

9

MAT3D

MID

E1

E2

E3

G12

G13

G23

NU12

NU12

NU13

NU23

RHO

This is a VABS specific card that is almost identical to the MAT11.

dummy init

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

Adds a MAT3D card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MAT3D'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MAT4(mid, k, cp=0.0, rho=1.0, H=None, mu=None, hgen=1.0, ref_enthalpy=None, tch=None, tdelta=None, qlat=None, comment='')[source]

Bases: ThermalMaterial

Defines the constant or temperature-dependent thermal material properties for conductivity, heat capacity, density, dynamic viscosity, heat generation, reference enthalpy, and latent heat associated with a single-phase change.

1

2

3

4

5

6

7

8

9

MAT4

MID

K

CP

RHO

MU

H

HGEN

REFENTH

TCH

TDELTA

QLAT

dummy init

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

Adds a MAT4 card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

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

Gets the fields in their simplified form

Returns:
fieldslist[varies]

the fields that define the card

type = 'MAT4'
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.materials.MAT5(mid, kxx=0.0, kxy=0.0, kxz=0.0, kyy=0.0, kyz=0.0, kzz=0.0, cp=0.0, rho=1.0, hgen=1.0, comment='')[source]

Bases: ThermalMaterial

Defines the thermal material properties for anisotropic materials.

1

2

3

4

5

6

7

8

9

MAT5

MID

KXX

KXY

KXZ

KYY

KYZ

KZZ

CP

RHO

HGEN

Creates a MAT5, which defines the thermal material properties for an anisotropic material

Parameters:
midint

material id

kxxfloat; default==0.

???

kxyfloat; default==0.

???

kxzfloat; default==0.

???

kyyfloat; default==0.

???

kyzfloat; default==0.

???

kzzfloat; default==0.

???

cpfloat; default==0.

???

rhofloat; default==1.

???

hgenfloat; default=1.

???

commentstr; default=’’

a comment for the card

K()[source]

thermal conductivity matrix

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

Adds a MAT5 card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

get_density()[source]
mid

Thermal conductivity (assumed default=0.0)

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

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MAT5'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MAT8(mid, e11, e22, nu12, g12=0.0, g1z=100000000.0, g2z=100000000.0, rho=0.0, a1=0.0, a2=0.0, tref=0.0, Xt=0.0, Xc=None, Yt=0.0, Yc=None, S=0.0, ge=0.0, F12=0.0, strn=0.0, comment='')[source]

Bases: OrthotropicMaterial

Defines the material property for an orthotropic material for isoparametric shell elements.

1

2

3

4

5

6

7

8

9

MAT8

MID

E1

E2

NU12

G12

G1Z

G2Z

RHO

A1

A2

TREF

Xt

Xc

Yt

Yc

S

GE1

F12

STRN

dummy init

D()[source]

Todo

what about G1z and G2z

E11()[source]
E22()[source]
G12()[source]
Matt8()[source]
Nu12()[source]
Rho()[source]
_properties = ['_field_map', 'mp_name_map']
classmethod add_card(card, comment='')[source]

Adds a MAT8 card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

classmethod export_to_hdf5(h5_file, model, mids)[source]

exports the materials in a vectorized way

get_density()[source]
mp_name_map = {'A1': 'a1', 'A2': 'a2', 'E1': 'e11', 'E2': 'e22', 'G12': 'g12', 'G1Z': 'g1z', 'NU12': 'nu12', 'RHO': 'rho'}
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MAT8'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MAT9(mid, G11=0.0, G12=0.0, G13=0.0, G14=0.0, G15=0.0, G16=0.0, G22=0.0, G23=0.0, G24=0.0, G25=0.0, G26=0.0, G33=0.0, G34=0.0, G35=0.0, G36=0.0, G44=0.0, G45=0.0, G46=0.0, G55=0.0, G56=0.0, G66=0.0, rho=0.0, A=None, tref=0.0, ge=0.0, comment='')[source]

Bases: AnisotropicMaterial

Defines the material properties for linear, temperature-independent, anisotropic materials for solid isoparametric elements

See also

PSOLID entry description

1

2

3

4

5

6

7

8

9

MAT9

MID

G11

G12

G13

G14

G15

G16

G22

G23

G24

G25

G26

G33

G34

G35

G36

G44

G45

G46

G55

G56

G66

RHO

A1

A2

A3

A4

A5

A6

TREF

GE

Warning

MSC 2020: gelist is not supported.

dummy init

D()[source]
Rho()[source]
_properties = ['_field_map', 'mp_name_map']
classmethod add_card(card, comment='')[source]

Adds a MAT9 card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

dummy cross reference method for a Material

classmethod export_to_hdf5(h5_file, model, mids)[source]

exports the elements in a vectorized way

mid

Material ID

mp_name_map = {'A1': 'A[0]', 'A2': 'A[1]', 'A3': 'A[2]', 'A4': 'A[3]', 'A5': 'A[4]', 'A6': 'A[5]', 'G11': 'G11', 'G12': 'G12', 'G13': 'G13', 'G14': 'G14', 'G15': 'G15', 'G16': 'G16', 'G22': 'G22', 'G23': 'G23', 'G24': 'G24', 'G25': 'G25', 'G26': 'G26', 'G33': 'G33', 'G34': 'G34', 'G35': 'G35', 'G36': 'G36', 'G44': 'G44', 'G45': 'G45', 'G46': 'G46', 'G55': 'G55', 'G56': 'G56', 'G66': 'G66', 'GE': 'ge', 'RHO': 'rho', 'TREF': 'tref'}
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MAT9'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MATEV(mid: int, gfunc: int, kfunc: int, rho: float = 0.0, alpha: float = 0.0, shift: int = 1, c1: float = 0.0, c2: float = 0.0, tref=0.0, comment='')[source]

Bases: ViscoelasticMaterial

Defines the material properties for linear isotropic materials.

1

2

3

4

5

6

7

8

9

MATVE

MID

GFUNC

KFUNC

RHO

ALPHA

SHIFT

C1

C2

T0

Creates a MAT1 card

Parameters:
midint

material id

gfuncint

Table identification number of a TABVE entry that contains a series of shear modulii and decay coefficients to represent the shear modulus relaxation function of the material.

kfuncint

Table identification number of a TABVE entry that contains a series of bulk modulii and decay coefficients to represent the bulk modulus relaxation function of the material.

rhofloat; default=0.0

Mass density.

alphafloat; default=0.0

Coefficient of thermal expansion.

shiftint; default=1

Time-temperature superposition shift law. 1: Use WLF (Williams-Landel-Ferry) shift function 2: Use Arrhenius shift function

c1, c2float; default=0.0

Material constants used by the WLF or Arrhenius shift function.

treffloat; default=0.

Reference temperature used by the WLF or Arrhenius shift function.

commentstr; default=’’

a comment for the card

Rho()[source]
_properties = ['_field_map', 'mp_name_map']
classmethod add_card(card, comment='')[source]

Adds a MATEV card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) None[source]

Cross links the card so referenced cards can be extracted directly

Parameters:
modelBDF()

the BDF object

get_density()[source]
mp_name_map = {}
raw_fields()[source]
repr_fields()[source]

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MATEV'
uncross_reference() None[source]

Removes cross-reference links

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.materials.MATG(mid, idmem, behav, tabld, tablu, yprs, epl, gpl, gap=0.0, tab_yprs=None, tab_epl=None, tab_gpl=None, tab_gap=None, comment='')[source]

Bases: Material

per MSC 2018.2

1

2

3

4

5

6

7

8

9

MATG

MID

IDMEM

BEHAV

TABLD

TABLU1

TABLU2

TABLU3

TABLU4

TABLU5

TABLU6

TABLU7

TABLU8

TABLU9

TABLU10

YPRS

EPL

GPL

GAP

TABYPRS

TABEPL

TABGPL

TABGAP

per MSC 2016

1

2

3

4

5

6

7

8

9

MATG

MID

IDMEM

BEHAV

TABLD

TABLU1

TABLU2

TABLU3

TABLU4

TABLU5

TABLU6

TABLU7

TABLU8

TABLU9

TABLU10

YPRS

EPL

GPL

per NX 10

MATG

100

10

0

1001

1002

1003

0.0

dummy init

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

Adds a MATG card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MATG'
uncross_reference()[source]
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.materials.MATHE(mid, model, bulk, mus, alphas, betas, mooney, sussbat, aboyce, gent, rho=0.0, texp=0.0, tref=0.0, ge=0.0, comment='')[source]

Bases: HyperelasticMaterial

Creates a MATHE hyperelastic material

model = MOONEY (default)

1

2

3

4

5

6

7

MATHE

MID

Model

K

RHO

TEXP

C10

C01

C20

C11

C02

C30

C21

C12

C03

model (NX) = OGDEN, FOAM

1

2

3

4

5

6

7

MATHE

MID

Model

K

RHO

TEXP

MU1 | ALPHA1

BETA1

MU2 | ALPHA2

BETA2

MU3

ALPHA3

BETA3

MU4 | ALPHA4

BETA4

MU5

ALPHA5

BETA5

MU6 | ALPHA6

BETA6

MU7

ALPHA7

BETA7

MU8 | ALPHA8

BETA8

MU9

ALPHA9

BETA9

the last two lines are NX only lines

model (NX) = ABOYCE

1

2

3

4

5

6

7

MATHE

MID

Model

K

RHO

TEXP

NKT

N1

D1

D2

D3

D4

D5

the last line is an MSC only line

model (NX) = SUSSBAT

1

2

3

4

5

6

7

MATHE

MID

Model

K

RHO

TEXP

TAB1

SSTYPE

RELERR

model (NX) = MOONEY (default)

1

2

3

4

5

6

7

8

9

MATHE

MID

Model

K

RHO

TEXP

TREF

GE

C10

C01

D1

TAB1

TAB2

TAB3

TAB4

TABD

C20

C11

C02

D2

NA

C30

C21

C12

C03

D3

C40

C31

C22

C13

C04

D4

C50

C41

C32

C23

C14

C05

D5

model (MSC) = OGDEN, FOAM

1

2

3

4

5

6

7

8

MATHE

MID

Model

NOT

K

RHO

TEXP

MU1

ALPHA1

BETA1

MU2

ALPHA2

BETA2

MU3

ALPHA3

BETA3

MU4

ALPHA4

BETA4

MU5

ALPHA5

BETA5

D1

D2

D3

D4

D5

NOT is an MSC only parameter

the last line is an MSC only line

model (MSC) = ABOYCE, GENT

1

2

3

4

5

6

7

8

MATHE

MID

Model

K

RHO

TEXP

NKT

N1

D1

D2

D3

D4

D5

the last line is an MSC only line

model (MSC) = GHEMi

1

2

3

4

5

6

7

8

MATHE

MID

Model

K

RHO

Texp

Tref

GE

MSC version

dummy init

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

Adds a MATHE card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MATHE'
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.materials.MATHP(mid, a10=0.0, a01=0.0, d1=None, rho=0.0, av=0.0, tref=0.0, ge=0.0, na=1, nd=1, a20=0.0, a11=0.0, a02=0.0, d2=0.0, a30=0.0, a21=0.0, a12=0.0, a03=0.0, d3=0.0, a40=0.0, a31=0.0, a22=0.0, a13=0.0, a04=0.0, d4=0.0, a50=0.0, a41=0.0, a32=0.0, a23=0.0, a14=0.0, a05=0.0, d5=0.0, tab1=None, tab2=None, tab3=None, tab4=None, tabd=None, comment='')[source]

Bases: HyperelasticMaterial

dummy init

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

Adds a MATHP card from BDF.add_card(...)

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'MATHP'
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.materials.NXSTRAT(sid, params, comment='')[source]

Bases: BaseCard

Strategy Parameters for SOLs 601 and 701

Defines parameters for solution control and strategy in advanced nonlinear structural analysis.

1

2

3

4

5

6

7

8

NXSTRAT

ID

Param1

Value1

Param2

Value2

Param3

Value3

Param4

Value4

Param5

Value5

etc

NXSTRAT

1

AUTO

1

MAXITE

30

RTOL

0.005

ATSNEXT

3

_finalize_hdf5(encoding)[source]

hdf5 helper function

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

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

Parameters:
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

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

Gets the fields in their simplified form

Returns:
fields[varies, …]

the fields that define the card

type = 'NXSTRAT'
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.materials.OrthotropicMaterial[source]

Bases: Material

Orthotropic Material Class

dummy init

class pyNastran.bdf.cards.materials.ThermalMaterial[source]

Bases: Material

Thermal Material Class

dummy init

class pyNastran.bdf.cards.materials.ViscoelasticMaterial[source]

Bases: Material

Viscoelastic Material Class

dummy init

pyNastran.bdf.cards.materials._mat10_get_bulk_rho_c(bulk, rho, c)[source]
\[bulk = c^2 \rho\]
pyNastran.bdf.cards.materials.get_G_default(e: float | None, g: float, nu: float) float[source]
pyNastran.bdf.cards.materials.get_mat_props_S(mid_ref)[source]

Gets the material matrix [S] or [C] for plane strain

[e] = [S][o]

pyNastran.bdf.cards.materials.mat1_E_G_nu(E, G, nu)[source]

f[ G = frac{E}{2 (1+nu)} f]