contact Module

Inheritance diagram of pyNastran.bdf.cards.contact

Defines the following contact cards:

  • BCONP
  • BLSEG
  • BCRPARA
  • BCTPARA
  • BCTADD
  • BCTSET
  • BSURF
  • BSURFS
class pyNastran.bdf.cards.contact.BCONP(contact_id, slave, master, sfac, fric_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  
classmethod _init_from_empty()[source]
classmethod add_card(card, comment='')[source]

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

Parameters:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
type = 'BCONP'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

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:
crid : int

CRID Contact region ID.

offset : float; default=None

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

surf : str; default=’TOP’

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

Type : str; 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_point : int; 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.

comment : str; 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:
card : BDFCard()

a BDFCard object

comment : str; 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(self)[source]
surf = None

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

type = 'BCRPARA'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

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:
card : BDFCard()

a BDFCard object

comment : str; 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(self)[source]
type = 'BCTADD'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

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:
csid : int

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

params : dict[key]

the optional parameters

comment : str; default=’‘

a comment for the card

_finalize_hdf5(self, 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:
card : BDFCard()

a BDFCard object

comment : str; 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(self)[source]
type = 'BCTPARA'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

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(self)[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(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

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:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

raw_fields(self)[source]
type = 'BLSEG'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

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:
card : BDFCard()

a BDFCard object

comment : str; default=’‘

a comment for the card

eids = None

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

raw_fields(self)[source]
sid = None

Set identification number. (Unique Integer > 0)

type = 'BSURF'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

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:
card : BDFCard()

a BDFCard object

comment : str; 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(self)[source]
type = 'BSURFS'
write_card(self, size=8, is_double=False)[source]

Writes the card with the specified width and precision

Parameters:
size : int (default=8)

size of the field; {8, 16}

is_double : bool (default=False)

is this card double precision

Returns:
msg : str

the string representation of the card