First run: Poisson¶
This is the smallest complete ImmersX workflow. It introduces parameter-file configuration, mesh generation, a scalar finite-element problem, and output.
The executable is poisson, and the canonical input is
tutorials/poisson/poisson_2d.prm.in. CMake configures the .in file into the
build tree so that its output and data paths are independent of the launch
directory.
subsection Poisson
set Dirichlet boundary ids = 0,1,2,3
set FE degree = 1
set Initial refinement = 3
set Output directory = @TEST_OUTPUT_DIR@/tutorial-output/poisson-2d
set Output name = poisson_2d
set Output results also before solving = false
subsection Dirichlet boundary conditions
set Function constants =
set Function expression = 0
set Variable names = x,y,t
end
subsection Grid generation
set Grid generator = hyper_cube
set Grid generator arguments = -1: 1: false
set Triangulation type = distributed
end
subsection Refinement and remeshing
set Coarsening fraction = 0
set Maximum number of cells = 20000
set Number of refinement cycles = 3
set Refinement fraction = 0.3
set Strategy = global
end
subsection Right hand side
set Function constants =
set Function expression = 1
set Variable names = x,y,t
end
subsection Solver
subsection Control
set Log frequency = 1
set Log history = false
set Log result = true
set Max steps = 100
set Reduction = 1.e-10
set Tolerance = 1.e-12
end
end
end
From the repository root, run:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DDEAL_II_DIR=/path/to/deal.II
cmake --build build -j
./build/poisson build/tutorials/poisson/poisson_2d.prm
The solution is written below build/test_output/tutorial-output/poisson-2d. The exact
location is controlled by TEST_OUTPUT_DIR in the configured input. Continue
with the Poisson tutorial to understand the choices,
then follow the learning path.