Martin Diehl
c2495d0d4a
changed misplaced private to public statement and renamed qsort to math_qsort
2013-02-01 07:26:21 +00:00
Martin Diehl
e74b5da19a
changed all remaining routines to fortran-fast arrays (geometry reconstruction etc.)
...
changed all remaining routines in f2py to more clever determination of array size (requires f2py >= 2.0)
enabled 3D visualize to work with odd resolution by switching to linear reconstruction
PLEASE NOTE: Redefinition of routines for f2py might cause trouble -> DELETE DAMASK_ROOT/lib/damask/core.so in this case
further changes: added pure statement where possible, polished, unified use of "Q" for "Quaternion" and reordered math to have similar routines together
2013-01-31 16:28:08 +00:00
Martin Diehl
6ce78cf806
gfortran now detects "call flush" statements, removed the last of them in mesh.f90
2013-01-23 21:50:01 +00:00
Martin Diehl
c6a79d2b3d
divergence_correction for basic solver variants has now 3 possibilities:
...
0: uncorrected, slope per sidelength (physical dimension) e = res/dim
1: corrected by sidelength, slope per unitlength e = res/1
2: corrected such that distance between FPs e = 1
alway regarding the medium length of x,y,z direction
2013-01-16 10:40:53 +00:00
Martin Diehl
19d86ca06a
removed unnecsessary omp statements, removed one transpose in constitutitve
2013-01-08 11:09:20 +00:00
Martin Diehl
b1f28ba5e7
made restart working for all solvers and added corresponding test
...
corrected error handling for FFT based function in case of odd numbers etc.
2012-12-14 17:30:22 +00:00
Franz Roters
d4a59541ad
removed write statements which were introduced for "debuging"
2012-11-19 15:12:11 +00:00
Philip Eisenlohr
d9a98417ca
switched element library to geomType based.
...
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)
2012-11-15 22:45:20 +00:00
Martin Diehl
7e683ca7c3
removed coordinates from call to CPFEM_general and introduced direct storage of coordinates to mesh_ipCoordinates
2012-11-14 14:38:10 +00:00
Christoph Kords
3c53f3ec9a
last version contains buggy mesh.f90; corrected typo in initialization
2012-11-09 07:52:44 +00:00
Christoph Kords
366ac28694
parallelized mesh_build_subNodeCoords and mesh_build_ipCoordinates
2012-11-09 07:47:14 +00:00
Martin Diehl
5214b93342
fixed bug when reading in geometry for spectral solver
2012-11-06 17:16:01 +00:00
Christoph Kords
5b6baa7c0d
introduced distinction between ip coordinates and cell center coordinates; the former can be globally calculated by subroutine mesh_build_ipCoordinates, the latter locally by the function mesh_cellCenterCoordinates; renamed mesh_ipCenterOfGravity to mesh_ipCordinates
2012-11-06 14:37:13 +00:00
Christoph Kords
93cc466749
third entry in mesh_ipNeighborhood stores the neighbor_index that points from each neighbor back to the central ip; needed in nonlocal model
2012-10-24 14:03:02 +00:00
Christoph Kords
b99a846503
new scaling feature in numerics (unitlength) did not scale the reference coordinates in the first place; now this is taken care of in mesh.f90, so scaling should work properly
2012-09-25 16:21:58 +00:00
Martin Diehl
96ba5ecae4
moved some more 'mesh related' functions for post processing from math.f90 to mesh.f90
...
f2py functions remaining in math.f90 now uses assumed size arrays in order to have simpler interfaces. This is only working with python 2.7!
changed python pre- and postprocessing scripts.
If you encounter any problems whith core modules, try to remove the old core.so in the lib/damask
2012-08-27 08:04:47 +00:00
Martin Diehl
b96df9987e
fixed reading/writing of integer arrays with function for real arrays
2012-08-16 14:55:23 +00:00
Krishna Komerla
08c7be7d15
adaptive regrid now working, updates F and F_lastInc based on mapping.
2012-08-10 15:48:27 +00:00
Martin Diehl
7e3a837640
moved calculation and output of geometry related data to mesh.f90, moved output of command line related information to DAMASK_spectral_interface.f90.
...
improved new solver structure (use with make SOLVER=NEW)
2012-08-06 12:43:05 +00:00
Martin Diehl
ee1bde0cd7
enabling regridding more than once by introducing deallocation of arrays
...
added J2 test (stub from Taymour)
2012-07-31 15:37:49 +00:00
Martin Diehl
9c0a161ec0
in case of regridding, undeformed configuration is written out correctly. Restart improve by reading in additional data from converged step.
2012-07-24 12:21:41 +00:00
Philip Eisenlohr
4d09ef0648
changed variable name "debug_what" to "debug_level"
2012-07-05 09:54:50 +00:00
Martin Diehl
bd462d12c6
fixed some bugs in the regridding routine
2012-06-20 18:33:20 +00:00
Martin Diehl
d650972904
corrected some bugs concerning the regridding
...
prevented FEsolving from potentially write to a none existing file
started to introduce petsc into the make chain (nothing happens if PETSC_DIR is not set)
2012-06-20 12:49:46 +00:00
Martin Diehl
481268c8c2
fixed closing of file (unit 222) statement in FEsolving.f90
...
added missing keyword in mesh.f90 with ifndef Spectral statement (needed for Marc and Abaqus)
2012-06-19 14:33:24 +00:00
Krishna Komerla
06be437bc9
added minRes to regridding function and writing out of new geometry file
...
updated f2py wrapper to enable the use of init functions.
added 2 new error messages to io
2012-06-19 13:31:15 +00:00
Martin Diehl
b2fd3e1180
introduced preprocessor identifiers Marc, Abaqus, and Spectral to enable conditional compilation. This allows deleted dummy functions that are used by one solver only.
...
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.
2012-06-15 16:10:21 +00:00
Martin Diehl
cec3357e8f
corrected bug causing wrong element construction when using spectral solver. Also improved error messages for invalid resolution, dimension, and homogenization.
2012-05-21 09:06:02 +00:00
Krishna Komerla
fbd075dc6e
corrected automatic determination of resolution
2012-05-08 15:12:43 +00:00
Krishna Komerla
c752dd5474
regridding is now working, changed the subroutine into a function
...
changed order of arrays in nearest neighbor search to make it fortran fast
constitutive.f90 and homogenization.f90 write state size out during initialization
setup/setup_processing.py is using byterecl to be compatible with binary files written out by solver
2012-05-08 14:57:06 +00:00
Krishna Komerla
4b18278781
reworked neares neigbor search subroutine, now also works for voronoi tesselation (general nn search in periodic cell)
2012-05-04 13:07:37 +00:00
Krishna Komerla
83e89fba3c
improved regridding, especially interfacing to python (also for nearest neighbor search)
2012-04-24 17:02:27 +00:00
Martin Diehl
d2c4874db3
several small corrections/polishing
2012-04-20 11:58:41 +00:00
Philip Eisenlohr
dbc5a3a3ce
subnodeparent check is now running only over actual number (not max) of parent nodes...
2012-04-17 09:19:44 +00:00
Martin Diehl
8c559cbdc9
fixed bug concerning file handling.
2012-04-11 18:46:36 +00:00
Martin Diehl
37fa6c2e14
merged code for python and spectral solver interfacing (shared most of it anyway).
...
put functionality for getting header information (dimension, homogenization, resolution) in functions in mesh.f90
2012-04-11 17:28:08 +00:00
Martin Diehl
f2da887899
added missing ":" in mesh.f90, introduced absolute stress tolerance for spectral solver in numerics.config/numerics.f90
2012-04-11 12:57:25 +00:00
Krishna Komerla
f20cecd421
integrated subroutine for regridding into mesh.f90 and made it available for python
2012-04-10 15:15:46 +00:00
Martin Diehl
bd9667bd4b
added new, flexible debugging scheme.
...
now all modules have their own debug specification.
compiles and runs, I hope nothing is broken
did a lot of polishing
2012-03-08 20:25:28 +00:00
Martin Diehl
87a83d82b7
changed assumed arrays (:) to properly defined ones (gfortran 4.7 was complaining) and remove use statements that are not needed
2012-02-21 15:39:36 +00:00
Martin Diehl
6c0f9d163b
polishing: removed variable names like 'unit' and 'data' that are keywords of fortran and ensured that integer and real precision matches independent of machine standard.
...
removed cut_off parameter for damask_spectral
removed outpot of derived divergence measures and added RMS output in brackets
added comments and options to the makefile
2012-02-15 18:58:38 +00:00
Christoph Kords
c786336af3
reordered (and partly redistributed) error message identifiers, deleted those which are not in use anymore.
...
all constitutive as well numerics now raises an error, if an unknown keyword is found in the respective config file
2012-02-13 17:41:27 +00:00
Martin Diehl
37ac7bf1b4
fixing inconsistencies in variable assignments
2012-02-10 11:56:05 +00:00
Christoph Kords
bbf4f25898
renamed subroutine "mesh_marc_get_mpieOptions" to "mesh_get_damaskOptions" which is now also used for abaqus and spectral input files. The only available option so far is "periodic", which allows for periodic fluxes in the specified direction. Examples for usage (add the following lines to the respective input file, in case of spectral file this goes into the header):
...
- periodicity in x and z direction for marc:
$damask periodic x z
- periodicity in y direction for abaqus:
**damask periodic y
- periodicity in x and y direction for spectral:
periodic y x
2012-02-03 12:37:52 +00:00
Martin Diehl
800e291240
made code standard conform to Fortran 2008 (ignoring warning concerning comments beyond character 132). Basically, changing "x" format specifier to "Nx" ("1x") plus removing $ format specifier
...
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
2012-01-31 19:18:55 +00:00
Martin Diehl
80583fefb5
added compilation_info.f90, to store compilation date,time and compiler info in each file
...
added #include statement at each init() routine
2012-01-31 14:54:49 +00:00
Christoph Kords
1032ff3d47
corrected definition of element base node, which was still flawed
2012-01-19 14:15:26 +00:00
Christoph Kords
6c2a61e489
corrected node coordinates and sorting for spectral method
2012-01-17 16:53:56 +00:00
Philip Eisenlohr
f3bb2271c9
parsing of spectral geom file now accepts two-dimensional microstructure definition (plus range indications by 'x to y')
...
For instance:
1 2 3 4
5 6 7 8
9 10 11 12
...
2012-01-12 17:01:24 +00:00
Pratheek Shanthraj
2ea3c68d3f
removed spectralPicturemode
2012-01-12 10:36:17 +00:00