Git Product home page Git Product logo

elmercsc / elmerfem Goto Github PK

View Code? Open in Web Editor NEW
1.1K 1.1K 311.0 119.02 MB

Official git repository of Elmer FEM software

Home Page: http://www.elmerfem.org

License: Other

QMake 0.06% C++ 13.52% C 13.77% CMake 1.21% LLVM 0.01% GLSL 0.24% Shell 0.14% Fortran 67.06% Tcl 0.70% Makefile 0.12% MATLAB 0.02% TeX 0.04% Python 0.26% HTML 1.10% OpenEdge ABL 0.68% Batchfile 0.03% Yacc 0.03% M4 0.01% Roff 1.00% sed 0.01%
acoustics electromagnetics elmergrid elmergui elmerice elmersolver fem finite-element-methods finite-elements fluid-mechanics glaciology mpi multiphysics parallel-computing structural-mechanics

elmerfem's People

Contributors

3x380v avatar chekki2mo avatar ealbiter avatar eefvandongen avatar ettaka avatar fgillet avatar foadsf avatar frroberts-csc avatar iwheel avatar jbrondex avatar jksjanne avatar juhanikataja avatar juharu avatar juhkat avatar jvencels avatar luzpaz avatar lvarin avatar mbycklin avatar mk3z avatar mmalinen avatar mmcker avatar mmuetzel avatar morlocke avatar pavelponomarev avatar raback avatar richb2k avatar rupertgladstone avatar samiilvonen avatar t7saeki avatar tzwinger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elmerfem's Issues

mpistub not found error on installation of release 8.4

cmake command is: cmake -DWITH_ELMERGUI:BOOL=FALSE -DWITH_MPI:BOOL=FALSE -DCMAKE_INSTALL_PREFIX=/software/dev_tools/swtree/cs400/elmer/8.4/centos7.5_gnu5.3.0 ..

CMake Error at fem/src/CMakeLists.txt:135 (FILE):
FILE COPY cannot find
"/software/dev_tools/swtree/cs400/elmer/8.4/centos7.5_gnu5.3.0/elmer-8.4/fem/src/mpif_stub.h".

CMake Error at fem/src/CMakeLists.txt:137 (FILE):
FILE RENAME failed to rename

/software/dev_tools/swtree/cs400/elmer/8.4/centos7.5_gnu5.3.0/elmer-8.4/fem/src/mpif_stub.h

to

/software/dev_tools/swtree/cs400/elmer/8.4/centos7.5_gnu5.3.0/elmer-8.4/fem/src/mpif.h

because: No such file or directory

Any suggestions to fix this?

build elmerfem using Qt5

How to build the project using Qt5? I tried to add WITH_QT5 macro, but it failed. I can compiled it using Qt4 without problems. However, when I used Qt5 kit, a lot of errors occur.
snipaste_20171010_110911
I learned Elmerfem can be built with Qt5, so could anyone give me a hand?

Error compiling elmer on Fedora 27

Hi, I get this error when compiling Elmer on Fedora 27 which uses gcc7. Should I install an older version of gcc?

/elmerfem/fem/src/H1Basis.F90:41:0:

END SUBROUTINE H1Basis_GetEdgeDirection

internal compiler error: in fold_convert_loc, at fold-const.c:2269

Thanks

Elmer compiled with Trilinos in Fedora Linux: rpath_change

I can compile Elmer with Trilinos in Fedora Linux
cmake works well
make works well
make install works well
ldd ./fem/src/ElmerSolver_mpi ; # finds all libraries
ldd ../bin/ElmerSolver ; # it cannot find Trilinos Libraries.
I guess the problem comes from the file ./fem/src/cmake_install.cmake Specifically Line 50 which reads

file(RPATH_CHANGE
FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/ViewFactors"
OLD_RPATH "/usr/lib64/openmpi/lib:/home/username/elmer-git-2018-10-12/build/fem/src:/home/username/elmer-git-2018-10-12/build/matc/src:/home/username/elmer-git-2018-10-12/build/fhutiter/src:/home/username/elmer-git-2018-10-12/build/mathlibs/src/arpack:/home/username/elmer-git-2018-10-12/build/mathlibs/src/parpack:/home/username/trilinos-12.12.1/lib:"
NEW_RPATH "$ORIGIN/../lib/elmersolver")

I understand you do that change so the Elmer Libraries the Executable wants are in ./lib/elmersolver but the Trilinos library is deleted in the process.

