Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
f7f2d5e
Retrying with fortran2cpp
lmdiazangulo May 17, 2026
520d185
Migrating unit by unit
lmdiazangulo May 18, 2026
c5fc629
Translates healer
lmdiazangulo May 19, 2026
11ea24b
feat: translate remaining Fortran files (preprocess_geom, wires) to C++
lmdiazangulo May 19, 2026
699f0d8
fix: add missing #include headers across all C++ source files
lmdiazangulo May 19, 2026
391c6a7
fix: replace empty stub functions with TODO-commented implementations
lmdiazangulo May 19, 2026
6b42cc8
feat: C++ translation of semba-fdtd with working FDTD solver
lmdiazangulo May 19, 2026
62c9cb1
feat: implement TF/SF plane wave with full Huygens box and CFL-limite…
lmdiazangulo May 19, 2026
87a7d04
feat: translate timestepping.F90 to C++ via Fortran2Cpp (3032 lines)
lmdiazangulo May 20, 2026
786bca7
Retranslating cpp files with stubs
lmdiazangulo May 20, 2026
6930c2b
Removing cpp_build.
lmdiazangulo May 20, 2026
7512a86
feat: retranslate observation.F90 and errorreport.F90 (357K chars total)
lmdiazangulo May 20, 2026
7f69442
smbjson tests suppose to pass
lmdiazangulo May 20, 2026
ec36019
Making progress
lmdiazangulo May 21, 2026
019c3b6
stopping iterstions with local llm
lmdiazangulo May 23, 2026
f173253
Port C++ unit tests for conformal, MTLN, observation, and smbjson mod…
lmdiazangulo May 23, 2026
774ee7f
Port ngspice circuit_m to C++ and enable all 8 spice unit tests.
lmdiazangulo May 23, 2026
0df580a
iterating with gpt
lmdiazangulo May 24, 2026
18c59da
Add PEC planewave migration regression
lmdiazangulo May 24, 2026
68aa91e
Fix C++ planewave TF/SF migration behavior
lmdiazangulo May 24, 2026
96a7fd7
Fix planewave PEC strict probe parity
lmdiazangulo May 24, 2026
867f039
Activate C++ MTLN solver path and unit gate (Cursor agent).
lmdiazangulo May 24, 2026
21f53c7
Fix MTLN probe basename to match Fortran (Cursor agent).
lmdiazangulo May 24, 2026
f6528b4
Codex agent: planewave PEC strict probe parity
lmdiazangulo May 24, 2026
aa33d6d
Fix MTLN advanceCurrent q3 coupling to match Fortran (Cursor agent).
lmdiazangulo May 24, 2026
410bc16
Codex agent: remove untrusted Mur pulse tests
lmdiazangulo May 24, 2026
443a926
Green MTLN Tier 1 standalone tests and add slim CI gate.
lmdiazangulo May 24, 2026
408eab7
Codex agent: fix pw-in-box exact probe parity
lmdiazangulo May 24, 2026
63f0ffe
Codex agent: add classic Holland wire probe support
lmdiazangulo May 24, 2026
dac2938
Codex agent: add bulk current probe outputs
lmdiazangulo May 25, 2026
0f6a269
Codex agent: include nodal source currents in bulk probes
lmdiazangulo May 25, 2026
f39c8fe
Codex agent: handle surface intervals in map VTK output
lmdiazangulo May 25, 2026
ed1f8ba
Codex agent: add classic wire VTK map output
lmdiazangulo May 25, 2026
436f9ec
Codex agent: write current-density VTK maps
lmdiazangulo May 25, 2026
7e4a46c
Codex agent: emit movie probe output files
lmdiazangulo May 25, 2026
6749337
Codex agent: match conformal sphere VTK map counts
lmdiazangulo May 25, 2026
29ec64a
Add nomtln slim gate script and planewave Mur mapping notes.
lmdiazangulo May 25, 2026
1458286
Pushing
lmdiazangulo May 25, 2026
ad62fc0
codex agent: match bulk current probes to fortran
lmdiazangulo May 25, 2026
80f077f
Codex agent: fix planewave MUR exact parity
lmdiazangulo May 25, 2026
b16d5f4
Codex agent: checkpoint Holland wire parity work
lmdiazangulo May 25, 2026
b290e24
Codex agent: checkpoint before nodal mismatch investigation
lmdiazangulo May 25, 2026
539e882
Codex agent: match Fortran grid reciprocals
lmdiazangulo May 26, 2026
6d32390
[codex] Fix towel rack shorting-plane Holland PEC handling
lmdiazangulo May 26, 2026
325722a
codex agent: remove slim scaffold and add performance benchmark
lmdiazangulo May 26, 2026
258df47
codex agent: improve fdtd timestep performance
lmdiazangulo May 26, 2026
3cee115
codex agent: align fdtd loop order with c++ layout
lmdiazangulo May 26, 2026
ad92c46
codex agent: use pointer bases in fdtd sweeps
lmdiazangulo May 26, 2026
bab900b
Fix MTLN coupling and PML padding (codex agent)
lmdiazangulo May 26, 2026
c944daf
Keep Maloney SGBC and periodic planewave tests
lmdiazangulo May 26, 2026
2f834bb
Fix remaining C++ migration test failures
lmdiazangulo May 26, 2026
23ee827
Collapse C++ source wrappers (codex agent)
lmdiazangulo May 27, 2026
83d984e
Implement C++ HDF5 movie output and output migration infrastructure.
lmdiazangulo May 27, 2026
3eaf87f
Codex agent: advance MPI planewave parity
lmdiazangulo May 27, 2026
b94273f
Codex agent: restore planewave parity
lmdiazangulo May 27, 2026
6cd9c18
Codex agent: align C++ timestepping structure
lmdiazangulo May 27, 2026
f44431e
Improve C++ MPI performance for field updates
lmdiazangulo May 27, 2026
0d2c39c
Reorgqnizing repo
lmdiazangulo May 29, 2026
98b24ba
Restructure sources under src/, src_cpp/, and pyWrapper/
lmdiazangulo May 29, 2026
c7020a3
Drop C++ test shell scripts; run pytest directly in CI
lmdiazangulo May 29, 2026
a90d2f4
Honor double-precision flag in C++ probe output and add parity tests.
lmdiazangulo May 29, 2026
48038e6
codex agent: tighten nodal/holland Fortran parity and enforce non-MTL…
lmdiazangulo May 29, 2026
30eabc4
Update pw-in-box probe goldens from Fortran reference
lmdiazangulo May 29, 2026
30cda82
codex agent: migrate CLI runtime messaging for mtln/mpi
lmdiazangulo May 30, 2026
ac432ab
codex agent: replace idchildtable with unordered id map
lmdiazangulo May 30, 2026
0b71bdd
Enhance SEMBA FDTD with new features and improvements
lmdiazangulo May 31, 2026
747bd70
Prepares action for CXX build
lmdiazangulo May 31, 2026
411d1f6
Refactor MTLN solver and preprocess logic; enhance MPI tests and perf…
lmdiazangulo Jun 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
30 changes: 18 additions & 12 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,33 +25,26 @@ jobs:
{name: 'gcc', version: 11}
]
build-type: ["Release"]
cxx: ["ON", "OFF"]
mpi: ["ON", "OFF"]
mtln: ["ON", "OFF"]
hdf: ["ON"]
double-precision: ["OFF"]

