Skip to content

FEMaster 2.7.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 14:37

Keywords [--format femaster]

  • Added *PART, *END PART, *ASSEMBLY, *END ASSEMBLY, *INSTANCE and *END INSTANCE for defining reusable Parts and assembling transformed Instances.
  • Added *ELASTIC, TYPE=ENGINEERINGCONSTANTS using E1, E2, E3, ν12, ν13, ν23, G12, G13, G23.
  • Adjusted *ELASTIC, TYPE=ORTHOTROPIC from engineering constants to stiffness coefficients D1111, D1122, D2222, D1133, D2233, D3333, D1212, D1313, D2323.
  • Adjusted the orthotropic engineering-constant order to E1, E2, E3, ν12, ν13, ν23, G12, G13, G23.
  • Adjusted *INSTANCE to use Abaqus-compatible translation and axis-angle rotation syntax.
  • Adjusted section definitions so they may appear before their referenced materials and profiles.
  • Adjusted *NSET, *ELSET and *SURFACE to support Part-local, Instance-qualified and assembly-level entities.
  • Removed the old node, element and surface counting stage and the associated dependence on the highest entity ID.

Keywords [--format abaqus]

  • Added support for *PART, *END PART, *ASSEMBLY, *END ASSEMBLY, *INSTANCE and *END INSTANCE.
  • Added support for *NODE, *ELEMENT, *NSET, *ELSET and *SURFACE.
  • Added support for *MATERIAL, *DENSITY, *ELASTIC, *HYPERELASTIC, *EXPANSION and *ORIENTATION.
  • Added support for *SOLID SECTION and *SHELL SECTION.
  • Added support for *TRANSFORM and *AMPLITUDE.
  • Added support for *CLOAD, *BOUNDARY, *DLOAD and *DSLOAD.
  • Added support for linear static, nonlinear static and Riks procedures through *STEP and *STATIC.
  • Added support for eigenfrequency extraction through *FREQUENCY.
  • Added support for linear buckling through *BUCKLE.
  • Added support for direct implicit transient dynamics through *DYNAMIC, DIRECT.
  • Added support for direct steady-state harmonic analysis.
  • Added *NODE FILE, *EL FILE, *NODE PRINT and *EL PRINT; these are accepted and ignored because FEMaster controls result output itself.
  • Adjusted *SOLID SECTION so continuum sections no longer require a data line, while truss sections interpret the supplied value as cross-sectional area.
  • Adjusted *BOUNDARY to support constant non-zero prescribed values outside an analysis step.
  • Adjusted *STEP handling of NLGEOM to support bare NLGEOM as well as NLGEOM=YES, NLGEOM=NO and NLGEOM=OFF.
  • Adjusted section definitions so they may appear before their referenced materials and profiles.

Parts & Instances

  • Added reusable Parts containing local nodes, elements, sets, surfaces and section assignments, with sparse local IDs supported.
  • Added Instances that reference a Part and apply rigid translations and rotations without duplicating its topology.
  • Added a compile stage that expands Parts and Instances into the dense solver model while retaining local-to-global mappings.
  • Adjusted models without explicit Parts or Instances to use an implicit default Part and Instance, preserving the previous simple workflow.
  • Adjusted internal node and element numbering to be generated during compilation instead of being tied directly to input IDs.
  • Adjusted Instance transformations to also transform orientations and coordinate systems associated with the instantiated geometry.

Result Output

  • Adjusted .res output from dense solver indices to semantic entity IDs; the default Instance keeps IDs such as 17, while explicit Instances use identifiers such as bolt.17.
  • Adjusted .res element IDs consistently across element, element-nodal, integration-point and material-point fields.
  • Adjusted .frd node numbering to include the Instance ID, preventing collisions between identical local node IDs in different Instances.
  • Adjusted .frd coordinates, element connectivity and nodal result blocks to consistently use the same Instance-aware node mapping.

Internals

  • Adjusted parsing to use ordered passes for definitions, topology, compilation and analysis instead of pre-counting model entities.
  • Removed obsolete nonlinear solver code and unused legacy paths.
  • Improved parser diagnostics, compiler compatibility, error handling and internal documentation.