the cmake command I am using is:
cmake -DWITH_ELMERGUI:BOOL=TRUE -DWITH_OpenMP:BOOL=FALSE -DWITH_MPI:BOOL=TRUE -DWITH_VTK:BOOL=TRUE -DWITH_Hypre:BOOL=TRUE -DHypre_LIBRARIES:FILEPATH=/usr/lib64/openmpi/lib/libHYPRE.so -DHypre_INCLUDE_DIR:PATH=/usr/include/openmpi-x86_64/hypre -DWITH_Mumps:BOOL=TRUE -DMumps_INCLUDE_DIR:PATH=/usr/include/openmpi-x86_64 -DSCALAPACK_LIBRARIES:FILEPATH=/usr/lib64/openmpi/lib/libscalapack.so -DMUMPS_COMMON_LIB:FILEPATH=/usr/lib64/openmpi/lib/libmumps_common.so -DMUMPS_D_LIB:FILEPATH=/usr/lib64/openmpi/lib/libdmumps.so -DMUMPS_PORD_LIB:FILEPATH=/usr/lib64/openmpi/lib/libpord.so -DWITH_OCC:BOOL=TRUE -DWITH_PARAVIEW:BOOL=TRUE -DWITH_QWT:BOOL=TRUE -DWITH_MATC:BOOL=FALSE -DWITH_Trilinos:BOOL=TRUE -DCMAKE_Fortran_FLAGS:STRING="-march=native" -DCMAKE_C_FLAGS:STRING="-march=native" -DCMAKE_CXX_FLAGS:STRING="-march=native" -DMPI_Fortran_COMPILE_FLAGS:STRING="-march=native" -DMPI_C_COMPILE_FLAGS:STRING="-march=native" -DMPI_CXX_COMPILE_FLAGS:STRING="-march=native" -DCMAKE_PREFIX_PATH="/home/username/parmetis-4.0.3;/home/username/trilinos-12.12.1" -DCMAKE_INSTALL_PREFIX=.. ../elmer-git-2018-10-12

the version of Elmer I am using is the devel branch from 12/october/2018, something around
https://github.com/ElmerCSC/elmerfem/tree/3d8ad28a63c5fae6d48f52e128705c2c494fa1a4

wrong pointers in //fem/src/ListMatrix.F90

I'm on ArchLinux.

After cloning the repository and cmake as explained here : https://www.csc.fi/web/elmer/sources-and-compilation
I run # make install, and at 58% , when [ 58%] Building Fortran object fem/src/CMakeFiles/elmersolver.dir/ListMatrix.F90.o
I get four errors with contiguous pointers affected from non-contiguous pointers :

A % Values => Values //line 224:18
A % Rows => Rows //line 154:16
A % Diag => Diag //line 155:16
A % Cols => Cols //line 156:16

exiting with :

