contact Module

Inheritance diagram of pyNastran.bdf.cards.contact

Defines the following contact cards:

  • BCONP

  • BLSEG

  • BCRPARA

  • BCTPARA

  • BCTADD

  • BCTSET

  • BSURF

  • BSURFS

  • BFRIC

class pyNastran.bdf.cards.contact.BCONP(contact_id, slave, master, sfac, friction_id, ptype, cid, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

3D Contact Region Definition by Shell Elements (SOLs 101, 601 and 701)

Defines a 3D contact region by shell element IDs.

1

2

3

4

5

6

7

8

9

BCONP

ID

SLAVE

MASTER

SFAC

FRICID

PTYPE

CID

BCONP

95

10

15

1.0

33

1

Cid() → int[source]
FrictionId() → int[source]
Master() → int[source]
Slave() → int[source]
classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) → None[source]
raw_fields()[source]
type = 'BCONP'
uncross_reference() → None[source]
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.contact.BCRPARA(crid, offset=None, surf='TOP', Type='FLEX', grid_point=0, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

1

2

3

4

5

6

7

8

9

10

BCRPARA

CRID

SURF

OFFSET

TYPE

GP

Creates a BCRPARA card

Parameters
cridint

CRID Contact region ID.

offsetfloat; default=None

Offset distance for the contact region (Real > 0.0). None : OFFSET value in BCTPARA entry

surfstr; default=’TOP’

SURF Indicates the contact side. See Remark 1. {‘TOP’, ‘BOT’; )

Typestr; default=’FLEX’

Indicates whether a contact region is a rigid surface if it is used as a target region. {‘RIGID’, ‘FLEX’}. This is not supported for SOL 101.

grid_pointint; default=0

Control grid point for a target contact region with TYPE=RIGID or when the rigid-target algorithm is used. The grid point may be used to control the motion of a rigid surface. (Integer > 0). This is not supported for SOL 101.

commentstr; default=’’

a comment for the card

Type = None

Indicates whether a contact region is a rigid surface if it is used as a target region. See Remarks 3 and 4. (Character = “RIGID” or “FLEX”, Default = “FLEX”). This is not supported for SOL 101.

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

crid = None

CRID Contact region ID. (Integer > 0)

grid_point = None

Control grid point for a target contact region with TYPE=RIGID or when the rigid-target algorithm is used. The grid point may be used to control the motion of a rigid surface. (Integer > 0) This is not supported for SOL 101.

offset = None

Offset distance for the contact region. See Remark 2. (Real > 0.0, Default =OFFSET value in BCTPARA entry)

raw_fields()[source]
surf = None

SURF Indicates the contact side. See Remark 1. (Character = “TOP” or “BOT”; Default = “TOP”)

type = 'BCRPARA'
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.contact.BCTADD(csid, contact_sets, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

1

2

3

4

5

6

7

8

9

BCTADD

CSID

SI

S2

S3

S4

S5

S6

S7

S8

S9

etc.

Remarks: 1. To include several contact sets defined via BCTSET entries in a model,

BCTADD must be used to combine the contact sets. CSID in BCTADD is then selected with the Case Control command BCSET.

  1. Si must be unique and may not be the identification of this or any other BCTADD entry.

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

contact_sets = None

Identification numbers of contact sets defined via BCTSET entries. (Integer > 0)

csid = None

Contact set identification number. (Integer > 0)

raw_fields()[source]
type = 'BCTADD'
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.contact.BCTPARA(csid, params, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines parameters for a surface-to-surface contact region.

1

2

3

4

5

6

7

8

BCTPARA

CSID

Param1

Value1

Param2

Value2

Param3

Value3

Param4

Value4

Param5

Value5

etc.

BCTPARA

1

TYPE

0

NSIDE

2

SEGNORM

-1

CSTIFF

1

OFFSET

0.015

Creates a BCTPARA card

Parameters
csidint

Contact set ID. Parameters defined in this command apply to contact set CSID defined by a BCTSET entry. (Integer > 0)

paramsdict[key]value

the optional parameters

commentstr; default=’’

a comment for the card

_finalize_hdf5(encoding)[source]

hdf5 helper function

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

csid = None

Contact set ID. Parameters defined in this command apply to contact set CSID defined by a BCTSET entry. (Integer > 0)

raw_fields()[source]
type = 'BCTPARA'
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.contact.BCTSET(csid, sids, tids, frictions, min_distances, max_distances, comment='', sol=101)[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

3D Contact Set Definition (SOLs 101, 601 and 701 only) Defines contact pairs of a 3D contact set.

1

2

3

4

5

6

7

BCTSET

CSID

SID1

TID1

FRIC1

MIND1

MAXD1

SID2 | TID2

FRIC2

MIND2

MAXD2

etc.

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='', sol=101)[source]
csid = None

CSID Contact set identification number. (Integer > 0)

frictions = None

FRICi Static coefficient of friction for contact pair i. (Real; Default=0.0)

max_distances = None

MAXDi Maximum search distance for contact. (Real) (Sol 101 only)

min_distances = None

MINDi Minimum search distance for contact. (Real) (Sol 101 only)

raw_fields()[source]
sids = None

SIDi Source region (contactor) identification number for contact pair i. (Integer > 0)

tids = None

TIDi Target region identification number for contact pair i. (Integer > 0)

type = 'BCTSET'
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.contact.BFRIC(friction_id: int, mu1: float, fstiff=None, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Slideline Contact Friction Defines frictional properties between two bodies in contact.

1

2

3

4

5

BFRIC

FID

FSTIF

MU1

Creates a BFRIC card, which defines a frictional contact.

Parameters
friction_idint

Friction identification number.

mu1float

Coefficient of static friction.

fstifffloat; default=None

Frictional stiffness in stick. See Remarks 2 and 3 Default=automatically selected by the program.

classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]
raw_fields()[source]
type = 'BFRIC'
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.contact.BLSEG(line_id, nodes, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

3D Contact Region Definition by Shell Elements (SOLs 101, 601 and 701)

Defines a 3D contact region by shell element IDs.

+=======+====+====+======+====+====+=====+====+====+ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | +——-+—-+—-+——+—-+—-+—–+—-+—-+ | BLSEG | ID | G1 | G2 | G3 | G4 | G5 | G6 | G7 | +——-+—-+—-+——+—-+—-+—–+—-+—-+ | BLSEG | ID | G1 | THRU | G2 | BY | INC | | | +——-+—-+—-+——+—-+—-+—–+—-+—-+

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

cross_reference(model: BDF) → None[source]
property node_ids

returns nodeIDs for repr functions

raw_fields()[source]
type = 'BLSEG'
uncross_reference() → None[source]
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.contact.BSURF(sid, eids, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

3D Contact Region Definition by Shell Elements (SOLs 101, 601 and 701)

Defines a 3D contact region by shell element IDs.

1

2

3

4

5

6

7

8

9

BSURF

ID

EID1

EID2

EID3

EID4

EID5

EID6

EID7

EID8

EID9

EID10

etc.

BSURF

ID

EID1

THRU

EID2

BY

INC

EID8

EID9

EID10

EID11

etc.

EID8

THRU

EID9

BY

INC

BSURF

15

5

THRU

21

BY

4

27

30

32

33

35

THRU

44

67

68

70

85

92

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

eids = None

Element identification numbers of shell elements. (Integer > 0)

raw_fields()[source]
sid = None

Set identification number. (Unique Integer > 0)

type = 'BSURF'
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.contact.BSURFS(bsurfs_id, eids, g1s, g2s, g3s, comment='')[source]

Bases: pyNastran.bdf.cards.base_card.BaseCard

Defines a 3D contact region by the faces of the CHEXA, CPENTA or CTETRA elements.

Notes

  1. The continuation field is optional.

  2. BSURFS is a collection of one or more element faces on solid elements. BSURFS defines a contact region which may act as a contact source (contactor) or target.

  3. The ID must be unique with respect to all other BSURFS, BSURF, and BCPROP entries.

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

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

Parameters
cardBDFCard()

a BDFCard object

commentstr; default=’’

a comment for the card

eids = None

Element identification numbers of solid elements. (Integer > 0)

g1s = None

Identification numbers of 3 corner grid points on the face (triangular or quadrilateral) of the solid element. (Integer > 0)

id = None

Identification number of a contact region. See Remarks 2 and 3. (Integer > 0)

raw_fields()[source]
type = 'BSURFS'
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