Skip to content

FDTD | Feature | Include IA infrastructure, Added XDMF/HDF5 movie outputs and frequency-domain volumetric slices - #413

Merged
adrianarce-elemwave merged 11 commits into
new-feature-observationfrom
feat/inlcude-ia-infrastructure
Aug 11, 2026
Merged

FDTD | Feature | Include IA infrastructure, Added XDMF/HDF5 movie outputs and frequency-domain volumetric slices#413
adrianarce-elemwave merged 11 commits into
new-feature-observationfrom
feat/inlcude-ia-infrastructure

Conversation

@adrianarce-elemwave

Copy link
Copy Markdown
Collaborator

Summary

Introduces an isolated, AI-ready development container and integrates the new observation-output pipeline.

What changed

  • Adds reproducible quality and dev Docker targets with compilers, HDF5, MPI, ParaView, Python tooling, and OpenCode support.
  • Configures Dev Container mounts, environment checks, VS Code debugging, CMake presets, and Fortran-focused OpenCode skills.
  • Adds the new output module behind SEMBA_FDTD_ENABLE_OUTPUT_MODULE.
  • Integrates output initialisation, updates, flushing, and shutdown into the solver time-stepping lifecycle.
  • Adds XDMF/HDF5 movie outputs and frequency-domain volumetric slices for electric, magnetic, and current-density fields.
  • Adds unit-test infrastructure and example input data for movie and frequency-slice probes.
  • Extends CI to build both legacy and new output-module configurations.

Validation

  • CI compiles the output module across GCC/Intel, MPI, MTLN, and precision configurations.
  • Python integration tests remain enabled for the legacy output path only.
  • Adds dedicated Fortran tests for output handling, VTK API, XDMF API, volumetric utilities, and test assertions.

Notes for reviewers

  • The new output pipeline is enabled by default with SEMBA_FDTD_ENABLE_OUTPUT_MODULE=ON. Next follow ups will remove legacy implementation alongside this flag
  • The existing observation implementation remains available by disabling that option.
  • This PR combines development-infrastructure changes with output-module integration.

@adrianarce-elemwave
adrianarce-elemwave force-pushed the feat/inlcude-ia-infrastructure branch from 5211aa1 to b08f053 Compare July 27, 2026 13:10
@adrianarce-elemwave
adrianarce-elemwave force-pushed the feat/inlcude-ia-infrastructure branch from b08f053 to f194b5e Compare July 28, 2026 08:05
Comment thread .github/workflows/ubuntu.yml
Comment thread simulations/SEMBA_FDTD_temp.log Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this used for something? Possibly a mistake to include it?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Accidentally added. Removed


module Solver_m

use logUtils_m

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to the error report module?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The purpouse of this module is to show info that does not involve an error. It could be absorbed by errorreport module. However, some cycling import where found while using error report module regarding mpi. Thats why we decided to split it apart.

Comment thread CMakePresets.json Outdated
"name": "rls",
"generator": "Ninja",
"binaryDir": "build-rls/",
"binaryDir": "build/",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it was better the old way. If you want compatibility with py test you have two options:

  • Use an environmental variable which sets SEMBA_EXE
  • Create a symbolic link from build-rls/ to build/. (I usually do this).

If we set all binaryDirs to build/ we have to recompile everything everytime we change some set.

@adrianarce-elemwave
adrianarce-elemwave merged commit 44593f2 into new-feature-observation Aug 11, 2026
21 checks passed
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.

2 participants