This repository implements the Reduced Lagrange Multiplier method for non-matching coupling of mixed-dimensional domains, as described in the paper:
Reduced Lagrange multiplier approach for non-matching coupling of mixed-dimensional domains
Authors: Luca Heltai, Paolo Zunino
Published in Mathematical Models and Methods in Applied Sciences (2023)
DOI: 10.1142/S0218202523500525
In many physical problems, especially those involving heterogeneous spatial scales, we encounter coupled partial differential equations (PDEs) defined on domains of different dimensions embedded into each other. Examples include:
This repository provides a computational framework for coupling PDEs across dimensions using a reduced Lagrange multiplier approach. The method ensures stability and robustness, with particular attention to the smallest characteristic length of the embedded domain.
To use this code, you need a working deal.II version (at least version 9.5). Clone the repository and run the following commands:
The documentation is built and deployed at each merge to master. You can find the latest documentation here:
https://luca-heltai.github.io/reduced_lagrange_multipliers/
See the file LICENSE.md for details
docker run -ti -v ./:/fvm --platform linux/amd64 dealii/dealii:v9.6.0-jammy
cd /fvm/
make -f MakefileGCCDesktop clean all
build
directory with cmake cmake -DCMAKE_CXX_FLAGS=-fopenmp .
(this includes OMP, necessary for the 1D)cd build
ninja -jX
(X = number of proc)run in parallel as
export OMP_NUM_THREADS=1
mpirun -np n ./build/coupled_elasticity_debug <path_to_input_3d> <path_to_input_1d> <couplingSampling> <couplingStart> 0 if we only want the the 1D simulation then set coupling Start to 100 if we only want the 3D Simulation then only give <path_to_input_3d>
random error "invalid template argument" solved by changing the order od #include in app_*