Processes in Fractured Media
Flow123d is a simulator of underground water flow, transport, and mechanical processes in fractured porous media. Novelty of this software is support of computations on complex meshes consisting of simplicial elements of different dimensions. Therefore we can combine continuum models and discrete fracture network models. For more information see the project pages: flow123d.github.io.
Please refer to a User Guide and Input Reference manual available
at our official website where there is a entire section dedicated
to this topic. You can find step-by-step tutorial explaining geometries, yaml
input files
and more. Below you can see a result from the tutorial problem.
You have several options when it comes to installation. You can use our prebuilt Docker images or build Flow123d from the source (requires a moderate experience with Linux OS).
For detailed instructions, see the installation guide.
Two step build:
host> bin/fterm # start the docker developing container
container> make all # produce "build_tree/bin/flow123d"
container> bin/flow123d # lunch the simulator using a simple wrapper script
That would start the debug docker image and build the debug version of the simulator. For the release (optimized) version run:
bin/fterm rel
make all
For details see installation guide or the manual.
-
When problem occurs during the compilation process it may be due to a leftover files in a build folder. Cleaning this directory can solve this issue. You can either remove
build-<branch>
folder (the folder is located one level above repository root) viamake clean-all
, which removes build folders and also remove any symlinks.
To clean all the build folders manually runrm -rf ../build-*
while in a repository root.
Runningrm -rf
can quite easily cause a lot of damage, double check that you're in a correct folder. -
The build tools may fail if the root path contains folders with spaces.
-
During an installation under Windows, some scenarios can cause problems. Please refer to an installation guide for a Docker Toolbox. You can also check out Troubleshooting page where the most common error are described and solved.
The reference manual can be built by while in docker container
make ref-doc
To copy out reference manual from docker use command
docker cp
.
Singularity is a container system targeting HPC applications. Singularity containers can be created from the docker images and in contrast to the docker one is not allowed to modify system of running containers.
For large images may be necessary set temp directory.
export SINGULARITY_TMPDIR="/some_absolute_path/tmp"
singularity exec docker://flow123d/3.1.0 flow123d simulation.yaml
module add mpich-3.0.2-gcc
mpiexec -host host1,host2 -np 4 singularity exec docker://flow123d/3.1.0 flow123d simulation.yaml
host> git clone https://github.com/flow123d/flow123d.git # clone flow123d repository
host> singularity shell -B flow123d/:/flow123d docker://flow123d/flow-dev-gnu-rel:3.1.0 # starts developing container
container> cd /flow123d
container> make all # produce "build_tree/bin/flow123d"
container> bin/flow123d # lunch the simulator
Hosted on dockerhub
under organisation flow123d
.
production images
tagged by the release version (e.g. 3.1.0)
flow123-gnu
: based on gnu libraries and toolsflow123-intel
: based on intel libraries (intelmpi, mkl, intel compilers)
alfa images
built by CI, tagged by {branch}-{commit}
ci-gnu
ci-intel
yaml_converter's People
yaml_converter's Issues
Bind comments to values according to indention
Seems that comments are binded to last parsed item in the tree, i.e.
# bid to head of root map
a:
# bind to 'a' map
b: 0
# bind to 'b' key
c: 1
# bind to 'c' key
# bind to 'c'
x: 2
# bind to 'x'
We should try to change this in ruamel.yaml, possibly through some setting of the parser. So that we can move values together with comments.
Upgrade to new ruamel version.
- introduce automatic tests
- fix for the new ruamel version, possibly make it more independent
Unify move_value and rename_key.
Try to remove 'rename_key' operation or just call 'move_value' instead so that removing and placing keys works the same way.
Native support for custom tags of scalars in ruamel.yaml
- Summarize what kind of functionality should be in ruamel.yaml.
Move YAML style specifications into changes.py
- move specific code to changes.py (in particular style setting)
- allow to set the rule file from cmd line
Fix reverted conversion tests.
Fingerprint specification of versions.
- Add methods to add (and remove) obligatory paths that a version must have.
- Generalise version detection from 'flow123d' to any key (specific to version).
- Copy this version fingerprint from previous version.
- Remove assert for map type of the root node.
Using this general fingerprint mechanism, we can better detect version of the input file and also
distinguish YAML files that are not in particular format.
Fix preservation of string values
- line wrapping is not preserved
- quoting style is not preseved
- Is it caused by ruamel.yaml or by some conversions we possibly do?
Own YAML interface
Turn yaml_parser_extra to full interface to the YAML file:
- the only place to interact with ruaml.yaml directly
- implementation of support for custom tags
- iterating through the YAML tree
- own Node objects to allow data tree inspection and modifications
Unit test for Changes actions
- test actions on specially crafted YAML files using own YAML interface and test results
of actions directly for the tree not through resulting file - can test more operations independently of ruamel.yaml ability to produce well formated YAMLs
Unit test for PathSet
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.