Adding code_aster as a new solver - #21
Merged
Merged
Conversation
Revert the loosening that defaulted docker_image to an empty string in docker.py and blanked it for native/singularity selections: a missing image should fail loudly at call time, not produce a broken docker run.
shared_dir_symlink_mounts skips entries that are not symlinks, so pairing its result with shared_dir_names by index could bind a RESU target at the case MESH path when only one of the two was a symlink.
Thread start_time through detect_outcome like the code_saturne adapter, so a relaunch is not immediately marked DONE/FAILED from the stale RESU/LOGS/run_solver.log of the prior run. Also replace the glob and the unreachable bare raise with a direct path check.
find_setup_file no longer caches the export path on the memoized adapter instance; build_run_command discovers it in the case directory instead, so a case whose export is not named study.export launches correctly and a missing export raises instead of silently creating an empty file. The mess-file entry is only appended when the export does not already declare one, so relaunches no longer accumulate duplicate lines.
Shell-quote host paths in the bash -c launch strings so runs directories with spaces do not break or misdirect the docker/apptainer invocations, collapse the cleanup into a single rm -rf (the previous space-joined chain passed literal 'rm' and '-rf' as extra operands), keep the apptainer tmp dir inside the case directory instead of the user's home, and reject incomplete singularity selections explicitly.
Replace the module docstring copy-pasted from the stub adapter with one describing the actual behavior, align cleanenv's default with the SolverAdapter protocol, make the unused run_argv return an empty argv fragment instead of [''], and drop leftover commented-out code.
The test drives a real docker run of the multi-GB code_aster image, so it broke pytest -q everywhere the image was not already pulled, including CI. It now runs only when CSAUTO_CODE_ASTER_DOCKER_TESTS=1 is set, waits long enough for a real container run, and the module docstring no longer claims the tests use a python stub. Also apply the ruff formatting the lint job flagged and drop the misleading saturne_bin argument, which the docker runtime ignores.
Fix README typos and the duplicated study.comm entry in the expected layout, use the actual directory name codeaster-cube, correct the csauto.toml comments to match the localhost binding, raise a ValueError with a message in the demo failure case, and add missing trailing newlines.
ruff 0.16 started formatting python code fences in markdown files and dedents the intentionally indented snippets in docs/superpowers, which breaks their paste-into-function-body meaning and fails the CI format check on files this branch never touched. Keep prose docs out of ruff's scope instead of pinning the version.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Implementation of the connector with the open-source FEA solver code_aster
Why
New possibility for DOE of finite element analysis engineer
How to test
Checklist
pytest -q)cd frontend && pnpm build)ruff check . && ruff format --check .)frontend/dist/is up-to-date (committed afterpnpm build)