include:
# Disable by lack of space on github action
# - os: ubuntu-latest
# compiler: {name: 'nvidia-hpc', version: '24.5'}
# build-type: "Release"
# mpi: "OFF"
# mtln: "OFF"
# hdf: "OFF"
# double-precision: "OFF"

- os: ubuntu-latest # This is the only test with double precision.
compiler: {name: 'intel', version: '2025.1'}
build-type: "Release"
mpi: "ON"
mtln: "OFF"
hdf: "ON"
double-precision: "ON"
cxx: "OFF"

fail-fast: false

runs-on: ${{ matrix.os }}
name: ${{matrix.os}} / ${{matrix.compiler.name}} / ${{matrix.build-type}}-mpi(${{matrix.mpi}})-mtln(${{matrix.mtln}})-hdf(${{matrix.hdf}})-double(${{matrix.double-precision}})
name: ${{matrix.os}} / ${{matrix.compiler.name}} / ${{matrix.build-type}}-cxx(${{matrix.cxx}})-mpi(${{matrix.mpi}})-mtln(${{matrix.mtln}})-hdf(${{matrix.hdf}})-double(${{matrix.double-precision}})

steps:
- name: Checkout
Expand All @@ -74,7 +67,13 @@ jobs:
run: |
sudo apt update
sudo apt install libhdf5-dev libopenmpi-dev


