** Fluidity Release 4.1.7 (lp:fluidity r3997)
Changelog for Fluidity 4.1.7 since 4.1.6
----------------------------------------
* Hybrid Assembly
- Make linear system assembly local (non-communicating)
This update brings in non-communicating assembly routines for all
equation forms. It also adds OpenMP threaded assembly for DG and CG
Momentum and CG advection diffusion. To enable the latter, configure
--with-openmp.
For non-communicating assembly, we assemble in halo elements for DG as
well as CG such that each process has complete information for its
local dofs. PETSc matrices are then assembled with the option
MAT_IGNORE_OFF_PROC_ENTRIES, which makes the PETSc assembly a no-op.
OpenMP threading makes the assembly loops iterate in colour order.
The correct colouring is stashed on the topology mesh between adapts.
A number of routines are not thread-safe. If you call them in
threaded code they will now abort, fix it!
* Boundary conditions:
- Users can now enforce boundary conditions that use boundary data from another
field. This can be done by selecting "from_field" (from the list of
"constant", "python", ..., and "from_field" input types for the BC) and
specifying the name of the 'parent' field which contains the boundary data.
* Running columns in parallel:
- Adding ability to run psuedo-1D columns in parallel by decmping in the
vertical. Note that the user must supply the DistanceToTop and Bottom fields
of they want them
* Bug fixes:
- Fixed bug in vertical integration - wrong types being passed over from C
- Updates to ensure that 'make disclean' removes all build and test files
- One of the MPI_AllReduces is only necessary when using additional adapt
iterations. A fix is applied so that it only does the collective
communication when the additional adapt iterations option is being used.
- Move all C/Fortran tools to using the c_iso_binding module. This prevents
random errors that have been occurring on some build tests
- Velocity included in GetFieldNames
- Correction to rotate2ll
- Test updates to allow for running tests on Precise
- Removing three places with hard-coded values (two different ones) for the
radius of the earth. This was all in dead code. Hard-coding this is not a
good idea, as the mesh generator may have used another one.
- Fixing gmsh reader to read meshes on the sphere (i.e. meshes with topological
dimension 2, and coordinate dimension 3).
- Minor change to fldecomp makefile.in to get fldecomp to compile on HECToR
- Adding the -fno-realloc-lhs flag to FCFLAGS and FFLAGS during configure, when
using a gfortran that accepts it. This is a work-around for memory leaks
caused by gfortran >=4.6, http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53389
- Fix the with_zoltan=no configure option, which was without effect
- Bug fix for intel compilers that now object to converting null pointers into
objects in subroutine calls. Specifically in this case the ct_m divergence
matrix.
- Further reduction of recompilations in already built trees