资源说明:An adaptive finite element solver for fluid and structure mechanics, based on the suite DOLFIN/FFC/FIAT.
Unicorn 0.1.3-hpc ----------------- Background: Unicorn an attempt to unify continuum mechanics models and solvers in the FEniCS (www.fenicsproject.org) project. We define a fundamental model for conservation laws (mass, momentum, energy) which is fixed and then allow additional constitutive models for stress-strain relations. The total model is then solved using the G2 (General Galerkin) method which is based on FEM and duality-based adaptivity. Dependencies: Unicorn is part of a chain of components in FEniCS like so: FIAT - UFC - FFC - DOLFIN - Unicorn The package dependencies of Unicorn are: * ufc (1.1) * ffc (0.5.1) * dolfin (0.8.2-hpc) * BLAS with a working c-interface (cblas, sunperf, atlas, gsl) Source code structure: Unicorn is divided into two parts: a library (exists under src/) and example solvers (exists under ucsolver/), which uses the library to solve the equations of continuum mechanics using G2. There currently exists only one variant of ucsolver for the hpc branch (icns - Incompressible Navier-Stokes) There also exists test programs (under test/) which are used for development purposes, i.e. for testing various parts of the library or new ideas. These are not guaranteed to work but could be interesting to study. Development structure: Unicorn is openly developed as Free Software. The source code is version controlled in the Bazaar system in a public repository: https://launchpad.net/unicorn/hpc Installation: To build and install Unicorn, follow these steps: 1. ./configure 2. make (Compile without running any tests) 3. make check (Compile and run pre-installation tests, can be omitted) 4. make install Testing: The test corresponds to turbulent flow around a cube described in the chapter "Turbulent Flow and Fluid-Structure Interaction" and section "High Re turbulent flow" in the book "Automated Scientific Computing". To verify correct installation and functionality of Unicorn, follow these steps: 1. source local.sh (Configure and setup environment variables) 2. make install (Compile and install) 3. cd ucsolver/icns/cube 4. make 5. mpirun -np 8 ./cube -p parameters -m mesh.xml 1> log1 2> log2 & (increase or decrease "8" to match the number of cores in your system) When the simulation runs it will create output files in the directory iter_0 (and subsequently iter_1, iter_2, etc.) corresponding to iteration 0 of the adaptive mesh refinement iteration. If the simulation runs and creates files in iter_0, Unicorn is functioning correctly. To reproduce the drag computation for the cube geometry given in section "High Re turbulent flow", let the iteration run, producing several iter_x directories. Inside these directories, a file "aero_f.dat" is generated. The output quantity in "aero_f.dat" is a time series of the drag force F (second column). The drag coefficient is Cd = 2F/0.2^2. The mean value (of the time series) of the drag coefficient is what is plotted in figure 1, and should converge to the reference value Cd ~ 1.25 +- 5% as given in figure 1 and in section "High Re turbulent flow". License: Unicorn is distributed under the Lesser General Public License (LGPL): http://www.fsf.org/licensing/licenses/lgpl.html
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。