- name: Install cxx required packages
if: matrix.cxx=='ON'
run: |
sudo apt update
sudo apt install nlohmann-json3-dev

- name: Setup fortran compiler
uses: fortran-lang/setup-fortran@v1
id: setup-fortran
Expand All @@ -86,17 +85,24 @@ jobs:
run: |
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=${{matrix.build-type}} \
-DSEMBA_FDTD_BUILD_CXX=${{matrix.cxx}} \
-DSEMBA_FDTD_ENABLE_MPI=${{matrix.mpi}} \
-DSEMBA_FDTD_ENABLE_HDF=${{matrix.hdf}} \
-DSEMBA_FDTD_ENABLE_MTLN=${{matrix.mtln}} \
-DSEMBA_FDTD_ENABLE_DOUBLE_PRECISION=${{matrix.double-precision}}
cmake --build build -j

- name: Run unit tests
run: build/bin/fdtd_tests
run: |
if [ "${{ matrix.cxx }}" = "ON" ]; then
build/bin/fdtd_cpp_tests
else
build/bin/fdtd_tests
fi

- name: Run python tests
env:
SEMBA_EXE: ${{ github.workspace }}/build/bin/${{ matrix.cxx == 'ON' && 'semba-fdtd-cpp' || 'semba-fdtd' }}
SEMBA_FDTD_ENABLE_MPI: ${{ matrix.mpi }}
SEMBA_FDTD_ENABLE_MTLN: ${{ matrix.mtln }}
SEMBA_FDTD_ENABLE_HDF: ${{ matrix.hdf }}
Expand Down
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ venv/
build/
build-*/
build_test/
cpp_build/

CMakeUserPresets.json
CMakeSettings.json
Expand All @@ -62,16 +63,17 @@ probes*txt

__pycache__/
*/__pycache__/
src_pyWrapper/__pycache__/*
pyWrapper/__pycache__/*
tmp/
tmp_cases/
testData/outputs/paul/paul_8.6_square.txt
testing_hdf5_writing_and_reading.h5
fort.17
build
build*/
cpp_build*/

src_main_pub/version.F90
src/main/version.F90
git_info.txt

.venv/build2/
Expand Down
48 changes: 30 additions & 18 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,23 +43,35 @@ python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt

pytest test/ --durations=20

# Run by marker
pytest test/ -m mtln
pytest test/ -m hdf
pytest test/ -m mpi
# Fortran full suite (set feature flags to match the binary)
export SEMBA_EXE=$PWD/build/bin/semba-fdtd
export SEMBA_FDTD_ENABLE_MTLN=ON
export SEMBA_FDTD_ENABLE_HDF=ON
export SEMBA_FDTD_ENABLE_MPI=ON
PYTHONPATH=. pytest test/ --durations=20

# C++ migration gates (build semba-fdtd-cpp first, then pytest by marker)
cmake -S . -B cpp_build_nomtln -DSEMBA_FDTD_BUILD_CXX=ON \
-DSEMBA_FDTD_ENABLE_MTLN=OFF -DSEMBA_FDTD_ENABLE_MPI=OFF -DSEMBA_FDTD_ENABLE_HDF=OFF \
-DSEMBA_FDTD_MAIN_LIB=ON -DSEMBA_FDTD_EXECUTABLE=ON -DSEMBA_FDTD_ENABLE_TEST=ON
cmake --build cpp_build_nomtln -j --target semba-fdtd-cpp
export SEMBA_EXE=$PWD/cpp_build_nomtln/bin/semba-fdtd-cpp
export SEMBA_FDTD_ENABLE_MTLN=OFF SEMBA_FDTD_ENABLE_MPI=OFF SEMBA_FDTD_ENABLE_HDF=OFF
PYTHONPATH=. pytest test/pyWrapper/ -m cpp_migration

