Skip to content

FEM capabilities in the problem/data classes - #115

Draft
acdanila wants to merge 20 commits into
masterfrom
fem_implementation
Draft

acdanila wants to merge 20 commits into
masterfrom
fem_implementation

Conversation

@acdanila

@acdanila acdanila commented Aug 3, 2026

Copy link
Copy Markdown

No description provided.

@acdanila
acdanila requested review from ccuetom and danisw7 August 3, 2026 09:23
@acdanila acdanila changed the title skeleton FEM capabilities in the problem classes Aug 4, 2026
@acdanila acdanila changed the title FEM capabilities in the problem classes FEM capabilities in the problem/data classes Aug 13, 2026

@ccuetom ccuetom left a comment

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.

Looks good.

Please, add the testing call to the GitHub actions so they are triggered when needed. If testing dolphinx is required, then that should also be installed in the actions (maybe through the optional requirements or some other requirements file?)

Comment thread stride/problem/data.py Outdated
Comment thread stride/problem/data.py Outdated
Comment thread stride/problem/data.py
Comment thread stride/problem/data.py Outdated
Comment thread stride/problem/domain.py
Comment thread stride/tests/test_meshed_data.py Outdated
Comment thread stride/tests/test_meshed_data.py Outdated
Comment thread stride/tests/test_meshed_medium.py Outdated
Comment thread stride/tests/test_meshed_medium.py Outdated
Comment thread stride/tests/test_meshed_space.py Outdated
@acdanila

Copy link
Copy Markdown
Author

@ccuetom, dealing with the envs and adding dolfinx will require a bit more thought, I don't have a clear solution as of now, but I'm sure a clean one exists. dolfinx and some other packages need to be included into the environment.yml file to be used by conda.

for now, I've added a pytest gh action that doesn't use dolfinx, so 3 of the tests are skipped

Comment thread .github/workflows/pytest.yml
Comment thread environment-fem-complex.yml Outdated
Comment thread environment-fem-real.yml Outdated
acdanila and others added 6 commits September 7, 2026 12:14
added facet_tag addressibility
The two-step install left a broken environment on a fresh Linux box in three
separate ways, each silent until something much later failed.

The MPI implementation has to be pinned before the base environment goes in.
On Linux the base pulls mpich through hdf5, and the overlay's openmpi pin then
cannot be satisfied at all; on macOS the base pulls no MPI, which is why this
never showed up here.

The PETSc scalar type does not survive a later solve. A build-string spec that
lives only in a yml is forgotten by the next one, and an ordinary
"conda install python=3.11" is enough to swap the complex build for the real
one, since conda-forge builds real by default and nothing else asks otherwise.
That produced an environment named -complex that reported float64.

h5py has to be named in the overlay even though the base already has it.
Pinning fenics-dolfinx to 0.9.0 holds hdf5 at 1.14, and an h5py built against a
newer one fails on import with "Not a datatype". A package the overlay does not
name is one the solver leaves alone.

conda-meta/pinned is honoured by every later solve, so all three go there,
written before any package is installed. scripts/create_fem_env.sh does the
whole thing in one pass and checks the Python version, both scalar types, the
hdf5 pairing and the MPI implementation before installing anything on top,
since each of those has now failed silently at least once.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
sbatch copies the script into /var/spool before running it, so BASH_SOURCE
points at the copy and the checkout cannot be found from it. Fall back to the
submit directory, and name the fix in the error when neither works.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
From a directory that merely contains one named stride, import stride resolves
to that directory as a namespace package rather than to the installed one, and
the suite dies with "cannot import name Geometry from stride", location
unknown. Which directory sbatch happens to run in should not decide that.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

3 participants