make[2]: *** [fem/src/CMakeFiles/elmersolver.dir/build.make:310: fem/src/CMakeFiles/elmersolver.dir/ListMatrix.F90.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:644: fem/src/CMakeFiles/elmersolver.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

Error: Assignment to contiguous pointer from non-contiguous target at

[ 70%] Building Fortran object fem/src/CMakeFiles/elmersolver.dir/ParallelEigenSolve.F90.o
[ 70%] Building Fortran object fem/src/CMakeFiles/elmersolver.dir/SolverUtils.F90.o
[ 70%] Building Fortran object fem/src/CMakeFiles/elmersolver.dir/Adaptive.F90.o
[ 70%] Building Fortran object fem/src/CMakeFiles/elmersolver.dir/DefUtils.F90.o
/path/to/elmerfem/fem/src/DefUtils.F90:3247:11:

     SOL => x % Values
           1
Error: Assignment to contiguous pointer from non-contiguous target at (1)
make[2]: *** [fem/src/CMakeFiles/elmersolver.dir/build.make:882: fem/src/CMakeFiles/elmersolver.dir/DefUtils.F90.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:651: fem/src/CMakeFiles/elmersolver.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

from

cmake -DMMG_LIBRARY=/path/to/lib/libmmg.a -DMMG_INCLUDE_DIR=/path/to/include  -DCMAKE_INSTALL_PREFIX=$PWD ..

on

gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 8.3.0 (Debian 8.3.0-6) 

Elmer crash when clicking on boundaries

Hi all,
I'm using ELMER GUI nightly (10-Apr-2019) on Windows 10. I have also the same issue with the 8.4 version.
In ELMER GUI when I click on a surface the program suddenly crash. I see that othe users reports the same problem on the ELMER forum (http://www.elmerfem.org/forum/viewtopic.php?t=5460).

I want to report that I have found a workaround: if View -> Sharp Edges is not selected, the problem does not occur.

Kind regards,

Build error during compilation of Elmerfem 8.4-e8c45853-20190224 on Linux-x86_64

Not sure if it's the same issue as the previous one, but that was on BSD and v8.3, wile I'm on Linux trying compiling from git with instructions from the csc.fi site.
(My first github bug report ever, please don't be too angry if I'm doing it wrong)
Results of cmake -DWITH_ELMERGUI:BOOL=FALSE -DWITH_MPI:BOOL=FALSE -DCMAKE_INSTALL_PREFIX=../install ../elmerfem

-- The Fortran compiler identification is GNU 8.2.1
-- Check for working Fortran compiler: /usr/bin/f95
-- Check for working Fortran compiler: /usr/bin/f95  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/f95 supports Fortran 90
-- Checking whether /usr/bin/f95 supports Fortran 90 -- yes
CMake Deprecation Warning at CMakeLists.txt:54 (CMAKE_POLICY):
  The OLD behavior for policy CMP0022 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- Checking whether GFortran version >= 4.8 -- yes
-- ------------------------------------------------
-- Mesh adaptation 2D/3D looking for [Mmg] tools 
--   Mmg:           TRUE
--   Mmg_INC:       /usr/include
--   Mmg_LIB:      /lib/libmmg.so
--   Mmg_LIBDIR:      /lib
-- Compile MMG2DSolver/MMG3DSolver
-- ------------------------------------------------
-- ------------------------------------------------
-- Looking for Fortran sgemm
-- Looking for Fortran sgemm - found
-- Found BLAS: /usr/lib/libblas.so  
-- Looking for Fortran cheev
-- Looking for Fortran cheev - found
-- A library with LAPACK API found.
-- Checking whether /usr/bin/f95 supports PROCEDURE POINTER
-- Checking whether /usr/bin/f95 supports PROCEDURE POINTER -- yes
-- Checking whether /usr/bin/f95 supports CONTIGUOUS
-- Checking whether /usr/bin/f95 supports CONTIGUOUS -- yes
-- Checking whether /usr/bin/f95 supports EXECUTE_COMMAND_LINE
-- Checking whether /usr/bin/f95 supports EXECUTE_COMMAND_LINE -- yes
CMake Warning (dev) at /usr/share/cmake-3.13/Modules/CheckIncludeFiles.cmake:110 (message):
  Policy CMP0075 is not set: Include file check macros honor
  CMAKE_REQUIRED_LIBRARIES.  Run "cmake --help-policy CMP0075" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  CMAKE_REQUIRED_LIBRARIES is set to:

    /usr/lib/libblas.so;/usr/lib/liblapack.so;/usr/lib/libblas.so

  For compatibility with CMake 3.11 and below this check is ignoring it.
Call Stack (most recent call first):
  matc/CMakeLists.txt:4 (CHECK_INCLUDE_FILES)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for include file inttypes.h
-- Looking for include file inttypes.h - found
-- Looking for sys/types.h
CMake Warning (dev) at /usr/share/cmake-3.13/Modules/CheckIncludeFile.cmake:70 (message):
  Policy CMP0075 is not set: Include file check macros honor
  CMAKE_REQUIRED_LIBRARIES.  Run "cmake --help-policy CMP0075" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  CMAKE_REQUIRED_LIBRARIES is set to:

    /usr/lib/libblas.so;/usr/lib/liblapack.so;/usr/lib/libblas.so

  For compatibility with CMake 3.11 and below this check is ignoring it.
Call Stack (most recent call first):
  /usr/share/cmake-3.13/Modules/CheckTypeSize.cmake:225 (check_include_file)
  fem/CMakeLists.txt:47 (CHECK_TYPE_SIZE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of long
-- Check size of long - done
-- Found 114 modules from /home/lex/elmer/elmerfem/fem/src/modules
--  ELMERSOLVER_RPATH_STRING_MOD $ORIGIN/../lib/elmersolver:/lib
--  ELMERLIB_RPATH_STRING $ORIGIN/:/lib
-- Found 573 tests
-- Looking for execinfo.h
CMake Warning (dev) at /usr/share/cmake-3.13/Modules/CheckIncludeFile.cmake:70 (message):
  Policy CMP0075 is not set: Include file check macros honor
  CMAKE_REQUIRED_LIBRARIES.  Run "cmake --help-policy CMP0075" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  CMAKE_REQUIRED_LIBRARIES is set to:

    /usr/lib/libblas.so;/usr/lib/liblapack.so;/usr/lib/libblas.so

  For compatibility with CMake 3.11 and below this check is ignoring it.
Call Stack (most recent call first):
  elmergrid/src/metis-5.1.0/GKlib/GKlibSystem.cmake:97 (check_include_file)
  elmergrid/src/metis-5.1.0/CMakeLists.txt:21 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for execinfo.h - found
-- Looking for getline
-- Looking for getline - found
-- checking for thread-local storage - found
-- ------------------------------------------------
--   BLAS library:   /usr/lib/libblas.so
--   LAPACK library: /usr/lib/liblapack.so;/usr/lib/libblas.so
-- ------------------------------------------------
--   Fortran compiler:        /usr/bin/f95
--   Fortran flags:            
-- ------------------------------------------------
--   C compiler:              /usr/bin/cc
--   C flags:                  -O2 -g -DNDEBUG
-- ------------------------------------------------
--   CXX compiler:            /usr/bin/c++
--   CXX flags:                -O2 -g -DNDEBUG
-- ------------------------------------------------
-- ------------------------------------------------
--   Package filename: elmerfem-8.4-e8c45853-20190224_Linux-x86_64 
--   Patch version: 8.4-e8c45853 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lex/elmer/build

And during make -j4 install

[ 64%] Building Fortran object fem/src/CMakeFiles/elmersolver.dir/DefUtils.F90.o
/home/lex/elmer/elmerfem/fem/src/DefUtils.F90:3219:11:

     SOL => x % Values
           1
ошибка (error): Assignment to contiguous pointer from non-contiguous target at (1)
make[2]: *** [fem/src/CMakeFiles/elmersolver.dir/build.make:882: fem/src/CMakeFiles/elmersolver.dir/DefUtils.F90.o] Ошибка (Error) 1
make[1]: *** [CMakeFiles/Makefile2:674: fem/src/CMakeFiles/elmersolver.dir/all] Ошибка (Error) 2
make: *** [Makefile:163: all] Ошибка (Error) 2

ElmerGUI should not offer sif file edit, or should have option to use user sif file

ElmerGUI has the option to edit the .sif file manually/ However, ElmerGUI overwrites the changes on exit with the current GUI menu selections. This is not a good situation. Either it should not be possible to edit the sif file in ElmerGUI (and all mention of it stripped from ElmerGUI so users are not tempted to edit it manually), or an option to use a user created .sif file added to the GUI so the menu options are then ignored for this project. This setting could be stored in the xml file which currently stores the 'real' settings that are used for the project.

At the moment, using a hand crafted .sif file with ElmerGUI is practically impossible. See further discussion of this on the forum thread here:

http://www.elmerfem.org/forum/viewtopic.php?f=4&t=605&start=10&sid=25042abba18143a2757343c03d4c062f

Remove autom4te.cache

Followoing folders shouldn't be in a git repository or release tarball:

elmergrid/autom4te.cache/
fem/autom4te.cache/
front/autom4te.cache/
mathlibs/autom4te.cache/
meshgen2d/autom4te.cache/
post/autom4te.cache/
umfpack/autom4te.cache/

I believe cmake doesn't use them anyway...

[MagnetoDynamics] Segmentation fault - invalid memory reference

Receiving Segfault

...
LoadInputFile: Loading input file: case.sif
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields_Init0]

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7fc00a82cf3a in ???
#1  0x7fc00a82c163 in ???
#2  0x7fc008b256df in ???
#3  0x7fc00b09d3cd in __lists_MOD_listfind
	at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/Lists.F90:1726
#4  0x7fc00b096494 in __lists_MOD_listgetstring
	at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/Lists.F90:2919
#5  0x7fc001a38492 in magnetodynamicscalcfields_init0_
	at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/modules/MagnetoDynamics/CalcFields.F90:140
#6  0x7fc00b0afd82 in __loadmod_MOD_execsolver
	at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/LoadMod.F90:449
#7  0x7fc00b1642a1 in __modeldescription_MOD_loadmodel
	at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/ModelDescription.F90:2129
#8  0x7fc00b5ca909 in elmersolver_
	at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/ElmerSolver.F90:311
#9  0x400ea7 in solver
	at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/Solver.F90:69
#10  0x401152 in main
	at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/Solver.F90:34

GDBing:

LoadInputFile: Loading input file: case.sif
Loading user function library: [MagnetoDynamics]...[MagnetoDynamicsCalcFields_Init0]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff75923cd in lists::listfind (list=0x2e1, name=..., found=.FALSE., _name=4) at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/Lists.F90:1726
1726	       Ptr => List % Head
Missing separate debuginfos, use: dnf debuginfo-install blas-3.8.0-7.fc27.x86_64 lapack-3.8.0-7.fc27.x86_64 libgcc-7.3.1-5.fc27.x86_64 libgfortran-7.3.1-5.fc27.x86_64 libquadmath-7.3.1-5.fc27.x86_64 libstdc++-7.3.1-5.fc27.x86_64
(gdb) frame 3
#3  0x00007ffff75a4d83 in loadmod::execsolver (fptr=140737185497210, model=..., solver=..., dt=0, transient=.FALSE.) at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/LoadMod.F90:449
449	            CALL pptr(model, solver, dt, transient)
(gdb) frame 2
#2  0x00007fffedf2d493 in magnetodynamicscalcfields_init0 (model=..., solver=..., dt=0, transient=.FALSE.) at /home/tmaurer/src/elmerfem-build/elmerfem/fem/src/modules/MagnetoDynamics/CalcFields.F90:140
140	  pname = ListGetString( Model % Solvers(soln) % Values, 'Mesh', Found )
(gdb) p Model % Solvers(soln)
no such vector element

In fem/src/modules/MagnetoDynamics/CalcFields.F90:97

  DO i=1,Model % NumberOfSolvers    ! NumberOfSolvers=2
   [...]
  END DO
 soln = i            ! soln=3
[...]
  ALLOCATE(Solvers(n+1))                   ! allocates Solvers(1:3)
  Solvers(1:n) = Model % Solvers          ! Model%Solvers still array (1:2)
  Solvers(n+1) % Values => ListAllocate()
  DGSolverParams => Solvers(n+1) % Values
[...]
  Solvers(n+1) % DG = .TRUE.
  Solvers(n+1) % PROCEDURE = 0
  Solvers(n+1) % ActiveElements => NULL()

[...]
  ! next line accesses Model % Solvers(3) => segfault
  pname = ListGetString( Model % Solvers(soln) % Values, 'Mesh', Found )  
  IF(Found) THEN
    CALL ListAddString( DGSolverParams, 'Mesh', pname )
  END IF

Please fix

Another contiguous pointer...

I'm sincerely sorry to be such an annoying person, but gcc-fortran is really tough.
I get the same error as #148 in

elmerfem/fem/src/SParIterSolver.F90:2255:17:

     CM % Cols => SCols

...and there might be more as more code compiles...

__lists_MOD_listfind: Segmentation fault - invalid memory reference.

When running ElmerSolver v8.3 with run.sh in attachment magnsec.zip we receive a segmentation fault:

ELMER SOLVER (v 8.3) STARTED AT: 2018/04/25 08:57:27
ParCommInit:  Initialize #PEs:            1
MAIN: 
MAIN: =============================================================
MAIN: ElmerSolver finite element software, Welcome!
MAIN: This program is free software licensed under (L)GPL
MAIN: Copyright 1st April 1995 - , CSC - IT Center for Science Ltd.
MAIN: Webpage http://www.csc.fi/elmer, Email [email protected]
MAIN: Version: 8.3 (Rev: 7c394b56, Compiled: 2018-04-17)
MAIN:  Running one task without MPI parallelization.
MAIN:  Running with just one thread per task.
MAIN: =============================================================
MAIN: 
MAIN: 
MAIN: -------------------------------------
MAIN: Reading Model: model.sif
LoadInputFile: Scanning input file: model.sif
LoadInputFile: Loading input file: model.sif
Model Input:  Unlisted keyword: [interpolation numeric epsilon] in section: [simulation]
MAIN: 
MAIN: -------------------------------------
MAIN:  Time: 1/31   5.5555555555599997E-005
MAIN: -------------------------------------
MAIN: 

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7fea63b16e77 in ???
#1  0x7fea63b160ad in ???
#2  0x7fea61f440cf in ???
#3  0x7fea6429ed83 in __lists_MOD_listfind
        at /home/knj/projects/elmerfem/fem/src/Lists.F90:1754
#4  0x7fea642a1c73 in __lists_MOD_listgetinteger
        at /home/knj/projects/elmerfem/fem/src/Lists.F90:2745
#5  0x7fea61723261 in rigidmeshmapper_
        at /home/knj/projects/elmerfem/fem/src/modules/RigidMeshMapper.F90:302
#6  0x7fea6444f4e7 in __mainutils_MOD_singlesolver
        at /home/knj/projects/elmerfem/fem/src/MainUtils.F90:4989
#7  0x7fea64463975 in __mainutils_MOD_solveractivate
        at /home/knj/projects/elmerfem/fem/src/MainUtils.F90:5207
#8  0x7fea64465c66 in __mainutils_MOD_solveequations
        at /home/knj/projects/elmerfem/fem/src/MainUtils.F90:2607
#9  0x7fea646227be in execsimulation
        at /home/knj/projects/elmerfem/fem/src/ElmerSolver.F90:2178
#10  0x7fea646227be in elmersolver_
        at /home/knj/projects/elmerfem/fem/src/ElmerSolver.F90:596
#11  0x55c71544d01a in solver
        at /home/knj/projects/elmerfem/fem/src/Solver.F90:69
#12  0x55c71544cd2e in main
        at /home/knj/projects/elmerfem/fem/src/Solver.F90:34
Segmentation fault

VtuOutputSolver.F90 GeometryIds variable Bug

@raback A small problem with GeometryIds variable has emerged recently:
We have tracked the problem to this line.

Should the condition include j==1?
IF ( j>=1 .AND. j<= SIZE(GeometryBCMap)) j = GeometryBCMap( j )

This fixes the problem for us but not sure if it is in order otherwise?

SALOME with Elmer-FEM

I have a problem with opening *.unv mesh-files in Elmer-FEM. Mesh-files are generated in SALOME.
After file loading I see one base line at the space in Elmer-GUI and messages (in console) about “unknown data types in *.unv file”

Segmentation fault opening binary stl

ElmerGUI crashes when one try to open a binary stl mesh file.

Error message from terminal:

Selected nglib for stl-format
Initializing nglib
Start meshing...
Segmentation fault

The software should not crash even if binary stl import is not supported.
A binary stl sample is attached. It was generated using FreeCAD. Gmsh is able to import it without problems.
Best regards.
02-core.stl.tar.gz

vtu results exporter output only zeros

Hello,
I'm now using the 64bit version.
Each time I run a simulation, the .ep contains the results and I can use ElmerVtk for the visualization.
When I activate the resultoutput to export results in paraview format I got only the geometry with no colors (and no deflection).
At first i thought it is paraview problem, but when examining the vtu file (also the vtk), All the fields have 0.0000000E+000 !

What's wrong ?

BTW, Is EmlerPost not included in the elmerfem-csc, I got Unable to start ElmerPost message ?

regards.

Degenerate 3D element warning

It would be useful for debugging purposes if solver along with the number of degenerate element would print out also ID of the body and/or boundary at which this problematic element is located.

Basis Function Problem

When I read a paragraph of the code you wrote, it read as follows
IF (SecondOrder) THEN
! DOFs is the number of H(curl)-conforming basis functions:
DOFs = 8
IF (n == 6) THEN
! Here the element of the background mesh is of type 306.
! The Lagrange interpolation basis on the p-approximation reference element:
Basis(1) = (3.0d0u**2 + v(-Sqrt(3.0d0) + v) + u*(-3.0d0 + 2.0d0Sqrt(3.0d0)v))/6.0d0
dLBasisdx(1,1) = -0.5d0 + u + v/Sqrt(3.0d0)
dLBasisdx(1,2) = (-Sqrt(3.0d0) + 2.0d0
Sqrt(3.0d0)u + 2.0d0v)/6.0d0
Basis(2) = (3.0d0
u2 + v*(-Sqrt(3.0d0) + v) + u*(3.0d0 - 2.0d0Sqrt(3.0d0)v))/6.0d0
dLBasisdx(2,1) = 0.5d0 + u - v/Sqrt(3.d0)
dLBasisdx(2,2) = (-Sqrt(3.0d0) - 2.0d0
Sqrt(3.0d0)u + 2.0d0v)/6.0d0
Basis(3) = (v
(-Sqrt(3.0d0) + 2.0d0v))/3.0d0
dLBasisdx(3,1) = 0.0d0
dLBasisdx(3,2) = -(1.0d0/Sqrt(3.0d0)) + (4.0d0
v)/3.0d0
Basis(4) = (3.0d0 - 3.0d0*u
2 - 2.0d0Sqrt(3.0d0)v + v**2)/3.0d0
dLBasisdx(4,1) = -2.0d0
u
dLBasisdx(4,2) = (-2.0d0
(Sqrt(3.0d0) - v))/3.0d0
Basis(5) = (2.0d0*(Sqrt(3.0d0) + Sqrt(3.0d0)u - v)v)/3.0d0
dLBasisdx(5,1) = (2.0d0
v)/Sqrt(3.0d0)
dLBasisdx(5,2) = (2.0d0
(Sqrt(3.0d0) + Sqrt(3.0d0)u - 2.0d0v))/3.0d0
Basis(6) = (-2.0d0v(-Sqrt(3.0d0) + Sqrt(3.0d0)u + v))/3.0d0
dLBasisdx(6,1) = (-2.0d0
v)/Sqrt(3.0d0)
dLBasisdx(6,2) = (-2.0d0*(-Sqrt(3.0d0) + Sqrt(3.0d0)u + 2.0d0v))/3.0d0
ELSE
! Here the element of the background mesh is of type 303:
DO q=1,3
Basis(q) = TriangleNodalPBasis(q, u, v)
dLBasisdx(q,1:2) = dTriangleNodalPBasis(q, u, v)
END DO
END IF
ELSE
DO q=1,n
Basis(q) = TriangleNodalPBasis(q, u, v)
dLBasisdx(q,1:2) = dTriangleNodalPBasis(q, u, v)
END DO
IF (Create2ndKindBasis) THEN
DOFs = 6
ELSE
DOFs = 3
END IF
END IF
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%First question :
Should there be eight basis functions about second order H(curl)-conforming basis functions in 2 two-dimensional on a triangular mesh?Why you just give six basis functions?
Secon question :
mesh is of type 306,303,etc,Where can I find or see the mesh?
I hope I can get your reply and help!
Best wishes!

Error: Global name 'pptr' already in use

Say, I just followed the git-cloning and building instructions and got an error. I would appreciate some guidance.

/home/gsal/Downloads/elmer/elmerfem/fem/src/LoadMod.F90:321.21:

        intval = pptr(model)
                 1

/home/gsal/Downloads/elmer/elmerfem/fem/src/LoadMod.F90:572.54:

                  M, D, S, F, element, nrow, ncol)
                                                  2

Error: Global name 'pptr' at (1) is already being used as a SUBROUTINE at (2)
make[3]: *** [fem/src/CMakeFiles/elmersolver.dir/LoadMod.F90.o] Error 1
make[2]: *** [fem/src/CMakeFiles/elmersolver.dir/LoadMod.F90.o.provides] Error 2
make[1]: *** [fem/src/CMakeFiles/elmersolver.dir/all] Error 2
make: *** [all] Error 2

thx.

gsal

Workflow Documentation (Release Management)

Hi, I'm building/maintaining debian packages of elmerfem for a small team where I work. So I'm very interested in release management and so forth, but wasn't able to find any documentation on these topics.

I understand that there are two main branches: 'devel' and 'release'. 'devel' is where all the new stuff goes. But then, at some point 'devel' and 'release' are merged back and forth serveral times till a release commit gets taged with a version number. Then regular development continues inside the devel branch? Is that right? Or did a missread 'git log'?

A few questions:

  • When or why is devel merged into release? Is there some grand plan for the next release or some indicator that devel has stabalized?
  • The release cycles are quite long, so I have to build from devel to get the latest fixes. Is the current stable release maintained in some way?

I'll be grateful if someone could clear things up for me.

vtk 6 compatibility

The fact that it is not compilable with gtk 6 makes it impossible to fully compile on debian stretch with the official packages only. Making it compilable with debian stretch would make it compatible with future ubuntus too.

Warning from CMake about SET CMP0022 OLD

Hi, I get a warning from CMake 3.10.2 on Ubuntu 18.04 that setting OLD is deprecated and won't be supported in future.

 CMake Deprecation Warning at CMakeLists.txt:51 (CMAKE_POLICY):
   The OLD behavior for policy CMP0022 will be removed from a future version
   of CMake.

   The cmake-policies(7) manual explains that the OLD behaviors of all
   policies are deprecated and that a policy should be set to OLD only under
   specific short-term circumstances.  Projects should be ported to the NEW
   behavior and not rely on setting a policy to OLD.

ElmerGUI Model - Setup Dialog size

In Ubuntu, When I open Model -> Setup dialog of ElmerGUI, first I can see the "apply" button. When I close it, and again open the Setup dialog, I CAN NOT see 'apply' button at all, and I'm stuck without being able to "apply".

I request to you please reduce the "height" of the window, and in fact, "free text" field is given unnecessary space and using valuable space in the dialog. You can reduce that free text field height, and make "apply" visible.

It's also not possible to resize. I also request you reduce height of any other such windows, which creates problems for users who're heavily dependent on GUI.
elmer

Thank you very much.

GetTensor MagnetoDynamicsUtils.F90 leaks memory

There is a work variable Cwrk set to NULL() which is passed to ListGetRealArray which allocates corresponding variable and no-one deallocates it. Anyways, it seems bad idea to allocate the work array at each element.

Snip:

! GetTensor line 154
    Cwrk => NULL()
! Lists.F90 line 5252
    IF ( .NOT.ASSOCIATED( F ) ) THEN
       ALLOCATE( F(N1,N2,N) )
     ELSE IF ( SIZE(F,1)/=N1.OR.SIZE(F,2)/=N2.OR.SIZE(F,3)/= N ) THEN
       DEALLOCATE( F )
       ALLOCATE( F(N1,N2,N) )
     END IF

Thanks to @jvencels for finding the leak.

error #6691: A pointer dummy argument may only be argument associated with a pointer. [ELEMENT]

Hi
When I tried to install Elmer/Ice use

cmake -C ../elmer-opts.cmake ../elmerfem -DWITH_ElmerIce:BOOL=TRUE -DWITH_MPI:BOOL=TRUE
make -j8 install

I got the error

error #6691: A pointer dummy argument may only be argument associated with a pointer. [ELEMENT]
CALL PickActiveFace(Mesh, Parent, Element, Face, ActiveFaceId)
---------------------------------------------^
compilation aborted for /lustre/home/d171/s1883636/elmerfem/fem/src/ElementDescription.F90 (code 1)
make[3]: *** [fem/src/CMakeFiles/elmersolver.dir/ElementDescription.F90.o] Error 1
make[2]: *** [fem/src/CMakeFiles/elmersolver.dir/ElementDescription.F90.o.provides] Error 2
make[1]: *** [fem/src/CMakeFiles/elmersolver.dir/all] Error 2
make: *** [all] Error 2

I google the solution and find this
https://software.intel.com/en-us/forums/intel-fortran-compiler/topic/506778

but I do not know is it a bug or I did not have the right way, tks

SIGSEGV: Segmentation fault

Hello,
I'm on Ubuntu 14.04 32bit, I've installed elmerfem-csc package as mentioned in: https://www.csc.fi/web/elmer/binaries
ElmerGUI works fine, I can do everything from importing geometry to generating sif file. The problem is when I start the solver I got:

ELMER SOLVER (v 8.1) STARTED AT: 2016/01/05 10:37:34
ParCommInit:  Initialize #PEs:            1
MAIN: 
MAIN: =============================================================
MAIN: ElmerSolver finite element software, Welcome!
MAIN: This program is free software licensed under (L)GPL
MAIN: Copyright 1st April 1995 - , CSC - IT Center for Science Ltd.
MAIN: Webpage http://www.csc.fi/elmer, Email [email protected]
MAIN: Version: 8.1, Compiled: 2015-12-30)
MAIN: =============================================================
MAIN: 
MAIN: 
MAIN: -------------------------------------
MAIN: Reading Model: case.sif
Loading user function library: [StressSolve]...[StressSolver_Init0]

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0xB723F163
#1  0xB723F800
#2  0xB77603FF
#3  0x0
Segmentation fault (core dumped)

This happens with all the cases I've tested, even the most basic ones.

What's wrong ?

regards.

Elmerfem installs its own copy of ARPACK

I've been trying to install ElmerFEM under MacPorts. I have no problem building the package (I haven't tried all optional variants), but I have a failure when activating:

