Skip to content

OutputExtractor: support symmetric-tensor block keywords - #7349

Draft
hnil wants to merge 1 commit into
OPM:masterfrom
hnil:pr/tensor-block-keywords
Draft

OutputExtractor: support symmetric-tensor block keywords#7349
hnil wants to merge 1 commit into
OPM:masterfrom
hnil:pr/tensor-block-keywords

Conversation

@hnil

@hnil hnil commented Aug 24, 2026

Copy link
Copy Markdown
Member

Two additions to OutputExtractor, both inert until something uses them.

TensorEntry in the BlockExtractor handler variant: a base keyword whose six components are requested with Voigt suffixes appended — BSTRSSXX, BSTRSSYY, BSTRSSZZ, BSTRSSYZ, BSTRSSXZ, BSTRSSXY. Matching inspects prefix and suffix rather than building candidate names, and the suffix position doubles as the Voigt index handed to the extractor.

std::span<const Entry> instead of std::array<Entry, N> templates in makeExtractor, setupExecMap and setupLgrExecMap, so a module can extend the handler table at runtime. Existing array call sites convert implicitly, so nothing changes for them.

Nothing upstream registers a symmetric-tensor keyword today; this is the mechanism a mechanics module needs to publish stress components through the ordinary block-output path instead of a parallel one.

Add TensorEntry to the BlockExtractor handler variant: a base keyword
(e.g. BSTRSS) whose six components are requested with Voigt suffixes
XX, YY, ZZ, YZ, XZ, XY appended (BSTRSSXX, ...).  Matching is done by
prefix + suffix inspection without building candidate names, and the
suffix position doubles as the VoigtIndex passed to the extractor.

Generalize makeExtractor/setupExecMap/setupLgrExecMap from
std::array<Entry, size> templates to std::span<const Entry> so modules
can extend the compile-time handler table at runtime; array call sites
convert implicitly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@hnil hnil added the manual:enhancement This is an enhancement/improvent that needs to be documented in the manual label Aug 24, 2026
@hnil
hnil requested a review from svenn-t August 28, 2026 13:55
@hnil
hnil marked this pull request as ready for review August 28, 2026 13:57
@hnil
hnil requested a review from totto82 August 28, 2026 13:57
@hnil
hnil marked this pull request as draft August 28, 2026 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

manual:enhancement This is an enhancement/improvent that needs to be documented in the manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant