Commit Graph

112 Commits

Author SHA1 Message Date
Christoph Kords 338e338c9a - fixed bug in volume calculation of 2d elements
- subroutine "mesh_build_ipVolumes" uses openmp parallelization
2013-04-10 08:24:53 +00:00
Christoph Kords d80d416c32 2d elements now have a volume corresponding to a thickness of 1; used to have zero volume
now also 2d elements can be used with nonlocal model
2013-04-09 18:07:30 +00:00
Martin Diehl 7b5a202e8c enabled alternative (and soon standard) keywords grid (resolution) and size (dimension).
removed errors for odd resolution
2013-04-08 14:22:32 +00:00
Martin Diehl 39a70e8a19 fixed bug in coordinate calculation when no average F was given (scaled wrong by ncp_elems**2)
other changes: just polishing + some more comments
2013-03-27 12:28:55 +00:00
Christoph Kords b6aecdac17 corrected debugging output of node twins 2013-03-27 10:25:37 +00:00
Franz Roters 02f092492e updated copyright header 2013-03-22 17:35:05 +00:00
Philip Eisenlohr 5b96c1d62a scaling of deformation gradient fluctuations now possible in x,y,z independently (give array). 2013-03-22 15:09:55 +00:00
Martin Diehl 59da88460e preparation for introduction of plain mode and restructuring of calc modes for CPFEM_general 2013-02-27 20:41:14 +00:00
Pratheek Shanthraj 07ff1f7c93 reporting current time for most module inits 2013-02-25 16:34:59 +00:00
Martin Diehl f0b4281400 removed unused variables, added pure statements, and declared external functions as external (using gfortrans debug option) 2013-02-11 10:43:45 +00:00
Martin Diehl a89efaa4a6 added missing bracket and substituted one more forall by do loop 2013-02-09 08:23:47 +00:00
Martin Diehl e644c6dbc5 improved reading in of values, now only warnings in case of problematic entries in material.config
divergence calculation sqrt scaling optionally introduced for basic scheme spectral solver
2013-02-08 15:55:53 +00:00
Franz Roters eacf6f1196 now also fixed the abaqus part 2013-02-07 10:45:10 +00:00
Franz Roters a036f1eb3a as some IO functions are no longer pure I changed some forall statements to ordinary do loops 2013-02-07 08:52:47 +00:00
Philip Eisenlohr 79e7deca55 introduced dedicated calculation of interface normals in IP neighborhood. (2D elements did not work so far..!)
fixed definitions of some (2D) interface planes to have all normals pointing outward.

removed "int, private :: i" defined for spectral compilation.
2013-02-05 13:27:37 +00:00
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