Skip to content

code_aster from a developer's perspective - online training

Get hands-on with the code_aster development environment: from compiling the source to shipping a Docker/Apptainer image for HPC, including code modification and regression testing.

Course summary

Do you recognize yourself?

  • You use code_aster as an end user, but as soon as you need to modify a constitutive law or add a computation option, you're stuck: you don't know where to look in the source code.
  • You've tried to compile code_aster but the dependencies (Spack, external libraries, environment setup) gave you a hard time, and you can't quite tell what comes from Spack versus what actually belongs to code_aster.
  • You want to contribute cleanly to the codebase (bug fixes, new developments, patches) but you don't master the full workflow: build, unit testing, non-regression testing, packaging.

Why our training in particular?

One day, one complete workflow

You follow the full chain checkout → environment → build → modify → rebuild → test → package → run. Not a quick tour of the code, but a real end-to-end thread.

You get your hands in the code

Every theoretical step is immediately followed by hands-on work on the actual code_aster source, in Python as well as C++/Fortran. You leave with modifications you compiled and validated yourself.

Trainers who develop code_aster every day

Our engineers contribute to the codebase as part of industrial projects at Simvia. On site, they share best practices and pitfalls in real time — the kind you won't find in any documentation.

Close, hands-on supervision

Small group of trainees, with a trainer on hand to unblock anyone stuck during the hands-on work.

From dev environment to HPC delivery

You leave able to build a Docker image, convert it for Apptainer/Singularity, and run a verification job on your cluster.

Audience

  • Industry: engineers and developers who want to contribute to the code_aster codebase, package deliverables, or deploy the code on HPC.
  • Academia: researchers and PhD students developing their own features within code_aster.

Prerequisites

Solid practice of code_aster as an end user (commands, catalogs). Basic notions of Python and C++/Fortran are helpful. No prior compilation experience required.

Detailed programme

  1. Morning: from discovering the source code to the first modification

    • code_aster from a developer's perspective: source repository, main building blocks, Python / C++ / Fortran, catalogs, tests, external libraries. Where to look when you want to change something.
    • Building your local environment: retrieving the sources, devcontainer, Spack environment, dependencies, key variables. Understanding what Spack provides versus what actually belongs to code_aster.
    • Compiling code_aster: configuration, compilation, installation. Full build vs. incremental recompilation. Where to find the produced binaries/modules. Quickly diagnosing a compilation error.
    • First modification: a small Python/catalog change, visible enough to understand the source → build → run path. Rebuild, then run a computation validating the change.
  2. Afternoon: compiled modifications, testing and delivery

    • Architecture you'll actually use: code_aster/, bibcxx, command catalogs, behaviors, messages, tests. Not an exhaustive review — more "where should I go depending on what I want to change?"
    • Compiled modification: a small C++ or Fortran example, a localized change, incremental recompilation, checking that the new library is actually used.
    • Testing a modification properly: organization of the test base, running a unit test / code_aster testcase, reading .mess files, OK/NOOK criteria, adding or adapting a non-regression test.
    • Building a deliverable: clean installation of the build, then building a Docker image. Difference between the dev environment and the runtime. Best practices for versioning/tagging the image.
    • The complete developer workflow: recap of checkout → env → build → modify → rebuild → test → package → run. Tips for going further and contributing cleanly.

Practical details

  • Schedule: 9:00 am to 12:00 pm and 1:00 pm to 5:00 pm (1 day).
  • Format: remote
  • Language: English
  • Each trainer supervises a small group of trainees during the hands-on sessions.
  • Certificate of completion.

Dates, place, language, prices and registration are given on each session page.

Accessibility

We are committed to making our training accessible to people with disabilities. Every situation is unique, so please contact us before registering so that we can study together the educational, technical or organisational adaptations that can be put in place.

Upcoming sessions

No session scheduled yet