elmerfem tries to install /opt/local/lib/libarpack.dylib

which conflicts with the MacPorts arpack package, which has numerous dependent package in my case.

Unfortunately, cmake is not set up to test for arpack and add the correct path/library to the link settings.

In src/mathlibs/CMakeLists.txt there only is ADD_SUBDIRECTORY(arpack)which then builds the local version of arpack.

Can't save images in Elmerpost

When I go through the menu to save an image as a jpeg, the command fails with message:

invalid command name "savejpg"
invalid command name "savejpg"
    while executing
"savejpg $File"
    (procedure "saveimage" line 17)
    invoked from within
"saveimage $PSFileName $OUTPS "
    invoked from within
".screensave.but.save invoke"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list $w invoke]"
    (procedure "tk::ButtonUp" line 22)
    invoked from within
"tk::ButtonUp .screensave.but.save"
    (command bound to event)

And for ppm

invalid command name "screensave"
invalid command name "screensave"
    while executing
"screensave $File"
    (procedure "saveimage" line 14)
    invoked from within
"saveimage $PSFileName $OUTPS "
    invoked from within
".screensave.but.save invoke"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 [list $w invoke]"
    (procedure "tk::ButtonUp" line 22)
    invoked from within
"tk::ButtonUp .screensave.but.save"
(command bound to event)

