Skip to content

Code used in "Shape Optimization using the Finite Element Method for Multiple Meshes Using Nitsche Coupling.

Notifications You must be signed in to change notification settings

jorgensd/MultiMeshShapeOpt_code

Repository files navigation

Code used in MultiMesh Shape Opt article

Can be found at arXiv

Overview

The following examples can be found in the second submisson of the article:

The following examples were used in the first submission of the article:

The Poisson comparasion folder is a folder with visual comparasion of the gradients for the shape derivatives using the Hadamard formulas for the MultiMesh FEM and traditional FEM.

Installation

Docker

A docker container can be built with all the dependencies using the command

cd dockerfiles
docker build --tag mmshapeopt .
cd ..

To run the enviroment with current directory as shared with

docker run --name=mmshapeopt -ti -v $(pwd):/home/fenics/shared mmshapeopt

At an later instance, the container can be started with the following command

docker container start mmshapeopt

Docker notebooks: A motivational example for MultiMesh

First build the docker image mmshapeopt as described above. Then to run the attached docker notebook, run:

docker run --name mmshapeoptnb -w /home/fenics/shared -v $(pwd):/home/fenics/shared -d -p 127.0.0.1:8888:8888 mmshapeopt 'jupyter-notebook --ip=0.0.0.0'

To open the notebook, open a web-browser and go to 127.0.0.1:8888. To get the access key, type:

docker logs mmshapeoptnb

To stop and start the container use the following arguments.

docker container stop mmshapeoptnb
docker container start -i mmshapeoptnb

To use the interactive notebook, go to the Kernel->Restart & Run All.

Manual installation

If you do not want to use docker, you need the following packages:

About

Code used in "Shape Optimization using the Finite Element Method for Multiple Meshes Using Nitsche Coupling.

Resources

Stars

Watchers

Forks

Packages

No packages published