Individual patches:

  • bump version to 2.7.0 (5a27e6f)
  • fix compiler warnings (7a2f78a)
  • Update instance rotation and FRD node IDs (d56cb6a)
  • Rewrite input and result reference documentation (493ab95)
  • fixed overflow bug in frd (a716bec)
  • support parts in .res and .frd writer (07954ae)
  • restore README after accidental placeholder (b28de3e)
  • noop (aa2f51e)
  • remove accidental placeholder (406c6e3)
  • noop (05998d6)
  • use same instance syntax as abaqus (22ad5cf)
  • rework commenting across files (70bc177)
  • rework commenting inside model classes and files (6a5bd0c)
  • rework *OVERVIEW (20e4656)
  • Minor cleanup (b01f1e3)
  • refactor: add parts and instances compile boundary (03d85ec)
  • allow sections to be defined before materials and profiles (9d49059)
  • improve abaqus reading (f1761ff)
  • fix compiler problems (86a46d1)
  • Clean up dead nonlinear solver code (#11) (3b564df)
  • Feg/abaqus syntax (#12) (13e5776)
  • removed expected output behaviour (fab797f)
  • update compiled version (24af4ed)
  • Document linear harmonic result fields (d174830)
  • Fix documented field aliases (e49c998)
  • Fix contact manual cross reference (1e391c8)
  • Clarify harmonic result frame handling (69213d7)
  • Document harmonic and material point result formats (7f5eadb)
  • Document surface orientation for mortar contact (cdb7a37)
  • Update field domains and NORMAL documentation (333690e)
  • Update command reference for recent DSL features (b84d991)
  • Document field parsing dependencies (1b345dc)
  • Update manual overview for harmonic and contact (5d39a63)
  • Wire recent features into user manual (0fdac11)
  • Add harmonic and contact manual examples (594a5d9)
  • Add dual mortar contact chapter (56ae691)
  • Document linear harmonic loadcase (779d0e1)
  • Document harmonic analysis controls (ce0d1b3)
  • Document shell director fields (ed38c54)
  • Add dual-mortar surface-to-surface contact (#10) (05da897)
  • Add transactional material point state storage (#8) (663366e)
  • Add direct linear harmonic response analysis (#7) (4d96e73)
  • fixed crucial field parsing issue (6a1981d)
  • Register NORMAL from dedicated command file (487e544)
  • Add dedicated NORMAL registration (d7f79e1)
  • Separate NORMAL registration from FIELD (210766d)
  • Use direct includes and aligned field lookup (f840033)
  • Preserve parser option field ordering (83d71e4)
  • Align shell normal construction with FEMaster code style (4c7b975)
  • Document field parsing stage and parser workflow (9291359)
  • Document staged parser workflow in FEMaster style (92d55ae)
  • Align field and normal registration with FEMaster style (6dc1be5)
  • Fix unrelated coupling DOF line in shell normal update (20ee10e)
  • Remove obsolete shell normal apply implementation (3d4c10b)
  • Integrate prescribed normals into shell normal construction (293a157)
  • Parse fields before building shell normals (7b7bfa5)
  • Add field parsing stage before shell normal construction (5721b79)
  • Remove separate shell normal apply API (904961c)
  • Make *NORMAL select the field directly (14f573a)
  • Implement field-based shell normal overrides in Model (9bfa477)
  • Add Model API for field-based shell normals (32d9a6c)
  • Route NORMAL handling through Model (e7b051a)
  • Use fields as shell normal overrides (2424bae)
  • Add NORMAL keyword support (ecefa0a)
  • minor attempt with contact (0be4901)
  • Remove unused model compute wrappers and element no-op overrides (688a595)
  • Use full solid integration outside stiffness assembly (3581590)
  • refactor code (54ad08a)
  • fixed arc length control (8c9551b)
  • fix compile issues (1c46d60)
  • minor change (97ef9fd)
  • better code documentation (3ca8ae5)
  • adjust error handling and cutback on invalid jacobians (b5847a9)
  • initial version of better contact (572c34c)
  • fixed mitc8 tying in curved shells (faf8f06)

Full Changelog: v2.6.0...v2.7.0