Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
293 commits
Select commit Hold shift + click to select a range
1642894
Adds pretty printers for some mfem classes in Ubuntu
AlejandroMunozManterola Jun 17, 2025
6e01aed
Working towards parallelization, adds parallel tests
AlejandroMunozManterola Jun 17, 2025
738d56e
Changes center methods arguments to use meshes instead of passing fes
AlejandroMunozManterola Jun 17, 2025
37ef62e
Functional Initial Condidion 2D Mpi
AlejandroMunozManterola Jun 17, 2025
3304fd1
Changes to model and driver to make most model markers individual to …
AlejandroMunozManterola Jun 18, 2025
557c971
Templates DGOperatorFactory
AlejandroMunozManterola Jun 18, 2025
1d19800
TFSF works for simple cases where region split is inside a single Rank.
AlejandroMunozManterola Jun 23, 2025
41fef6f
Functional parallel maxwell w/ exporter probes. tfsf/ntff submeshing …
AlejandroMunozManterola Jun 24, 2025
576127b
Functional global for non-tfsf problems
AlejandroMunozManterola Jun 26, 2025
d6ff925
Changes to mpi global
AlejandroMunozManterola Jul 1, 2025
bbd0047
Improves sorting algorithm
AlejandroMunozManterola Jul 1, 2025
f8382bc
Working on cuda
AlejandroMunozManterola Jul 4, 2025
134ca1c
Fixes issues with where some gfs are defined (device or host)
AlejandroMunozManterola Jul 4, 2025
8ac8445
Adds more timers to debug speed information
AlejandroMunozManterola Jul 4, 2025
1663547
Pushing minimal change to tag base working version for CUDA
AlejandroMunozManterola Jul 4, 2025
cf9d712
Fixes test to check gf on host
AlejandroMunozManterola Jul 4, 2025
f92fc3b
Fixes initial condition not being applied to device objects
AlejandroMunozManterola Jul 4, 2025
ed9a19e
Cuda works w/o mpi
AlejandroMunozManterola Jul 7, 2025
8aafee0
Fixes mpi + cuda for global
AlejandroMunozManterola Jul 7, 2025
23f6462
Adds changes to global to fix and improve tfsf to gpu as much as poss…
AlejandroMunozManterola Jul 8, 2025
69dbddf
Adds option to finalise tfsf execution at set time, improving perform…
AlejandroMunozManterola Jul 8, 2025
9bf519f
Adds resonant fixes, refinement of mesh and resonant cases
AlejandroMunozManterola Jul 10, 2025
29d7fbc
Adds optional 'write' flag to Field and Point Probes to write files f…
AlejandroMunozManterola Jul 11, 2025
8b5db20
Changes to take into account possibility of pp or fp element in anoth…
AlejandroMunozManterola Jul 11, 2025
f2843f9
Code and style fixes for point and field probe exports
AlejandroMunozManterola Jul 11, 2025
baf291b
Restores capability to run mpi with or without cuda
AlejandroMunozManterola Jul 14, 2025
71f1c82
Fixes definitions and adds capacity to choose device through argument…
AlejandroMunozManterola Jul 14, 2025
880a98d
Improves data export and fixes minor qol
AlejandroMunozManterola Jul 14, 2025
fe6fd81
Adds 2D resonant circle case with besselj6 initial condition
AlejandroMunozManterola Jul 14, 2025
57f3c7e
Fixes simulation export issue with initialization value and adapts ne…
AlejandroMunozManterola Jul 14, 2025
53d929d
Fixes commented code from template process, fixes RCS from parallel r…
AlejandroMunozManterola Jul 18, 2025
a251404
fixes minor deprecation wwarning
AlejandroMunozManterola Jul 18, 2025
73c149c
Adds paper tests, adds implementation of DomainSnapshot class probe
AlejandroMunozManterola Sep 2, 2025
9e4a5f5
Moves collection check to shared method
AlejandroMunozManterola Sep 3, 2025
634d81a
Adds fixes to DomainSnapshot. wip to save parallel meshes
AlejandroMunozManterola Sep 3, 2025
f307236
Fully implements DomainSnapshot probes with custom data class, modifi…
AlejandroMunozManterola Sep 5, 2025
655757d
Refactors exporting for probes, now unified. Reorganises test info.
AlejandroMunozManterola Sep 9, 2025
0bda106
Fixes Statistics not being saved inside new Exports unified folder.
AlejandroMunozManterola Sep 9, 2025
e0a1d97
Starts work on L2Difference implementation for testing, minor fixes.
AlejandroMunozManterola Sep 10, 2025
d02bbb1
adds node position and mesh loading
AlejandroMunozManterola Sep 10, 2025
4cb0f0c
Adds function type loader.
AlejandroMunozManterola Sep 10, 2025
7bee7e0
Adds mask to determine which fieldpols contribute to the L2 calculation
AlejandroMunozManterola Sep 10, 2025
fc02f19
Redoes polarization and direction algorithm to not depend on masks. I…
AlejandroMunozManterola Sep 11, 2025
0040ba7
Adds l2 difference algorithm considering polarization values, removes…
AlejandroMunozManterola Sep 11, 2025
b32222b
Adds missing power factor to vector subtraction, then performs sqrt
AlejandroMunozManterola Sep 11, 2025
e591987
Adds export file to save/export l2difference value, modifies cmake to…
AlejandroMunozManterola Sep 11, 2025
22b34d1
Fixes test path searching to target expected folders and files.
AlejandroMunozManterola Sep 11, 2025
dd1dcbf
Fixes mesh saving algorithm rounding values to nearest integer, causi…
AlejandroMunozManterola Sep 11, 2025
ebfeec8
L2Diff now takes into account correct field scale values at initial t…
AlejandroMunozManterola Sep 12, 2025
d1cb5e1
Fixes issue with DomainSnapshotProbes where the saved fields were alw…
AlejandroMunozManterola Sep 12, 2025
9cb3241
Redoes RMS algorithm to incorporate all normalization terms into it.
AlejandroMunozManterola Sep 12, 2025
383f0d5
Fixes mesh indexing during data reading process (directory was arbitr…
AlejandroMunozManterola Sep 15, 2025
221fc63
Adds all remaining tests and comments GPU overflowing test in script.
AlejandroMunozManterola Sep 15, 2025
2fab0d1
Adds more tests for paper runs, adapts test file accordignly.
AlejandroMunozManterola Sep 15, 2025
8cf1ea6
Fixes path for legendre open basis in scripts.
AlejandroMunozManterola Sep 15, 2025
53e27c9
Fixes output bugs, fixes debug crash if p and center were not dimensi…
AlejandroMunozManterola Sep 18, 2025
38692df
Adds certain folders to .gitignore
AlejandroMunozManterola Sep 18, 2025
69980b6
Minor changes to definitions. Reorganises test data into more consist…
AlejandroMunozManterola Sep 25, 2025
65bc42c
Updates gitignore and adds other files
AlejandroMunozManterola Oct 1, 2025
7848edd
Fixes issue with probe header disappearing
AlejandroMunozManterola Oct 1, 2025
6e32654
Various changes to global operator, improves CUDA performance on mult…
AlejandroMunozManterola Oct 1, 2025
5d6597d
updated files
AlejandroMunozManterola Oct 3, 2025
94c3e80
Fixes probes
AlejandroMunozManterola Oct 3, 2025
9d42626
Habemus RCS 3D
AlejandroMunozManterola Oct 3, 2025
0f0710b
Removes deprecated code and updates some methods
AlejandroMunozManterola Oct 7, 2025
208cd57
Removes unneeded data
AlejandroMunozManterola Oct 8, 2025
97e8d89
Adds low res tests for 3D RCS cases and removes deprecated ones
AlejandroMunozManterola Oct 8, 2025
f60baf0
Adds sbc and tfsf dsu tagging for possible partitioning of mesh, remo…
AlejandroMunozManterola Oct 8, 2025
1486e5b
updates driver
AlejandroMunozManterola Oct 8, 2025
33297ed
re-fixes rcs, adds 3D cases for field superposition, adds framework f…
AlejandroMunozManterola Oct 10, 2025
b39146c
Adds frequency dft to fieldsuperposition
AlejandroMunozManterola Oct 10, 2025
82c201f
Reorganises methods, adds cross phase component to frequency phasors.
AlejandroMunozManterola Oct 10, 2025
0a307e9
Adds final changes to field superposition so it works with Domain pro…
AlejandroMunozManterola Oct 14, 2025
9720257
modifies test to work with new definitions in field superposition
AlejandroMunozManterola Oct 15, 2025
21d485b
Starts working towards implicit solvers
AlejandroMunozManterola Oct 15, 2025
835e298
Merge branch 'parallelization' into dev
AlejandroMunozManterola Oct 15, 2025
cd0d061
Implements first changes towards implicit solvers
AlejandroMunozManterola Oct 16, 2025
c66472c
Merge branch 'dev', remote-tracking branch 'origin' into parallelization
AlejandroMunozManterola Oct 16, 2025
cf5cfb1
Merge branch 'alejandro' into sbc
AlejandroMunozManterola Oct 16, 2025
4c1f187
Fixes bug in ImplicitSolve
AlejandroMunozManterola Oct 16, 2025
7f6342c
Starts implementation of sbc, adds pair finder method and basic class…
AlejandroMunozManterola Oct 16, 2025
a9e0fb3
Mixes Manager and Solver into Solver, adds auto time stepping based o…
AlejandroMunozManterola Oct 16, 2025
9c5be1d
Adds Fields to SBCSolver and changes initialization on constructor
AlejandroMunozManterola Oct 16, 2025
615ba34
*Does not compile - Adding DGOperatorFactory to SBC_TDO, FES<->PFES t…
AlejandroMunozManterola Oct 16, 2025
bce7200
Fixes templating issue, compiles again
AlejandroMunozManterola Oct 16, 2025
ea4c13c
reorganises files, adds reading of sbc properties in driver, removes …
AlejandroMunozManterola Oct 17, 2025
652d7ab
restores tfsf_cutoff to implicit and explicit without altering the li…
AlejandroMunozManterola Oct 17, 2025
c562b74
Fixes driver option for ode solver using same name as internal variab…
AlejandroMunozManterola Oct 17, 2025
e0180d0
Adds conductive operator assembly and addition to global to avoid mod…
AlejandroMunozManterola Oct 17, 2025
f0a92ba
Fixes typo in inverse*cond matrix product
AlejandroMunozManterola Oct 17, 2025
f8cdb82
Removes non-returned value
AlejandroMunozManterola Oct 20, 2025
cd1a4b5
Removes deprecated methods, adds load of boundary materials to Model
AlejandroMunozManterola Oct 20, 2025
f5c74c4
Adds parallel objects to SBC Solver to be used as defaults.
AlejandroMunozManterola Oct 20, 2025
78a7524
Implements changes and test to verify SBC properties are correct when…
AlejandroMunozManterola Oct 23, 2025
e93fe67
Adds load and get methods for fields between global and sbc fields, t…
AlejandroMunozManterola Oct 23, 2025
8fbffd6
Fixes exception regarding SBC type BdrCond during operator assembly
AlejandroMunozManterola Oct 24, 2025
54374a6
Changes to SBCProperties constructor, extends driver to account for S…
AlejandroMunozManterola Oct 24, 2025
c9fdb3c
Changes solo-material with two tags into two sbc materials with indiv…
AlejandroMunozManterola Oct 24, 2025
17da139
Adds EigenSolving global operator for D = S-1 A S, stores nodal<->mod…
AlejandroMunozManterola Oct 24, 2025
e43328b
Adds modal and nodal vectors with their initialization
AlejandroMunozManterola Oct 24, 2025
cdfe0e8
removes deprecated code
AlejandroMunozManterola Oct 24, 2025
6b69291
Corrects sizes for solution vectors
AlejandroMunozManterola Oct 24, 2025
fff2e61
Adds unitary test for EigenSolver with known case
AlejandroMunozManterola Oct 24, 2025
86543c2
Adds testable method to update modal values (S-1 x = q)
AlejandroMunozManterola Nov 4, 2025
1eb5733
adds testable update nodal method
AlejandroMunozManterola Nov 4, 2025
23a0213
Adds testable eigenvaluesystem evolution method
AlejandroMunozManterola Nov 4, 2025
c412700
Adds test for storing eigvects and vals in loadEigenVectorFromOperator
AlejandroMunozManterola Nov 4, 2025
17026f4
Fixes issue with row storage, test now verifies corrected expected ou…
AlejandroMunozManterola Nov 4, 2025
015944e
Adds new node information, adds fields loaders and unloaders
AlejandroMunozManterola Nov 5, 2025
88af606
Changes how information is stored for sbcsolver, adds nodal to modal …
AlejandroMunozManterola Nov 5, 2025
83160c8
Extends loading onto nodal to all dof in ghost elements
AlejandroMunozManterola Nov 5, 2025
489fc4f
adds evolution operator and shifts previous time modal storage
AlejandroMunozManterola Nov 5, 2025
116837c
cleans up deprecated code
AlejandroMunozManterola Nov 5, 2025
48fb8da
removes more deprecated code and moves dof pair algorithm over to Solver
AlejandroMunozManterola Nov 5, 2025
035ba80
Cleans code to pursue new implementation
AlejandroMunozManterola Nov 6, 2025
586fcd2
Implements load and unload methods, temporarily removes phys_tag from…
AlejandroMunozManterola Nov 6, 2025
0310fff
Renaming
AlejandroMunozManterola Nov 6, 2025
1ad464d
Fixes issues with target Ids having the wrong offset, adds pec as def…
AlejandroMunozManterola Nov 6, 2025
976dfdb
Fixes load/unload test sgbc
AlejandroMunozManterola Nov 6, 2025
15d7a8c
Adjusts sigma to correct solver value
AlejandroMunozManterola Nov 13, 2025
caa7b9d
gitignore
AlejandroMunozManterola Nov 13, 2025
b6c1949
Fixes typo in hesthaven solver
AlejandroMunozManterola Nov 13, 2025
f745fa0
Adds gpu memory statistics writing
AlejandroMunozManterola Nov 13, 2025
0772bd9
spacing
AlejandroMunozManterola Nov 13, 2025
0ba06d9
Removes deprecated test files, adds template test files
AlejandroMunozManterola Nov 13, 2025
a4e6972
Fixes sigma coefficient bug when loading on driver
AlejandroMunozManterola Nov 13, 2025
3269849
Adds full state loaders for SGBC, adds test to verify functionality
AlejandroMunozManterola Nov 13, 2025
9da21b9
Adds gaussian evol comparison test (fails for now)
AlejandroMunozManterola Nov 13, 2025
a1e1a6b
Fixes typos and whitespaces
AlejandroMunozManterola Nov 25, 2025
b20c611
Uses correct center on initialfields to load conditions
AlejandroMunozManterola Nov 25, 2025
70f423a
changes sgbc construction to factory methods for customization of the…
AlejandroMunozManterola Nov 25, 2025
5df98b6
Adds 2D BesselJ6 templates for paper
AlejandroMunozManterola Nov 25, 2025
b2ae2db
Adds tfsf final time argument to 3D RCS json for more efficient simul…
AlejandroMunozManterola Nov 25, 2025
8aac4fc
Code cleanup
AlejandroMunozManterola Nov 25, 2025
6971181
Adds 1D SGBC test data and extends node-finder methods to work in 1D.
AlejandroMunozManterola Nov 26, 2025
c00297d
Fixes typo
AlejandroMunozManterola Nov 26, 2025
72b1193
Adds material properties for test sgbc, adds restriction to json for …
AlejandroMunozManterola Nov 26, 2025
4d96b94
Adds first integration between SGBC Solvers into core Solver. Modifie…
AlejandroMunozManterola Nov 26, 2025
042b317
Moves zeroing of wrapper modal vectors to nodepairinfo constructor
AlejandroMunozManterola Nov 26, 2025
d44b35b
Starts rework towards introducing forcing terms
AlejandroMunozManterola Dec 1, 2025
2a5633c
Fixes most sgbc tests, work towards fixing step
AlejandroMunozManterola Dec 2, 2025
32aba0e
Fixes all previous SGBC tests to new algorithm
AlejandroMunozManterola Dec 2, 2025
1771650
Fixes multiple tests, removes deprecated tests
AlejandroMunozManterola Dec 3, 2025
444eeb1
Working towards SGBC implementation in Global
AlejandroMunozManterola Dec 3, 2025
305f407
Implements a pole-residue algorithm to calculate parameters of materi…
AlejandroMunozManterola Dec 10, 2025
67180b7
Fixes sigma value for sgbc
AlejandroMunozManterola Dec 11, 2025
2822cf5
Starts rework towards Crank-Nicholson SGBC Solver
AlejandroMunozManterola Dec 11, 2025
1baf22d
Working towards CN Solver-type SGBC solution
AlejandroMunozManterola Dec 12, 2025
64433ed
Adds SGBC Wrapper generation to main solver, fixes circular dependency
AlejandroMunozManterola Dec 12, 2025
bc6a994
Fixes bugs in driver to add SGBCToMarker, adds SGBC-TFSF assembly in …
AlejandroMunozManterola Dec 15, 2025
7d660f0
Splits submesh to parent id nodes into tfsf and sgbc based
AlejandroMunozManterola Dec 15, 2025
8931e39
Adds mfem namespace
AlejandroMunozManterola Dec 15, 2025
da5200b
Explicitly adds mfem:: namespace instead of 'using'
AlejandroMunozManterola Dec 15, 2025
93edb2e
Solves circular dependency, swaps wrappers to global evolution, adds …
AlejandroMunozManterola Dec 16, 2025
55ea757
Fixes full iteration for mult and sgbc sub-mult (flux has issues, WIP)
AlejandroMunozManterola Dec 17, 2025
e90b937
Adds 1D upwind SMA case
AlejandroMunozManterola Jan 13, 2026
fe58066
Fixes most issues with SGBC, still pending to fix output
AlejandroMunozManterola Jan 13, 2026
b2f5eb6
Commit before starting moving SGBCWrappers
AlejandroMunozManterola Jan 14, 2026
d1e7283
Functional SGBC
AlejandroMunozManterola Jan 15, 2026
ee86899
Updates SGBC json and mesh for finer planewave capabilities, comments…
AlejandroMunozManterola Jan 15, 2026
0c99051
Adds all necessary changes for 2D SGBC and multiple node pairs for sa…
AlejandroMunozManterola Jan 16, 2026
02d1847
Fixes issue regarding specific 2D element matching
AlejandroMunozManterola Jan 22, 2026
cb7ed7f
Fixes issue with space setting for temporary vectors
AlejandroMunozManterola Jan 22, 2026
f7280a5
Fixes sgbcoperator initialization which overrode TFSF dimensions and …
AlejandroMunozManterola Jan 22, 2026
005734f
Sets pointprobes to always write to disk by default
AlejandroMunozManterola Jan 26, 2026
6655001
updates files to latest
AlejandroMunozManterola Feb 6, 2026
04ed819
Minor Fixes
AlejandroMunozManterola Feb 6, 2026
472bdaf
Fixes old bug that forced cases to keep local bilinearforms
AlejandroMunozManterola Feb 20, 2026
8a0e06c
Fixes probes working only on rank 0
AlejandroMunozManterola Feb 20, 2026
68a10d5
fixes all probe functionality for MPI and faulty CMakeLists dependency
AlejandroMunozManterola Feb 20, 2026
2282191
Makes some changes to probes so some write by default
AlejandroMunozManterola Feb 20, 2026
46fbf9f
Fixes probes exporting extra steps if dt was low enough
AlejandroMunozManterola Feb 23, 2026
87ef4ae
Cleans code
AlejandroMunozManterola Feb 23, 2026
5c64a41
Fully functional SGBC mfem-based algorithm
AlejandroMunozManterola Feb 24, 2026
d1b61af
Adds tests for 3D SGBC w curved elements too
AlejandroMunozManterola Feb 25, 2026
9380ed6
Drops mfem namespace
AlejandroMunozManterola Mar 4, 2026
b5e811a
Adds sgbc fluxbdr coefficients
AlejandroMunozManterola Mar 4, 2026
062292d
Moves definitions and adds helper function for driver sgbc bdr condit…
AlejandroMunozManterola Mar 4, 2026
35567d8
adds logic for true bdr sgbc capabilities
AlejandroMunozManterola Mar 4, 2026
9cfed45
Tentatively functional multidimensional SGBC with interior boundary c…
AlejandroMunozManterola Mar 4, 2026
96653f2
Add skin depth resolution check and update test cases for SGBC
AlejandroMunozManterola Mar 9, 2026
98d5167
autofy variables in checkSkinDepthResolution
AlejandroMunozManterola Mar 10, 2026
2fb2cb5
Implements "saves" for probes to allow saving a specific amount of st…
AlejandroMunozManterola Mar 11, 2026
4caab00
Adds driver for previous changes
AlejandroMunozManterola Mar 11, 2026
0fc7e5d
Adds warning for relaxation times
AlejandroMunozManterola Mar 11, 2026
ace93fb
Add model and mesh files for Maxwell simulations
AlejandroMunozManterola Mar 11, 2026
ad876aa
Add .log files to .gitignore
AlejandroMunozManterola Mar 11, 2026
076fa81
Enhance SGBC mesh resolution and refactor TFSF source application
AlejandroMunozManterola Mar 11, 2026
f647c5b
Enhance material properties documentation and improve temporal resolu…
AlejandroMunozManterola Mar 11, 2026
7643681
Fix temporal resolution calculations in SGBC solver by converting to …
AlejandroMunozManterola Mar 11, 2026
6429c1e
Refactor SGBC model and solver to use MPI communicator; update relate…
AlejandroMunozManterola Mar 12, 2026
6e55f2d
Refactor solver components and update test data
AlejandroMunozManterola Mar 12, 2026
d389961
Implement SGBC solver options and directory management for simulation…
AlejandroMunozManterola Mar 13, 2026
4ec6fc8
Update solver options and probe settings in multiple JSON configurati…
AlejandroMunozManterola Mar 13, 2026
4798265
Enhance performance in GlobalEvolution by precomputing SGBC lookups a…
AlejandroMunozManterola Mar 13, 2026
b321f36
Remove unused test case for 2D_TFSF_DBG_CASE and
AlejandroMunozManterola Mar 13, 2026
af58637
Refactor code structure for improved readability and maintainability
AlejandroMunozManterola Mar 17, 2026
88b82b6
Refactor SGBC handling in GlobalEvolution: implement checkpointing an…
AlejandroMunozManterola Mar 18, 2026
349fd17
Update SGBC handling: re-inject ghost values in finalizeSGBCStep and …
AlejandroMunozManterola Mar 18, 2026
718aedd
Fixes mismatching results at high conductivity values through extensi…
AlejandroMunozManterola Mar 18, 2026
b246f2e
Enhance SGBC handling for OpenMP parallelism: implement task list and…
AlejandroMunozManterola Mar 19, 2026
deea439
Update 2D SGBC input files and add multilayer configuration
AlejandroMunozManterola Mar 19, 2026
0f2dd20
Fixes tag
AlejandroMunozManterola Mar 20, 2026
67a6a88
Add SGBC setup notices and update material properties in JSON configu…
AlejandroMunozManterola Mar 20, 2026
7badbd8
Fix face orientation handling in GlobalEvolution constructor to ensur…
AlejandroMunozManterola Mar 20, 2026
b54d66b
Optimize SGBC state handling: replace deep copies with memcpy for eff…
AlejandroMunozManterola Mar 20, 2026
d93f78c
Enhance TFSF evaluation: add direct planewave evaluation and optimize…
AlejandroMunozManterola Mar 20, 2026
9cfb4ed
Update material properties in 1D_SGBC_Multilayer.json: adjust bulk co…
AlejandroMunozManterola Mar 20, 2026
c58897d
Adjust dense solve threshold in GlobalEvolution.h from 2000 to 600 fo…
AlejandroMunozManterola Mar 20, 2026
cfcc49e
Add 2D SGBC oblique multilayer mesh and configuration files for simul…
AlejandroMunozManterola Mar 23, 2026
b075015
Improve stability check in Solver::run: use isfinite for norm validat…
AlejandroMunozManterola Mar 23, 2026
73b90e2
Add 2D SGBC Oblique simulation files
AlejandroMunozManterola Mar 23, 2026
7081254
Improve instability warning in Solver::run: change error message to w…
AlejandroMunozManterola Mar 23, 2026
16fdb8f
Enhance SGBC functionality and performance
AlejandroMunozManterola Mar 23, 2026
b012661
Update 2D_SGBC_Oblique.json: Adjust relative permittivity and bulk co…
AlejandroMunozManterola Mar 23, 2026
d18d8a8
Refactor boundary condition handling in GlobalEvolution::Mult: use co…
AlejandroMunozManterola Mar 24, 2026
df7ae5c
Refactor element weight handling in partitioning: remove DSU structur…
AlejandroMunozManterola Mar 24, 2026
d9563a9
Update SGBC parameters in 1D and 2D multilayer configurations: adjust…
AlejandroMunozManterola Mar 24, 2026
fc002bb
Update material properties in 2D SGBC multilayer configurations: adju…
AlejandroMunozManterola Mar 24, 2026
e31d43a
Update time_step in 2D_SGBC_Multilayer.json for improved simulation a…
AlejandroMunozManterola Mar 24, 2026
aea7b95
Implement norm checks in SGBC finalization and Mult methods to skip u…
AlejandroMunozManterola Mar 24, 2026
4867675
Add 1D SGBC Faux Multilayer configuration files and update material p…
AlejandroMunozManterola Mar 24, 2026
5fc6090
Enhance SGBC functionality: add modulated Gaussian source support, up…
AlejandroMunozManterola Mar 25, 2026
e022aec
Remove unnecessary "tfsf_final_time" and "tfsf_cutoff_time" parameter…
AlejandroMunozManterola Mar 25, 2026
67547a0
Refactor FarField and RCSManager components: Introduce getSortedSnaps…
AlejandroMunozManterola Mar 26, 2026
0fbe611
Refactor code structure for improved readability and maintainability
AlejandroMunozManterola Mar 26, 2026
d6a23d3
Refactor code structure for improved readability and maintainability
AlejandroMunozManterola Mar 26, 2026
a21c1fe
Add RCSSurfaceExporter and RCSSurfacePostProcessor components for RCS…
AlejandroMunozManterola Mar 26, 2026
c09c863
Add RCSSurfaceProbe structure and related functionality for RCS surfa…
AlejandroMunozManterola Mar 26, 2026
a096d5f
Refactor FarField and RCSManager components: Replace FarFieldBdrFaceI…
AlejandroMunozManterola Mar 26, 2026
b4ea6d6
Refactor RCS test cases: Update frequency ranges and angles for monos…
AlejandroMunozManterola Mar 27, 2026
6df38ef
Refactor code structure for improved readability and maintainability
AlejandroMunozManterola Mar 27, 2026
6c379c9
Refactor code structure for improved readability and maintainability
AlejandroMunozManterola Mar 27, 2026
6b81072
Update mfem-geg: add AssembleSharedInternalBoundaryFaces to ParBiline…
AlejandroMunozManterola Mar 27, 2026
d0e80f2
Update mfem-geg submodule to latest commit for improved functionality
AlejandroMunozManterola Mar 27, 2026
d92e871
Update mfem-geg submodule to latest commit for improved functionality
AlejandroMunozManterola Mar 27, 2026
36efa5d
Changes 2D RCS SGBC meshes and json to reflect problem to study
AlejandroMunozManterola Mar 27, 2026
c7b4ab2
Refactor frequency handling in calculateMaximumSourceFrequency: strea…
AlejandroMunozManterola Mar 27, 2026
a2d0011
Update builtin-baseline in vcpkg.json to latest version for consistency
AlejandroMunozManterola Mar 27, 2026
bc98b33
Temporarily comment windows-msvc.yml file as retrocompatibility hasn'…
AlejandroMunozManterola Mar 27, 2026
4a4ce3e
Update ubuntu-gnu.yml to integrate MPI setup and adjust build configu…
AlejandroMunozManterola Mar 27, 2026
44e89e7
Enhance CI workflow by adding METIS and HYPRE build steps; introduce …
AlejandroMunozManterola Mar 27, 2026
d4d8126
Update METIS build process in CI workflow: switch from git clone to w…
AlejandroMunozManterola Mar 27, 2026
960c42e
Add step to install GSL system dependencies in CI workflow
AlejandroMunozManterola Mar 27, 2026
0e5fb63
Update METIS and HYPRE installation prefixes to use $HOME instead of …
AlejandroMunozManterola Mar 27, 2026
c42ca4a
Refactor METIS and HYPRE build steps in workflow
AlejandroMunozManterola Mar 27, 2026
d67bf0c
Add frequency support to PlaneWaveData and update RCS processing for …
AlejandroMunozManterola Mar 30, 2026
92bfae9
Refactor code structure for improved readability and maintainability
AlejandroMunozManterola Apr 3, 2026
4e373a9
Refactor pairwise constraints partitioning to use transitive grouping…
AlejandroMunozManterola Apr 3, 2026
f403d01
Optimize TFSF source application by simplifying data scattering and r…
AlejandroMunozManterola Apr 3, 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
  •  
  •  
  •  
56 changes: 45 additions & 11 deletions .github/workflows/ubuntu-gnu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,34 @@ jobs:
- name: Setup Ninja
uses: ashutoshvarma/setup-ninja@master

# 1. Install MPI on the Ubuntu runner
- name: Setup MPI
uses: mpi4py/setup-mpi@v1

# 2. Build and Export METIS
- name: Build METIS
run: |
cd $HOME
wget https://github.com/mfem/tpls/raw/gh-pages/metis-5.1.0.tar.gz
tar -zxvf metis-5.1.0.tar.gz
cd metis-5.1.0
make BUILDDIR=lib config
make BUILDDIR=lib
cp lib/libmetis/libmetis.a lib/
echo "METIS_DIR=$HOME/metis-5.1.0" >> $GITHUB_ENV

# 3. Build and Export HYPRE
- name: Build HYPRE
run: |
cd $HOME
wget https://github.com/hypre-space/hypre/archive/refs/tags/v2.31.0.tar.gz
tar -zxvf v2.31.0.tar.gz
cd hypre-2.31.0/src
./configure --disable-fortran
make -j $(nproc)
# An in-place HYPRE build puts includes and libs in the src/hypre subdirectory
echo "HYPRE_DIR=$HOME/hypre-2.31.0/src/hypre" >> $GITHUB_ENV

# - name: Builds mfem-geg
# run: |
# cmake -S external/mfem-geg \
Expand All @@ -33,31 +61,37 @@ jobs:
# cmake --build mfem-geg-build/ -j
# cmake --install mfem-geg-build/

# Install system dependencies
- name: Install system dependencies (GSL)
run: |
sudo apt-get update
sudo apt-get install -y libgsl-dev

# 4. Swap to the MPI presets (your existing step)
- name: Builds semba/dgtd
uses: lukka/run-cmake@v10
# lukka/run-cmake will automatically pick up METIS_DIR and HYPRE_DIR from $GITHUB_ENV
with:
configurePreset: 'gnu'
buildPreset: 'gnu'
configurePreset: 'gnu-release-mpi'
buildPreset: 'build-gnu-release-mpi'
buildPresetAdditionalArgs: "['--parallel']"

# 5. Update paths and run with mpiexec (using 2 cores)
- name: Run hesthavenComparison tests
run: build/gnu/bin/hesthavenComparison_tests
run: mpiexec -n 2 build/gnu-release-mpi/bin/hesthavenComparison_tests

- name: Run mfem tests
run: build/gnu/bin/mfem_tests
run: mpiexec -n 2 build/gnu-release-mpi/bin/mfem_tests

- name: Run maxwell tests
run: build/gnu/bin/maxwell_tests
run: mpiexec -n 2 build/gnu-release-mpi/bin/maxwell_tests

- name: Run maxwell solver tests
run: build/gnu/bin/maxwell_solver_tests
run: mpiexec -n 2 build/gnu-release-mpi/bin/maxwell_solver_tests

- name: Run maxwell cases tests
run: build/gnu/bin/cases_tests
run: mpiexec -n 2 build/gnu-release-mpi/bin/cases_tests

# - name: Run system tests
# run: |
# build/gnu/bin/rcs_tests



# mpiexec -n 2 build/gnu-release-mpi/bin/rcs_tests
104 changes: 52 additions & 52 deletions .github/workflows/windows-msvc.yml
Original file line number Diff line number Diff line change
@@ -1,73 +1,73 @@
name: windows-msvc
# name: windows-msvc

permissions:
actions: write
# permissions:
# actions: write

on:
pull_request:
branches:
- main
- dev
# on:
# pull_request:
# branches:
# - main
# - dev

jobs:
builds-and-tests:
# jobs:
# builds-and-tests:

runs-on: windows-latest
# runs-on: windows-latest

steps:
# steps:

- name: checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
# - name: checkout
# uses: actions/checkout@v4
# with:
# submodules: 'recursive'

- name: getcmake
uses: lukka/get-cmake@latest
with:
cmakeVersion: "~3.25.0"
# - name: getcmake
# uses: lukka/get-cmake@latest
# with:
# cmakeVersion: "~3.25.0"

- name: Setup vcpkg
uses: lukka/run-vcpkg@v11
# - name: Setup vcpkg
# uses: lukka/run-vcpkg@v11

- name: Setup Ninja
uses: ashutoshvarma/setup-ninja@master
# - name: Setup Ninja
# uses: ashutoshvarma/setup-ninja@master

# - name: Builds mfem-geg
# run: |
# cmake -S external/mfem-geg -B mfem-geg-build/ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=mfem-geg-install -G Ninja
# cmake --build mfem-geg-build/ -j --config Release
# cmake --install mfem-geg-build/ --config Release
# # - name: Builds mfem-geg
# # run: |
# # cmake -S external/mfem-geg -B mfem-geg-build/ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=mfem-geg-install -G Ninja
# # cmake --build mfem-geg-build/ -j --config Release
# # cmake --install mfem-geg-build/ --config Release

- name: Builds semba/dgtd
uses: lukka/run-cmake@v10.8
env:
MFEM_DIR: 'mfem-geg-install/lib/cmake/mfem/'
with:
configurePreset: 'x64-Release'
buildPreset: 'x64-Release'
buildPresetAdditionalArgs: "['--parallel']"
# - name: Builds semba/dgtd
# uses: lukka/run-cmake@v10.8
# env:
# MFEM_DIR: 'mfem-geg-install/lib/cmake/mfem/'
# with:
# configurePreset: 'x64-Release'
# buildPreset: 'x64-Release'
# buildPresetAdditionalArgs: "['--parallel']"

- name: Verify test files exist
run: dir build/x64-Release/bin/
# - name: Verify test files exist
# run: dir build/x64-Release/bin/

- name: Run maxwell mfem tests
run: build/x64-Release/bin/mfem_tests.exe
# - name: Run maxwell mfem tests
# run: build/x64-Release/bin/mfem_tests.exe

- name: Run hesthaven comparison tests
run: build/x64-Release/bin/hesthavenComparison_tests.exe
# - name: Run hesthaven comparison tests
# run: build/x64-Release/bin/hesthavenComparison_tests.exe

- name: Run maxwell tests
run: build/x64-Release/bin/maxwell_tests.exe
# - name: Run maxwell tests
# run: build/x64-Release/bin/maxwell_tests.exe

- name: Run maxwell solver tests
run: build/x64-Release/bin/maxwell_solver_tests.exe
# - name: Run maxwell solver tests
# run: build/x64-Release/bin/maxwell_solver_tests.exe

- name: Run cases tests
run: build/x64-Release/bin/cases_tests.exe
# - name: Run cases tests
# run: build/x64-Release/bin/cases_tests.exe

# - name: Run system tests
# run: |
# build/gnu/bin/rcs_tests
# # - name: Run system tests
# # run: |
# # build/gnu/bin/rcs_tests



Expand Down
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,19 @@

build/
out/
ParaView/
NearToFarFieldExports/
Exports/
CollectedResults/
resources/*.msh

gather*
run_all_*

*.csv
*.gf
mesh.mesh
*.mtx
*.sh
*.log

# Prerequisites
*.d
Expand Down
104 changes: 104 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,80 @@
"SEMBA_DGTD_ENABLE_TIMER_INFORMATION": "ON",
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "gnu-debug-cpu",
"displayName": "GNU debug cpu",
"inherits": "gnu-dbg",
"cacheVariables": {
"SEMBA_DGTD_ENABLE_TIMER_INFORMATION": "ON"
}
},
{
"name": "gnu-release-cpu",
"displayName": "GNU release cpu",
"inherits": "gnu",
"cacheVariables": {
"SEMBA_DGTD_ENABLE_TIMER_INFORMATION": "ON",
"MFEM_USE_OPENMP": true,
"SEMBA_DGTD_ENABLE_OPENMP": true
}
},
{
"name": "gnu-debug-mpi",
"displayName": "GNU debug mpi",
"inherits": "gnu-debug-cpu",
"cacheVariables": {
"SEMBA_DGTD_ENABLE_MPI": true,
"METIS_DIR": "$env{METIS_DIR}",
"HYPRE_DIR": "$env{HYPRE_DIR}",
"MFEM_USE_MPI": true,
"MFEM_USE_METIS": true,
"MFEM_USE_METIS_5": true,
"MFEM_ENABLE_EXAMPLES": true
}
},
{
"name": "gnu-release-mpi",
"displayName": "GNU release mpi",
"inherits": "gnu-release-cpu",
"cacheVariables": {
"SEMBA_DGTD_ENABLE_MPI": true,
"METIS_DIR": "$env{METIS_DIR}",
"HYPRE_DIR": "$env{HYPRE_DIR}",
"MFEM_USE_MPI": true,
"MFEM_USE_METIS": true,
"MFEM_USE_METIS_5": true,
"MFEM_ENABLE_EXAMPLES": true
}
},
{
"name": "gnu-debug-cuda",
"displayName": "GNU debug cuda",
"inherits": "gnu-debug-mpi",
"cacheVariables": {
"CMAKE_C_COMPILER": "gcc-12",
"CMAKE_CXX_COMPILER": "g++-12",
"CMAKE_CUDA_HOST_COMPILER": "g++-12",
"SEMBA_DGTD_ENABLE_CUDA": "ON",
"MFEM_USE_CUDA": true,
"CUDA_ARCH": "sm_89",
"CMAKE_CUDA_ARCHITECTURES": "89"
}
},
{
"name": "gnu-release-cuda",
"displayName": "GNU release cuda",
"inherits": "gnu-release-mpi",
"cacheVariables": {
"CMAKE_C_COMPILER": "gcc-12",
"CMAKE_CXX_COMPILER": "g++-12",
"CMAKE_CUDA_HOST_COMPILER": "g++-12",
"SEMBA_DGTD_ENABLE_CUDA": "ON",
"MFEM_USE_CUDA": true,
"CUDA_ARCH": "sm_89",
"CMAKE_CUDA_ARCHITECTURES": "89"
}
}
],
"buildPresets": [
Expand All @@ -80,6 +154,36 @@
"configurePreset": "x64-Release",
"configuration": "Release",
"jobs": 4
},
{
"name": "build-gnu-release-cuda",
"configurePreset": "gnu-release-cuda",
"jobs": 12
},
{
"name": "build-gnu-debug-cuda",
"configurePreset": "gnu-debug-cuda",
"jobs": 12
},
{
"name": "build-gnu-release-mpi",
"configurePreset": "gnu-release-mpi",
"jobs": 12
},
{
"name": "build-gnu-debug-mpi",
"configurePreset": "gnu-debug-mpi",
"jobs": 12
},
{
"name": "build-gnu-release-cpu",
"configurePreset": "gnu-release-cpu",
"jobs": 12
},
{
"name": "build-gnu-debug-cpu",
"configurePreset": "gnu-debug-cpu",
"jobs": 12
}
]
}
2 changes: 1 addition & 1 deletion external/mfem-geg
9 changes: 5 additions & 4 deletions pythonBindings/maxwell_solver_binding.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@ using namespace maxwell;

PYBIND11_MODULE(maxwell_solver, m) {

py::enum_<FluxType>(m, "FluxType")
.value("Centered", FluxType::Centered)
.value("Upwind", FluxType::Upwind)
py::enum_<EvolutionOperatorType>(m, "EvolutionOperatorType")
.value("maxwell", EvolutionOperatorType::Maxwell)
.value("global", EvolutionOperatorType::Global)
.value("hesthaven", EvolutionOperatorType::Hesthaven)
;

py::class_<EvolutionOptions>(m, "EvolutionOptions")
.def(py::init<>())
.def_readwrite("fluxType", &EvolutionOptions::fluxType)
.def_readwrite("alpha", &EvolutionOptions::alpha)
.def_readwrite("spectral", &EvolutionOptions::spectral)
.def_readwrite("eigenvals", &EvolutionOptions::eigenvals)
.def_readwrite("marketFile", &EvolutionOptions::marketFile)
Expand Down
2 changes: 1 addition & 1 deletion resources/meshFixer3D.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
for i in range(int(maxElements)):
temp_list = lines[i+firstElementIdx].strip().split()

if (temp_list[1] == "15" or temp_list[1] == "1" or temp_list[1] == "26"):
if (temp_list[1] == "1" or temp_list[1] == "8" or temp_list[1] == "15" or temp_list[1] == "26" or temp_list[1] == "27" or temp_list[1] == "28" ):
elementsToDelete += 1
else:
temp_list[3] = temp_list[4]
Expand Down
Loading
Loading