Update README

According to this forum post, this repository is now the official source repository, replacing the old SVN repository. Therefore, the README in this repository needs to be updated; it still claims that the previous repository is official, and gives a past date as the expected transition time. This needs correcting to reflect the current state of Elmer.

ERROR:: LoadMesh: Requested mesh

Hello,
right now I successfully compiled ElmerSolver on Debian 9 x64
I followed all instructions from Your wiki.
But I have problem even open mesh file from test directory.
As You can see it here:

ELMER SOLVER (v 8.4) STARTED AT: 2019/05/11 02:11:39
ParCommInit:  Initialize #PEs:            1
MAIN: 
MAIN: =============================================================
MAIN: ElmerSolver finite element software, Welcome!
MAIN: This program is free software licensed under (L)GPL
MAIN: Copyright 1st April 1995 - , CSC - IT Center for Science Ltd.
MAIN: Webpage http://www.csc.fi/elmer, Email [email protected]
MAIN: Version: 8.4 (Rev: 7f6b9e12, Compiled: 2019-05-11)
MAIN:  Running one task without MPI parallelization.
MAIN:  Running with just one thread per task.
MAIN: =============================================================
MAIN: 
MAIN: 
MAIN: -------------------------------------
MAIN: Reading Model: /home/strong/elmer-build/fem/tests/adv_diff4/ad4.sif
LoadInputFile: Scanning input file: /home/strong/elmer-build/fem/tests/adv_diff4/ad4.sif
LoadInputFile: Loading input file: /home/strong/elmer-build/fem/tests/adv_diff4/ad4.sif
Model Input:  Unlisted keyword: [poison diffusivity] in section: [material 1]
Model Input:  Unlisted keyword: [poison maximum solubility] in section: [material 1]
Model Input:  Unlisted keyword: [poison diffusivity] in section: [material 2]
Model Input:  Unlisted keyword: [poison maximum solubility] in section: [material 2]
Model Input:  Unlisted keyword: [poison] in section: [boundary condition 1]
Model Input:  Unlisted keyword: [poison] in section: [boundary condition 2]
Model Input:  Unlisted keyword: [poison solubility change boundary] in section: [boundary condition 4]
Loading user function library: [AdvectionDiffusion]...[AdvectionDiffusionSolver_Init0]
ERROR:: LoadMesh: Requested mesh > ./Step2 < does not exist!

