"lastLovl" (for marc) and "lastStep" (for abaqus) have to be global module variables in FEsolving.f90 instead of local variables in the respective DAMASK_* files; otherwise they are initialized with zero each time hypela2/umat is called.
regular sequence of computation modes is
inc 0: 1,1,1,…
inc 1: 0,0,0,…
7,1,1,…
0,0,0,…
1,1,1,…
and so on
after a cutback the computation modes follow as
inc 5: 8,0,0,…
1,1,1,…
0,0,0,…
1,1,1,…
DAMASK_marcXXXX.f90 now is not a copy any more but contains one definition and an include statement
setup_code of spectral solver is now replaced by the standard 1) configure 2) make 3) make install
first call damask.core.mesh.mesh_init_postprocessing(meshfilename) to initialize all necessary mesh variables
then damask.core.mesh.mesh_build_cellnodes(nodes) calculates the cellnode positions for a given list of node positions
the meshfile that is needed for the init is created automatically by mesh_init in DAMASK
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
commented and cleaned up the marc interface.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
saves to copy same geometry description for different elements that are essentially similar regarding the IP number but differ in total node count.
introduced quadratic tetrahedron (Marc element 127 -- element 157 might also work, but did not perform well in fully elastic calc so far)
precision information is now parsed as a makro, defined by the compiler, eg. -DFLOAT=8 for 8 byte long floats or -- in case no values is given -- for the FEM wrapper by the interface files.
Please don't forget to run setup_code.py !!!!!!!!!!!
abaqus_v6.env is adjusted to specify the standard precision (float=8, int=4) and got some extra compilation options, some deprecated warning supressors are removed
Optional Marc modification will follow that allow automatic selection of suitable precision
Mainly affected modules are IO and mesh. Most of the changes in mesh result from reordering the functions when grouping them depending on their solver.
Further advantage is that FE solver do not need FFTW and kdtree2 anymore. The include files for these two libraries moved to DAMASKROO/lib now as I figured out how to use a include path in the Makefile.
Put all the files I got when testing compilation with abaqus in a folder which to become the abaqus compilation test.
added compiler switches for gfortran and ifort to check for standard conformity
old gnu compilers <4.4 are not longer supported because they don't provide the c binding for fftw
* Marc: node displacements are added to initial node coordinates (mesh_node0) to get current node positions (mesh_node), then ip coordinates are deduced
* Abaqus: ip coordinates are directly updated, no update of node coordinates!
* Spectral: for the moment no update of either ip or node coordinates! passing only dummy values with initial ip coordinates