geom4 Module

digraph inheritance4ac797eb01 { bgcolor=transparent; rankdir=LR; size=""; "pyNastran.op2.tables.geom.geom4.GEOM4" [URL="#pyNastran.op2.tables.geom.geom4.GEOM4",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 methods for reading op2 constraints"]; "pyNastran.op2.tables.geom.geom_common.GeomCommon" -> "pyNastran.op2.tables.geom.geom4.GEOM4" [arrowsize=0.5,style="setlinewidth(0.5)"]; "pyNastran.op2.tables.geom.geom_common.GeomCommon" [URL="pyNastran.op2.tables.geom.html#pyNastran.op2.tables.geom.geom_common.GeomCommon",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"]; }

defines readers for BDF objects in the OP2 GEOM4/GEOM4S table

class pyNastran.op2.tables.geom.geom4.GEOM4(op2: OP2Geom)[source]

Bases: GeomCommon

defines methods for reading op2 constraints

property factor: int
read_aset(data: bytes, n: int) int[source]

ASET(5561,76,215) - Record 1

read_aset1(data: bytes, n: int) int[source]

ASET1(5571,77,216) - Record 22

ASET1=(5, 0, 4, 10, -1,

12345, 0, 1, 2, 3, -1, 12345, 0, 8, 9)

read_bltmpc(data: bytes, n: int) int[source]
read_bndfix(data: bytes, n: int) int[source]
read_bndfix1(data: bytes, n: int) int[source]
read_bndfree(data: bytes, n: int) int[source]
read_bndgrid(data: bytes, n: int) int[source]

BNDGRID(10200,102,473) - Record 3

read_bset(data: bytes, n: int) int[source]
read_bset1(data: bytes, n: int) int[source]
read_cset(data: bytes, n: int) int[source]
read_cset1(data: bytes, n: int) int[source]
read_cyax(data: bytes, n: int) int[source]

CYAX(1510,15,328) - Record 8

read_cyjoin(data: bytes, n: int) int[source]

CYJOIN(5210,52,257) - Record 9

read_cysup(data: bytes, n: int) int[source]
read_cysym(data: bytes, n: int) int[source]

CYSYM(1710,17,330) - Record 11

read_egendt(data: bytes, n: int) int[source]
read_fcendt(data: bytes, n: int) int[source]
read_geom4_4(data: bytes, ndata: int) int[source]

reads the GEOM4/GEOM4OLD table

read_gmbc(data: bytes, n: int) int[source]
read_gmspc(data: bytes, n: int) int[source]
read_mpc(data: bytes, n: int) int[source]

MPC(4901,49,17) - Record 16

read_mpc2(data: bytes, n: int) int[source]

MPC(4901,49,420017) - Record 16

read_mpc3(4901, 49, 310017)[source]

SOL 402 MPC* 1 3746 3 1.000000000+ * 3786 3 -1.000000000 data = (

1, 3746, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3747, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3748, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3749, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3750, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3776, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3777, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3778, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3779, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3780, 3, 1.0, 3786, 3, -1.0, -1, -1, -1, 1, 3864, 3, 1.0, 3904, 3, -1.0, -1, -1, -1, 1, 3865, 3, 1.0, 3904, 3, -1.0, -1, -1, -1, 1, 3866, 3, 1.0, 3904, 3, -1.0, -1, -1, -1, 1, 3867, 3, 1.0, 3904, 3, -1.0, -1, -1, -1, 1, 3868, 3, 1.0, 3904, 3, -1.0, -1, -1, -1, 1, 3894, 3, 1.0, 3904, 3, -1.0, -1, -1, -1, 1, 3895, 3, 1.0, 3904, 3, -1.0, -1, -1, -1, 1, 3896, 3, 1.0, 3904, 3, -1.0, -1, -1, -1, 1, 3897, 3, 1.0, 3904, 3, -1.0, -1, -1, -1, 1, 3898, 3, 1.0, 3904, 3, -1.0, -1, -1, -1)

read_mpcadd(data: bytes, n: int) int[source]

MPCADD(4891,60,83) - Record 17

read_omit(data: bytes, n: int) int[source]
read_omit1(data: bytes, n: int) int[source]

OMIT1(4951,63,92) - Record 19

read_qset(data: bytes, n: int) int[source]

QSET(610, 6, 316) - Record 21

read_qset1(data: bytes, n: int) int[source]

QSET1(610,6,316) - Record 22

read_rbar(data: bytes, n: int) int[source]

RBAR(6601,66,292) - Record 22

read_rbe1(data: bytes, n: int) int[source]

RBE1(6801,68,294) - Record 23

MSC/NX Word Name Type Description 1 EID I Element identification number 2 GN I Grid point identification number for independent degrees-of-freedom 3 CN I Component numbers of independent degrees-of-freedom Words 2 through 3 repeat until (-2,-2) occurs

4 GM I Grid point identification number for dependent degrees-of-freedom 5 CM I Component numbers of dependent degreesof-freedom Words 4 through 5 repeat until (-1,-1) occurs

6 ALPHA RS Thermal expansion coefficient 7 UNDEF none Not used

read_rbe2(data: bytes, n: int) int[source]

RBE2(6901,69,295) - Record 24

read_rbe3(data: bytes, n: int) int[source]

RBE3(7101,71,187) - Record 25

read_rbjoint(data: bytes, n: int) int[source]
read_rbjstif(data: bytes, n: int) int[source]
read_release(data: bytes, n: int) int[source]

Record - RELEASE(1310,13,247)

Word Name Type Description 1 SEID I Superelement identification number 2 C I Component numbers 3 THRUFLAG I Thru range flag THRUFLAG=0 No

4 ID I Grid or scalar point identification number Word 4 repeats until End of Record

THRUFLAG=1 Yes

4 ID1 I First grid or scalar point identification number 5 ID2

read_rpnom(data: bytes, n: int) int[source]
read_rrod(data: bytes, n: int) int[source]

common method for reading RROD

read_rspline(data: bytes, n: int) int[source]

RSPLINE(7001,70,186) - Record 31

read_rsscon(data: bytes, n: int) int[source]

RSSCON(7201,72,398) - Record 32

read_rtrplt(data: bytes, n: int) int[source]
read_rweld(data: bytes, n: int) int[source]
read_sebset(data: bytes, n: int) int[source]
read_sebset1(data: bytes, n: int) int[source]
read_secset(data: bytes, n: int) int[source]

Word Name Type Description 1 SEID I Superelement identification number 2 ID I Grid or scalar point identification number 3 C I Component numbers

read_secset1(data: bytes, n: int) int[source]
(1010, 10, 320,

103, 123456, 0, 1, 101, -1)

SECSET Word Name Type Description 1 SEID I Superelement identification number 2 ID I Grid or scalar point identification number 3 C I Component numbers

Word Name Type Description 1 SEID I Superelement identification number 2 C I Component numbers 3 THRUFLAG I Thru range flag THRUFLAG=0 No

4 ID I Grid or scalar point identification number Word 4 repeats until End of Record

THRUFLAG=1 Yes

4 ID1 I First grid or scalar point identification number 5 ID2 I Second grid or scalar point identification number

End THRUFLAG

read_seqset(data: bytes, n: int) int[source]

SEQSET(1110,11,321) - Record 40

read_seqset1(data: bytes, n: int) int[source]

SEQSET1(1210,12,322) - Record 41

SEQSET1=(1, 0, 0, 700, -1,

2, 0, 0, 200, -1, 3, 0, 0, 300, -1, 4, 0, 0, 400, -1, 5, 0, 0, 500, -1, 6, 0, 0, 600)

SEQSET1=[1 0 1 101 112

2 0 1 113 124]

data = (

1, 0, 0, 700, -1, 2, 0, 0, 200, -1, 3, 0, 0, 300, -1, 4, 0, 0, 400, -1, 5, 0, 0, 500, -1, 6, 0, 0, 600, -1)

read_seqset1b(data: bytes, n: int) int[source]

SEQSET1(1210,12,322) SESET, 0, 120 SEQSET1, 11, 0, 2001, THRU, 2008

(5561, 76, 0, 120, -1,

2001, -1, 2002, -1, 2003, -1, 2004, -1, 2005, -1, 2006, -1, 2007, -1, 2008, -1)

read_seseta(data: bytes, n: int) int[source]
(610, 6, 0,

12, 0, 1, -1)

C:MSC.Softwaremsc_nastran_runssee10195.op2

read_sesup(data: bytes, n: int) int[source]
read_seuset(data: bytes, n: int) int[source]
read_seuset1(data: bytes, n: int) int[source]
read_spc(data: bytes, n: int) int[source]

common method for reading SPCs

read_spc1(data: bytes, n: int) int[source]

SPC1(5481,58,12) - Record 45

odd case = (

# sid, comp, thru_flag 12, 12345, 0, 110039, 110040, 110041, 110042, 110043, 110044, 110045,

110046, 110047, 110048, 110049, -1,

# sid, comp, thru_flag, ??? 12, 12345, 0, -1)

F:workpyNastranpyNastranmaster2pyNastranbdftestnx_spikeout_acmsnnns.op2

[1, 123456, 0, 31, 35, 39, 43, 47, 48, 53, 63, 64, 69, 70, 71, 72, -1,

3, 456, 1, 1]

TestOP2.test_op2_solid_bending_02_geom

[123456, 456, 1, 5, 13,

123456, 123456, 0, 22, 23, 24, 25, -1]

TestOP2.test_op2_solid_shell_bar_01_geom

read_spcadd(data: bytes, n: int) int[source]

SPCADD(5491,59,13) - Record 46

read_spcb(data: bytes, n: int) int[source]

SPC(5501, 55, 620016) - Record 45 - MSC

1 SID I Set identification number 2 ID I Grid or scalar point identification number 3 C I Component numbers 4/5/6 UNDEF none Not used 4/5/6 D RX Enforced displacement

odd case = (

# sid, id, comp, [undef, undef, undef]…one of the undef is dx… 1, 12, 123456, 0, 0, 0, 1, 13, 123456, 0, 0, 0, 1, 14, 123456, 0, 0, 0, 1, 15, 123456, 0, 0, 0, 1, 16, 123456, 0, 0, 0, ….

) SPC 203 10000 3 10002 3 .01

read_spcd(data: bytes, n: int) int[source]

common method for reading SPCDs

read_spcde(data: bytes, n: int) int[source]
read_spcdg(data: bytes, n: int) int[source]
read_spce(data: bytes, n: int) int[source]
read_spceb(data: bytes, n: int) int[source]
read_spcf(data: bytes, n: int) int[source]
read_spcfb(data: bytes, n: int) int[source]
read_spcgb(data: bytes, n: int) int[source]
read_spcgrid(data: bytes, n: int) int[source]
read_spcoff(data: bytes, n: int) int[source]

SPCOFF(5501,55,16) - Record 44

read_spcoff1(data: bytes, n: int) int[source]

SPCOFF1(6210, 62, 344) - Record see SPC1

Record - SPC1(5481,58,12) Word Name Type Description 1 SID I Set identification number <—— removing… 2 C I Component numbers 3 THRUFLAG I Thru range flag THRUFLAG=0 No 4 ID I Grid or scalar point identification number Word 4 repeats until End of Record THRUFLAG=1 Yes 4 ID1 I First grid or scalar point identification number 5 ID2 I Second grid or scalar point identification number End THRUFLAG

Word Name Type Description 1 C I Component numbers 2 THRUFLAG I Thru range flag THRUFLAG=0 No 3 ID I Grid or scalar point identification number Word 3 repeats until End of Record THRUFLAG=1 Yes 3 ID1 I First grid or scalar point identification number 4 ID2 I Second grid or scalar point identification number End THRUFLAG

read_stop(data: bytes, n: int) int[source]
read_suport(data: bytes, n: int) int[source]

SUPORT(5601,56, 14) - Record 59

read_suport1(data: bytes, n: int) int[source]

SUPORT1(10100,101,472) - Record 60

read_tempbc(data: bytes, n: int) int[source]
read_uset(data: bytes, n: int) int[source]

USET(2010,20,193) - Record 63 (sid, nid, comp), …

read_uset1(data: bytes, n: int) int[source]

USET1(2110,21,194) - Record 65

odd case = (

# sid, comp, thru_flag 12, 12345, 0, 110039, 110040, 110041, 110042, 110043, 110044, 110045,

110046, 110047, 110048, 110049, -1,

# sid, comp, thru_flag, ??? 12, 12345, 0, -1)

data =(2110, 21, 194,

2.0, 123456, 0, 44, 45, 48, 49, -1)

property size: int
pyNastran.op2.tables.geom.geom4.check_component(component: int, msg: str) None[source]
pyNastran.op2.tables.geom.geom4.fill_rbe3_wt_comp_gijs(i: int, j: int, idata, fdata) tuple[int, list[float], list[int], list[list[int]]][source]

helper for read_rbe3s_from_idata_fdata

pyNastran.op2.tables.geom.geom4.get_minus_2_index(idata) int[source]

helper for get_minus_2_index

pyNastran.op2.tables.geom.geom4.ints_to_secset1s(card_name: str, ints: ndarray) tuple[int, list[tuple[int, int, list[int]]]][source]

[61, 123456, 1, 610101, 610124] [100, 123, 0, 41, 42, -1,

200, 123, 0, 35, 36, -1] [ 1, 123456, 1, 1001, 1006,

1, 123456, 0, 1066, -1]

pyNastran.op2.tables.geom.geom4.read_rbe2s_from_idata_fdata(op2: OP2Geom, idata, fdata) list[RBE2][source]

Word Name Type Description 1 EID I Element identification number 2 GN I Grid point identification number for independent degrees-of-freedom 3 CM I Component numbers of dependent degrees of-freedom 4 GM I Grid point identification number for dependent degrees-of-freedom Word 4 repeats until End of Record 5 ALPHA RS Thermal expansion coefficient (optional) 6 TREF RS Reference temperature (optional if alpha exists)

data = (1, 1, 123456, 10000, -1, 0.0,
        2, 2, 123456, 20000, -1, 0.0,
        3, 3, 12345,  30000, 30001, 30002, 30003, 30004, 30005, -1, 0.0,
        4, 4, 123,    40000, 40001, 40010, 40011, 40020, 40021, -1, 0.0,
        5, 5, 123,    50000, 50001, 50010, 50011, 50020, 50021, -1, 0.0)
(1, 35, 2, 33, 34, 36, 37, 133, 134, 135, 136, 137, -1, 0.0,

3, 3, 2, 1, 2, 4, 5, 101, 102, 103, 104, 105, -1, 0.0, 5, 8, 2, 6, 7, 9, 10, 106, 107, 108, 109, 110, -1, 0.0, 6, 13, 2, 11, 12, 14, 15, 111, 112, 113, 114, 115, -1, 0.0 0, 9, 30, 2, 28, 29, 31, 32, 128, 129, 130, 131, 132, -1, 0.0, 10, 25, 2, 23, 24, 26, 27, 123, 124, 125, 126, 127, -1, 0.0)

idata = [

10101, 10101, 123456, 1, 2, -1, 10102, 10102, 123456, 3, 4, -1, 10103, 10103, 123456, 5, -1,

]

idata = [
132, 253, 123456,

4, 5, 6, 7, 8, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 57, 58, 59, 60, -1, 0,

133, 254, 123456,

126, 127, 128, 129, 138, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, -1, 0]

i=[ 0, 30] j=[29, 59]

idata = [
132, 253, 123456,

4, 5, 6, 7, 8, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 57, 58, 59, 60, -1, 0, 0,

133, 254, 123456,

126, 127, 128, 129, 138, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, -1, 0, 0,

] i=[ 0, 31] j=[29, 61]

idata = [

201, 5001, 123456, 201, -1, 221, 5002, 123456, 221, -1, 5001, 5001, 123, 1001, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, -1, 5002, 5002, 123, 2097, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333, -1, 22222, 4455, 123456, 4467, 4443, -1

]

pyNastran.op2.tables.geom.geom4.read_rbe3s_from_idata_fdata(op2: OP2Geom, idata, fdata) list[RBE3][source]

1 EID I Element identification number 2 REFG I Reference grid point identification number 3 REFC I Component numbers at the reference grid point

4 WT1 RS Weighting factor for components of motion at G 5 C I Component numbers 6 G I Grid point identification number Word 6 repeats until -1 occurs

Words 4 through 6 repeat until -2 occurs

7 GM I Grid point identification number for dependent degrees-of-freedom 8 CM I Component numbers of dependent degrees-of-freedom

Words 7 through 8 repeat until -3 occurs

data = [99 99 123456 1.0 123 44 45 48 49 -1 -3] data = [61 71 123456 1.0 123 70 75 77 -1 -3

62 71 123456 1.0 123 58 59 72 -1 -3]

data = [1001100 1001100 123456 1.0 123456 10011 10002 -1 -2 -3

1002500 1002500 123456 1.0 123456 10025 10020 -1 -2 -3] eid refg refc wt c g …

data = [107, 1, 123456, 1.0, 1234, 10600, 10601, -1, -2, -3, 0/0.0,

207, 2, 123456, 1.0, 1234, 20600, 20601, -1, -2, -3, 0/0.0, 307, 3, 123456, 1.0, 1234, 30600, 30601, -1, -2, -3, 0/0.0]]

data = [

407, 4, 123, 1.0, 123, 41201, 41210, 41212, 41221, -1, -0.25, 123, 41200, 41202, 41220, 41222, -1, -2, -3, 0, 408, 4, 456, 1.0, 123, 41201, 41210, 41212, 41221, -1, 1.0, 123, 41200, 41202, 41220, 41222, -1, -2, -3, 0)

] RBE3 407 4 123 1.0 123 41201 41210

41212 41221 -.25 123 41200 41202 41220 41222

RBE3 408 4 456 1.0 123 41201 41210

41212 41221 +.25 123 41200 41202 41220 41222

idata = [130, 251, 123456, 1.0, 123, 12, 13, 14, 15, 16, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,

-1, -2, -3, 0.0, 0.0, 131, 252, 123456, 1.0, 123, 129, 130, 131, 132, 133, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 182, 183, 184, 185, -1, -2, -3, 0.0, 0.0]

pyNastran.op2.tables.geom.geom4.xset1_break_by_thru_type(data: ndarray) list[ndarray][source]

helper for read_xset1