Elmer not packaged for Ubuntu 18.10

I get the following error after adding the Elmer PPA:

Err:11 http://ppa.launchpad.net/elmer-csc-ubuntu/elmer-csc-ppa/ubuntu cosmic Release
  404  Not Found [IP: 91.189.95.83 80]
Reading package lists... Done                      
E: The repository 'http://ppa.launchpad.net/elmer-csc-ubuntu/elmer-csc-ppa/ubuntu cosmic Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

It looks like Elmer hasn't been packaged for 18.10 yet.

Thanks!

comfigure fails: SET_TARGET_PROPERTIES called with incorrect number of arguments

On FreeBSD I am getting this error:

-- Found 116 modules from /usr/ports/cad/elmerfem/work/elmerfem-FISOC_GMD_V1/fem/src/modules
--  ELMERSOLVER_RPATH_STRING_MOD 
--  ELMERLIB_RPATH_STRING 
CMake Error at fem/src/CMakeLists.txt:185 (SET_TARGET_PROPERTIES):
  SET_TARGET_PROPERTIES called with incorrect number of arguments.


CMake Error at fem/src/CMakeLists.txt:186 (SET_TARGET_PROPERTIES):
  SET_TARGET_PROPERTIES called with incorrect number of arguments.


CMake Error at fem/src/CMakeLists.txt:291 (SET_TARGET_PROPERTIES):
  SET_TARGET_PROPERTIES called with incorrect number of arguments.


