Automatic Construction of Phasefield Approximations from Sharp-Interface Models
The title says it all: this model uses a simple description of a sharp
interface problem to derive a phasefield approximation which can then be
solved using a finite-element toolbox. The domain specific language
UFL is used both for defining the sharp interface model and for
the weak formulation of the phasefield approximation. The resulting UFL form
can then be inserted into any of the finite element packages available
which can take UFL forms as an input. A class for evolving the solution
over time is available based on dune and fenics.
The bindings for the dune package include both local grid refinement and
coarsening. This makes it easy to track the interface with a fine grid
while a coarser grid can be used away from the interface. This is essential
for evolving phasefield models efficiently. In addition the dune stepper
also provides an efficient solver for obstacle problems so that double
obstacle potentials can be used in the modelling. This solver is based
on tnmg.
So far this model has been tested with:
- two phase models including additional bulk equations, e.g., for the temperature
- multphase models
- single phase models, e.g., crack propagation problems
Installation
The easiest way to test this module is using the docker container provided.
Assuming docker is available on your system simply running the script
rundune.sh will download the docker image for the dune-fem
package and start the container. Within the container running the
phasefield.sh script will complete the installation - this step takes
some time but is only required the first time the docker container is set
up. Within the docker container /host points to the folder from which
rundune.sh was started, e.g., the root folder of this repository.
Some examples are contained in the tutorials folder.
More information on using the docker container can be found is available
here including some information for MAC and Windows user.
Metadata
Release files for phasefield 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| phasefield-1.0.tar.gz | 23.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| phasefield-1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 64.8 kB
Release files / phasefield-1.0.tar.gz
| Download URL | phasefield-1.0.tar.gz |
|---|---|
| Size | 23.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a081e1057d58384ebcdf5bd84624ac40d11e70da5109ce13afb7b6a8d0de18be
|
|
BLAKE2b-256 checksum How to use checksums |
8e0d300fd36e3a9ea0134ccb2ffab931c22d6bd35711aa3c3694d5699c2d0b87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.7.3
|
Release files / phasefield-1.0-py3-none-any.whl
| Download URL | phasefield-1.0-py3-none-any.whl |
|---|---|
| Size | 40.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2790510f7d0389b2b225244d811bab7cd2578c089ae65922c7703584f36bdd2b
|
|
BLAKE2b-256 checksum How to use checksums |
1ddc256798274e0996abfafc670cd66890b15e2678b07adf14b1c7af7500fef3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.1 CPython/3.7.3
|