Skip to content

GRID_PROC: a scalar point listed more than once is one scalar point - #336

Open
Valladarex wants to merge 1 commit into
MystranSolver:devfrom
Valladarex:pr/spoint-repeated
Open

Valladarex wants to merge 1 commit into
MystranSolver:devfrom
Valladarex:pr/spoint-repeated

Conversation

@Valladarex

Copy link
Copy Markdown

Fixes #335.

One commit, in Source/LK1/L1B/GRID_COORDINATE_PROCESSING.f03. GRID_PROC merges repeated SPOINT listings before the duplicate check:

  • it keeps the first listing and compacts GRID and RGRID;
  • it reallocates them with the new row count;
  • it lowers LDOFG and NSPOINT;
  • it writes an INFORMATION line.

A GRID and an SPOINT with the same ID are still a duplicate (ERROR 1344).

Test: MYSTRAN_Validation MystranSolver/MYSTRAN_Validation#44, spoint_repeated_unsorted.bdf: scalar points listed out of order, between GRID entries, by THRU and repeated, in a chain of springs of 1000.

  • The four displacements must be the hand values 1, 2, 3 and 4 E-3.
  • On dev it stops with ERROR 1344. With this PR all four pass.

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

A scalar point listed on two SPOINT entries (or twice on one) stopped the run with ERROR 1344 (duplicate grid).
GRID_PROC now merges repeated SPOINT listings before the duplicate check: it keeps the first, compacts GRID and
RGRID, reallocates them with the new row count NGRID (SORT_GRID_RGRID takes them as explicit-shape arrays of NGRID
rows, so a larger allocation shifted their columns whenever rows were swapped), sets LGRID to NGRID, lowers LDOFG
and NSPOINT by the number dropped, and writes an INFORMATION line. A GRID and an SPOINT with the same ID are still a
duplicate (ERROR 1344).

Test (MYSTRAN_Validation): spoint_repeated_unsorted.bdf, scalar points listed out of order, between GRID entries,
by THRU and repeated, in a chain of springs of 1000 with a unit load: u31, u32, u33, u40 = 1, 2, 3, 4 E-3 (hand
values). Current dev stops with ERROR 1344.
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