CMake Error at fem/src/CMakeLists.txt:300 (SET_TARGET_PROPERTIES):
  SET_TARGET_PROPERTIES called with incorrect number of arguments.


-- Skipping test PoissonDG with 16 procs
-- Skipping test WinkelPoissonMetisKwayDual with 16 procs
-- Skipping test WinkelPoissonMetisKwayNodal with 16 procs
-- Found 578 tests
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for getline
-- Looking for getline - found
-- checking for thread-local storage - found
CMake Error at elmergrid/src/CMakeLists.txt:36 (SET_TARGET_PROPERTIES):
  SET_TARGET_PROPERTIES called with incorrect number of arguments.

tag: FISOC_GMD_V1
OS: FreeBSD 12

elmerfem 8.3.20170524 - build error

From FreeBSD's pkg-builders:
...
cd /wrkdirs/usr/ports/cad/elmerfem/work/.build/fem/src &&
/usr/local/bin/gfortran8 -DCONTIG=,CONTIGUOUS -DHAVE_EXECUTECOMMANDLINE
-DUSE_ARPACK -DUSE_ISO_C_BINDINGS -Delmersolver_EXPORTS -I/usr/local/include
-I/wrkdirs/usr/ports/cad/elmerfem/work/.build
-I/wrkdirs/usr/ports/cad/elmerfem/work/.build/fem/src
-I/wrkdirs/usr/ports/cad/elmerfem/work/elmerfem-release-8.3/fhutiter/src
-I/wrkdirs/usr/ports/cad/elmerfem/work/.build/fem/src/binio
-I/wrkdirs/usr/ports/cad/elmerfem/work/.build/fhutiter/src -O
-Wl,-rpath=/usr/local/lib/gcc8 -fPIC -O3 -DNDEBUG -O3 -J../../fmodules -fPIC
-c
/wrkdirs/usr/ports/cad/elmerfem/work/elmerfem-release-8.3/fem/src/CRSMatrix.F90
-o CMakeFiles/elmersolver.dir/CRSMatrix.F90.o
/wrkdirs/usr/ports/cad/elmerfem/work/elmerfem-release-8.3/fem/src/CRSMatrix.F90:3681:24:

   A % ILUCols    => ILUCols
                    1

Error: Assignment to contiguous pointer from non-contiguous target at (1)

ElmerGUI should have a 'New Project' option

It is not very obvious how you are supposed to create a new project in ElmerGUI, at least using a mesh created elsewhere (e.g. Salome). I suggest that the file menu should have a 'new project' option to create a new project with some basic settings (one of these could be whether to use a user-generated .sif file or not for instance). In the long run you could also maybe have an option to import a mesh (by converting using ElmerGrid) for instance to ease the process of getting started with elmer.

mainform.ui in wrong folder

When compiling with CMake and then make, it searches for mainform.ui in ElmerGUItester/src, but it's actually in ElmerGUItester/forms.
It seems that this problem has been around for a while. The fix is simple: Make a softlink to the mainform.ui:

cd ElmerGUItester/src
ln -s ../forms/mainform.ui

Could someone move the file or make this automated?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.