SteveDoyle2 / pyNastran

A Python-based interface tool for Nastran's file formats
Other
381 stars 147 forks source link

Error from BDF DMIG card #235

Closed ryakoub closed 8 years ago

ryakoub commented 8 years ago

Error from BDF DMIG card

The BDF issues an error that cj (field 4) can't be blank. According the QRF from NX Nastran , cj can be blank, i.e. something like:

1 2 3 4 5 6 7 8 9 10
DMIG A 0 9 1 1 1
DMIG A 1 2 1 1.0
DMIG A 1 2 2 1.0
DMIG A 1 2 3 1.0

is accepted by Nastran but pyNastran/BDF issues an error. I believe this is a bug.

SteveDoyle2 commented 8 years ago

Per the QRG:

Cj : Component number for grid point GJ. (0 < Integer < 6; blank or zero if GJ is a scalar or extra point.)

I read that as Ci / Cj is required if you have a GRID point because if 6 is valid, then 1, 2, 3, 4,5, and 6 are valid (despite them saying 0 < C < 6 because GRIDs have a 6 DOF). Thus, it only defaults to 0 for an EPOINT/SPOINT. Is that how you interpret it?

ryakoub commented 8 years ago

But given Remark 6.a If NCOL is not used for rectangular matrices, two different conventions are available:

◦If IFO = 9, GJ and CJ will determine the sorted sequence, but will otherwise be ignored; a rectangular matrix will be generated with the columns submitted being in the 1 to N positions, where N is the number of logical entries submitted (not counting the header entry).

I understand it that they can be ignored. So I see it as a different way the grids can be entered using scalar points if this makes sense at all.

SteveDoyle2 commented 8 years ago

That's so cryptic. If I understand that right and I probably don't, the order of the matrix will be the same as the order that was entered, such that if you have two entries that are the same, it'll be written twice (currently it's overwritten, which may be a bug).

Also, does that mean a value of 0 and 7 and 999999 is allowed for a GRID/SPOINT?

ryakoub commented 8 years ago

For the first part, yes the order of the matrix is defined by the sequence of the non-header data. But Nastran doesn't allow repeated rows with the same values.

I am not sure about the second part.

SteveDoyle2 commented 8 years ago

How about the code requires 1-6 for GRID points and 0/None for SPOINTs/EPOINTs. I don't think anything needs to be do for the IFO statements as order is preserved.

ryakoub commented 8 years ago

yes this is I believe the way it should be

SteveDoyle2 commented 8 years ago

Oh my mistake from before. If you have two identical entries, you'll get both, so no overwriting. I said both options previously...

So, I think this issue is clear now.