From d9fcc6f80c07324858a9cd48b2d997987e14c9d6 Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Mon, 15 Dec 2025 06:12:22 +0200 Subject: [PATCH] feat(io): add Abaqus keyword registration system New 24-line keyword registration system: - register_abaqus_keyword(): register keywords for section parsing - is_abaqus_keyword_registered(): check if keyword is registered - Global registry for ABAQUS .inp file keywords - Required by parse_model.jl for section parsing Provides keyword registration infrastructure for AbaqusReader module. --- src/io/keyword_register.jl | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/io/keyword_register.jl diff --git a/src/io/keyword_register.jl b/src/io/keyword_register.jl new file mode 100644 index 0000000..62b3755 --- /dev/null +++ b/src/io/keyword_register.jl @@ -0,0 +1,24 @@ +# This file is a part of JuliaFEM. +# License is MIT: see https://github.com/JuliaFEM/AbaqusReader.jl/blob/master/LICENSE + +global __register__ = Set{String}() + +""" + register_abaqus_keyword(keyword::String) + +Add ABAQUS keyword `s` to register. That is, after registration every time +keyword show up in `.inp` file a new section is started +""" +function register_abaqus_keyword(keyword::String) + push!(__register__, keyword) + return Type{Val{Symbol(keyword)}} +end + +""" + is_abaqus_keyword_registered(keyword::String) + +Return true/false is ABAQUS keyword registered. +""" +function is_abaqus_keyword_registered(keyword::String) + return keyword in __register__ +end