# HDF / MTLN: same pattern with cpp_build_hdf or cpp_build_mtln and -m hdf or
# test/pyWrapper/test_mtln_standalone.py -m mtln_standalone
```

Test markers are defined in `pytest.ini`: `mtln`, `codemodel`, `hdf`, `mpi`.
Test markers are defined in `pytest.ini` (`cpp_migration`, `hdf`, `mtln_standalone`, `mtln`, `mpi`, …).

Unit test source is under `test/` in subdirectories: `mtln/`, `smbjson/`, `conformal/`, `observation/`, `rotate/`, `vtk/`, `pyWrapper/`.
Unit test source: Fortran/C++ GoogleTest under `test/fortran/` (`mtln/`, `smbjson/`, etc.); C++ solver tests under `test/cpp/`; Python integration tests under `test/pyWrapper/`.

## Architecture

### Language & Build
- Primary language: Fortran (free-form, ~49K+ lines)
- C/C++ used only for unit tests (GoogleTest)
- C++ solver in `src_cpp/` (mirrors `src/` layout); C++ also used for unit tests (GoogleTest)
- Python used for integration tests and the `pyWrapper/` interface
- Build system: CMake 3.15+

Expand All @@ -82,23 +94,23 @@ semba-types (FDTD/NFDE/MTLN/conformal type definitions)

### Execution Flow

1. `src_main_pub/launcher.F90` — entry point, creates `semba_fdtd_t`
2. `src_main_pub/semba_fdtd.F90` — main module:
1. `src/main/launcher.F90` — entry point, creates `semba_fdtd_t`
2. `src/main/semba_fdtd.F90` — main module:
- `init()`: load input (`.fdtd.json` via smbjson, or legacy `.fdtd` NFDE format)
- `launch()`: run the time-stepping loop
- `end()`: finalize and write outputs
3. Time-step loop in `src_main_pub/timestepping.F90`:
3. Time-step loop in `src/main/timestepping.F90`:
- Update E-fields → apply materials, boundary conditions, wire coupling
- Update H-fields → apply MTLN/SPICE if enabled
- Sample observation probes, write snapshots

### Key Source Directories

- `src_main_pub/` — core solver, time-stepping, preprocessing, geometry, main types
- `src_conformal/` — conformal mapping (staircase reduction)
- `src_mtln/` — MTLN circuit/transmission-line solver and ngspice coupling
- `src_json_parser/` — `.fdtd.json` input format parser
- `src_wires_pub/` — wire/thin-wire models
- `src/main/` — core solver, time-stepping, preprocessing, geometry, main types
- `src/conformal/` — conformal mapping (staircase reduction)
- `src/mtln/` — MTLN circuit/transmission-line solver and ngspice coupling
- `src/json_parser/` — `.fdtd.json` input format parser
- `src/wires/` — wire/thin-wire models
- `external/` — submodules: `json-fortran`, `fhash`, `googletest`, `ngspice`, `lapack`

### Input/Output
Expand All @@ -109,7 +121,7 @@ semba-types (FDTD/NFDE/MTLN/conformal type definitions)

### Optional Features and Conditional Compilation

Many modules are only compiled when their CMake flag is enabled. The smbjson parser, MTLN solver, and HDF5 output are all conditionally compiled. MPI support wraps communication in `src_main_pub/mpicomm.F90` and is activated via the `SEMBA_FDTD_ENABLE_MPI` flag.
Many modules are only compiled when their CMake flag is enabled. The smbjson parser, MTLN solver, and HDF5 output are all conditionally compiled. MPI support wraps communication in `src/main/mpicomm.F90` and is activated via the `SEMBA_FDTD_ENABLE_MPI` flag.

## Platform Notes

Expand Down
116 changes: 58 additions & 58 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
cmake_minimum_required (VERSION 3.15)

# Allow choosing between Fortran and C++ builds
option(SEMBA_FDTD_BUILD_CXX "Build C++ version instead of Fortran" OFF)

if(SEMBA_FDTD_BUILD_CXX)
message(STATUS "Building C++ version of semba-fdtd")
include("${CMAKE_CURRENT_SOURCE_DIR}/cpp_build.cmake")
return()
endif()

project(semba-fdtd Fortran)
enable_language (Fortran)

Expand All @@ -21,7 +30,7 @@ option(SEMBA_FDTD_ENABLE_DOUBLE_PRECISION "Use double precision (CompileWithReal
option(SEMBA_FDTD_ENABLE_TEST "Compile tests" ON)

option(SEMBA_FDTD_ENABLE_INTEL_XHOST_OPTIMIZATION "When compiling in Release, enables the -xHost optimization flag (not supported in github actions)" OFF)
option(SEMBA_FDTD_ENABLE_INTEL_IPO "When compiling in Release, enables the interprocedural optimization" OFF)
option(SEMBA_FDTD_ENABLE_INTEL_IPO "When compiling in Release, enables interprocedural optimization" OFF)

option(SEMBA_FDTD_EXECUTABLE "Compiles executable" ON)
option(SEMBA_FDTD_MAIN_LIB "Compiles main library" ON)
Expand Down Expand Up @@ -117,13 +126,6 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
if(CMAKE_Fortran_COMPILER_ID MATCHES "IntelLLVM")
message(STATUS "Using IntelLLVM (ifx) flags")

# This prevents a compilation error happening due to visual studio headers being too strict.
# It can possibly can be removed in the future.
#add_compile_definitions("$<$<COMPILE_LANGUAGE:C,CXX>:-D_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH>")
#add_compile_options($<$<COMPILE_LANGUAGE:Fortran>:/nofpp>)
#set(CMAKE_Fortran_FLAGS "/Qopenmp")
#set(CMAKE_CXX_FLAGS "/Qopenmp")

# Debug flags - enable full debugging support for breakpoints
set(CMAKE_Fortran_FLAGS_DEBUG "/debug:full /Od /traceback /check:all,nouninit /Zi /debug-parameters:all /warn:interfaces")
set(CMAKE_CXX_FLAGS_DEBUG "/Zi /Od /RTC1")
Expand All @@ -146,23 +148,23 @@ endif()
add_subdirectory(external)

add_library(semba-types
"src_main_pub/nfde_types.F90"
"src_main_pub/fdetypes.F90"
"src_mtln/mtln_types.F90"
"src_conformal/conformal_types.F90"
"src_wires_pub/wires_types.F90"
"src_main_pub/lumped_types.F90"
"src/main/nfde_types.F90"
"src/main/fdetypes.F90"
"src/mtln/mtln_types.F90"
"src/conformal/conformal_types.F90"
"src/wires/wires_types.F90"
"src/main/lumped_types.F90"
)
target_link_libraries(semba-types ${MPI_Fortran_LIBRARIES})

add_library(semba-reports
"src_main_pub/errorreport.F90"
"src_main_pub/snapxdmf.F90"
"src/main/errorreport.F90"
"src/main/snapxdmf.F90"
)
target_link_libraries(semba-reports semba-types ${HDF5_LIBRARIES} ${HDF5_HL_LIBRARIES})

if(SEMBA_FDTD_ENABLE_SMBJSON)
add_subdirectory(src_json_parser)
add_subdirectory(src/json_parser)
if(PROJECT_IS_TOP_LEVEL)
set(SMBJSON_LIBRARIES smbjson)
else()
Expand All @@ -172,50 +174,50 @@ endif()
if (SEMBA_FDTD_ENABLE_MTLN)
set(NGSPICE_LIB ngspice)
add_definitions(-DCompileWithMTLN)
add_subdirectory(src_mtln)
add_subdirectory(src/mtln)
if (PROJECT_IS_TOP_LEVEL)
set(MTLN_LIBRARIES mtlnsolver ngspice_interface)
else()
set(MTLN_LIBRARIES mtlnsolver ngspice_interface PARENT_SCOPE)
endif()
endif()

add_subdirectory(src_conformal)
add_subdirectory(src/conformal)
set(CONFORMAL_LIBRARIES conformal)

if (SEMBA_FDTD_ENABLE_TEST)
add_subdirectory(external/googletest/)
add_subdirectory(test)
add_subdirectory(test/fortran)
endif()

if(SEMBA_FDTD_COMPONENTS_LIB)
add_library(semba-components
"src_main_pub/anisotropic.F90"
"src_main_pub/borderscpml.F90"
"src_main_pub/bordersmur.F90"
"src_main_pub/bordersother.F90"
"src_main_pub/electricdispersive.F90"
"src_main_pub/magneticdispersive.F90"
"src_main_pub/nodalsources.F90"
"src_main_pub/planewaves.F90"
"src_main_pub/pml_bodies.F90"
"src_main_pub/maloney_nostoch.F90"
"src_main_pub/lumped.F90"
"src_main_pub/dmma_thin_slot.F90"
"src_main_pub/farfield.F90"
"src_wires_pub/wires.F90"
"src_wires_pub/wires_mtln.F90"
"src/main/anisotropic.F90"
"src/main/borderscpml.F90"
"src/main/bordersmur.F90"
"src/main/bordersother.F90"
"src/main/electricdispersive.F90"
"src/main/magneticdispersive.F90"
"src/main/nodalsources.F90"
"src/main/planewaves.F90"
"src/main/pml_bodies.F90"
"src/main/maloney_nostoch.F90"
"src/main/lumped.F90"
"src/main/dmma_thin_slot.F90"
"src/main/farfield.F90"
"src/wires/wires.F90"
"src/wires/wires_mtln.F90"
)
target_link_libraries(semba-components semba-types semba-reports ${MTLN_LIBRARIES})
endif()

if(SEMBA_FDTD_OUTPUTS_LIB)
add_library(semba-outputs
"src_main_pub/mpicomm.F90"
"src_main_pub/observation.F90"
"src_main_pub/vtk.F90"
"src_main_pub/xdmf.F90"
"src_main_pub/xdmf_h5.F90"
"src/main/mpicomm.F90"
"src/main/observation.F90"
"src/main/vtk.F90"
"src/main/xdmf.F90"
"src/main/xdmf_h5.F90"
)
target_link_libraries(semba-outputs
semba-components
Expand All @@ -224,30 +226,28 @@ if(SEMBA_FDTD_OUTPUTS_LIB)
endif()

if(SEMBA_FDTD_MAIN_LIB)
# Prepares variables containing information on commit-hash and build flags.
# This information is only available at the configuration stage.
set(PROGRAM_NAME "semba-fdtd")
include("${CMAKE_CURRENT_SOURCE_DIR}/get_commit_info.cmake")
configure_file(
${CMAKE_SOURCE_DIR}/src_main_pub/version.F90.in
${CMAKE_SOURCE_DIR}/src_main_pub/version.F90
${CMAKE_SOURCE_DIR}/src/main/version.F90.in
${CMAKE_SOURCE_DIR}/src/main/version.F90
@ONLY
)

add_library(semba-main
"src_main_pub/semba_fdtd.F90"
"src_main_pub/calc_constants.F90"
"src_main_pub/nfde_rotate.F90"
"src_main_pub/EpsMuTimeScale.F90"
"src_main_pub/getargs.F90"
"src_main_pub/healer.F90"
"src_main_pub/preprocess_geom.F90"
"src_main_pub/storegeom.F90"
"src_main_pub/version.F90"
"src_main_pub/postprocess.F90"
"src_main_pub/interpreta_switches.F90"
"src_main_pub/resuming.F90"
"src_main_pub/timestepping.F90"
"src/main/semba_fdtd.F90"
"src/main/calc_constants.F90"
"src/main/nfde_rotate.F90"
"src/main/EpsMuTimeScale.F90"
"src/main/getargs.F90"
"src/main/healer.F90"
"src/main/preprocess_geom.F90"
"src/main/storegeom.F90"
"src/main/version.F90"
"src/main/postprocess.F90"
"src/main/interpreta_switches.F90"
"src/main/resuming.F90"
"src/main/timestepping.F90"
)
target_link_libraries(semba-main
semba-outputs
Expand All @@ -257,7 +257,7 @@ endif()

if (SEMBA_FDTD_EXECUTABLE)
add_executable(semba-fdtd
"src_main_pub/launcher.F90"
"src/main/launcher.F90"
)
target_link_libraries(semba-fdtd semba-main semba-reports)
target_link_libraries(semba-fdtd ${MPI_Fortran_LIBRARIES})
Expand Down
Loading
Loading