Skip to content

Grounded scalar springs: CELAS1-4 with one point blank or 0 connect the other point to ground - #332

Open
Valladarex wants to merge 1 commit into
MystranSolver:devfrom
Valladarex:pr/grounded-springs
Open

Valladarex wants to merge 1 commit into
MystranSolver:devfrom
Valladarex:pr/grounded-springs

Conversation

@Valladarex

Copy link
Copy Markdown

Fixes #331.

One commit, in SPRING_BUSH_MASS.f03, ELEMENT_LOOKUPS.f03, ELEMENT_DATA_GATHERING.f03, SPRING_ELEMENTS.f03 and ELEMENT_RECOVERY_SUPPORT.f03.

  • ELAS_GROUND_END (called by BD_CELAS1-4) keeps the element's point first. A blank point B becomes 0, or -1 when the ends were swapped. New ERROR 1218 (no point), 1219 (a component at the grounded end) and 1220 (a negative point).
  • GET_ELGP: such a spring has 1 grid point, so assembly, node forces and the grid point force balance see only its real point.
  • ELAS1: the 1 x 1 stiffness K. The force keeps the entry's sign: KUA, or -KUB when point A was the grounded end.

Test: MYSTRAN_Validation MystranSolver/MYSTRAN_Validation#42, celas4_grounded.bdf: CELAS4,1,10.,1001 with a unit load on 1001.

  • It must give u = 0.1 (hand value).
  • On dev: ERROR 1900. With this PR the checks pass.

Also checked on this commit alone, outside the suite:

  • The review branch's 12-case check, each grounded model against the same springs to an explicit held ground point:
    • These match: CELAS4 and CELAS3 grounded, a blank first point, 0 for blank, a grid with CELAS2/CELAS1 grounded (displacements, spring forces and force balance), and SOL 103 eigenvalues 10, 12.5, 15, 100, 100, 100.
    • No point, a component at the grounded end, and a negative point stop with ERROR 1218, 1219 and 1220, and write no results.
    • Its SOL 111 case needs SOL 111, which dev does not have.

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

…he other point to ground

A spring with one point blank (or 0) is a spring to ground. MYSTRAN did not take it: CELAS1/CELAS2 stopped on the
blank component (ERROR 1133), CELAS3 on the blank point (ERROR 1021), and CELAS4 later with "GRID 0 NOT DEFINED"
(ERROR 1900). Grounded springs are common: soft mounts, and springs that hold the rigid-body modes of a free model.

- Subr ELAS_GROUND_END (SPRING_BUSH_MASS.f03), called by BD_CELAS1-4: the element keeps its point first.
  - A blank first point swaps the two ends.
  - Point B becomes 0, or -1 when the ends were swapped.
  - Errors: ERROR 1218, no point; ERROR 1219, a component at the grounded end; ERROR 1220, a negative point.
  - CELAS1/CELAS3 skip the "> 0" check of point B only for a grounded spring.
- CELAS1/CELAS2: a blank or 0 component is accepted, as the component of a scalar point. ELMDAT1 already turned it
  into 1 there, and stops with ERROR 1950 when it is on a grid with 6 components.
- GET_ELGP: an ELAS with point B <= 0 has 1 grid point, so the lookups, DOF lists, assembly, node forces and grid
  point force balance see only its real point.
- ELMDAT1: ELAS_COMP is read for the element's points only. ELAS_COMP(2) = point B (0 or -1) marks the grounded end.
- ELAS1: a grounded spring has the 1 x 1 stiffness K. Its engineering force keeps the sign of the entry as written,
  K*(UA - UB) with the ground displacement 0: K*UA, or -K*UB when point A was the grounded end.
- ELEMENT_RECOVERY_SUPPORT: the node force of a grounded spring is K*UA.

Test (MYSTRAN_Validation): celas4_grounded.bdf, CELAS4,1,10.,1001 (second point blank) with a unit load on 1001:
u = 0.1 (hand value). Current dev stops with ERROR 1900.
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