Skip to content

Bulk Data continuations: small, large and free field lines may mix in one entry - #318

Open
Valladarex wants to merge 1 commit into
MystranSolver:devfrom
Valladarex:pr/continuations
Open

Valladarex wants to merge 1 commit into
MystranSolver:devfrom
Valladarex:pr/continuations

Conversation

@Valladarex

Copy link
Copy Markdown

Fixes #317.

One commit, in Source/LK1/L1U/BDF_CARD_CONTINUATIONS.f03 and Source/LK1/L1A/INPUT_STAGE_DISPATCH.f03.

How markers match: a line continues the one before it when its marker equals field 10 of that line after the first character. The first character is blank, + (small field) or * (large field) in each (TAGS_MATCH; for a free field line it is its first free field, LINE_TAG). So an entry may mix small, large and free field lines.

Changes:

  • NEXTC reads a large field continuation of a small field entry.
  • NEXTC2 reads a small field continuation of a large field entry. The second line's fields 2-5 give the entry's fields 6-9; data in its fields 6-9 stops with ERROR 1212.
  • The first pass (NEXTC0, NEXTC20) now reads the same lines as the second.
  • A wrong marker: a line whose marker is not the one in field 10 before it stops the run.
  • A continuation no reader reads now gives a warning that its data is not used.

Test: MYSTRAN_Validation MystranSolver/MYSTRAN_Validation#35, grid_star_x3_small_and_free_field.bdf: two CRODs to GRID* grids whose X3 is on a small field and on a free field second line.

  • Each tip must move P L / (E A cos^2) = 1.9964893E-7.
  • On dev both move 1.428571E-7, with no message. With this PR both checks pass.

Also checked on this commit alone, outside the suite:

  • the same GRID* with a large field second line;
  • CBAR* offsets on a small field line give the small field answer;
  • a small field second line with data in fields 6-9 stops (ERROR 1212);
  • an unread FORCE continuation is reported;
  • two decks with a mismatched marker stop and write no results.

Validation suite: with both PRs, 1 failure of 3,257 checks, the same one current dev has without them ("mitc4 thermal strain free rectangle cylinder"). The 2 new checks pass.

… one entry

An entry's continuation lines were read only when they had the format of the
entry's first line, and otherwise dropped without a message:
- a large field entry (GRID*, PBAR*, ...) followed by a small field '+' line
  lost that line: GRID* with its X3 on a small field second line gave a
  grid at X3 = 0 (a rod of 100 instead of 111.80);
- a small field entry lost its large field continuations;
- a free field second line of a large field entry ("+,50.,,23456") was lost;
- the first pass (counting) and the second (reading) did not agree on which
  lines continue an entry.

Markers match when they are equal after their first character, which is
blank, '+' (small field) or '*' (large field) in each (TAGS_MATCH; for a
free field line its first free field, LINE_TAG), so an entry may mix small,
large and free field lines.
- BDF_CARD_CONTINUATIONS: NEXTC reads a large field continuation of a small
  field entry (its two physical lines), NEXTC2 a small field continuation of
  a large field entry (one line of 8-character fields), and the first pass
  (NEXTC0, NEXTC20) reads the same lines as the second. A line whose marker
  is not the one in field 10 before it stops the run.
- INPUT_STAGE_DISPATCH: the second line of a large field entry is found the
  same way (LARGE_PARENT_SECOND_LINE). A small field second line gives the
  entry's fields 6-9 from its fields 2-5; data in its fields 6-9 stops with
  ERROR 1212. A continuation that no reader reads now gives a warning that
  its data is not used (the continuations of an entry MYSTRAN does not read
  are not listed: that entry has its own warning).

Test (MYSTRAN_Validation): grid_star_x3_small_and_free_field.bdf, two CRODs
to GRID* grids whose X3 is on a small field and on a free field second
line. Each tip moves P L / (E A cos^2) = 1.9964893E-7 under a unit load. On
current dev both move 1.428571E-7 (X3 lost) with no message.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant