Commit Graph

100 Commits

Author SHA1 Message Date
Pratheek Shanthraj 0209a1d5a7 restructured AL solver to resemble polarization scheme and introduced alpha and beta parameters in numerics to determine what kind of solution you want. alpha = beta = 1 results in the AL scheme. alpha = beta = 2 results in the accelerated scheme. safe values are anything in between. changed the solver to use stress calculations on the campatible field which seems to result in faster convergence. 2013-02-28 17:35:02 +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 a98be4e0cf IO_error and IO_warning crashed for string of zero length (or only containing whitespaces), fixed now.
Also added BEGIN and END statement to numerics in case of non-presen DAMASK_NUM_THREADS, would prevent this error and is better for debugging
2013-02-20 21:56:59 +00:00
Martin Diehl c7c81a5ab5 removed unused variables and declared external functions as external 2013-02-11 09:44:17 +00:00
Martin Diehl e9f351c69b forgot to commit 2013-02-08 15:56:58 +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 0d5e91ac87 corrected reporting of basic PETSc variant and unified reporting of all spectral solvers
improved warning and error in IO, now able to report correctly elements up to 9 digits
2013-01-09 22:19:32 +00:00
Martin Diehl 738f363263 corrected small issues with PETSc debugging 2013-01-03 16:17:23 +00:00
Martin Diehl 5c0c7121e7 made PETSc silent by removing -snes_view from default options.
introduced PETSc option for debugging that introduces some debugging options into the petsc options and move PETSc initialization from numerics to DAMASK_spectral_utilities
2012-12-15 18:07:49 +00:00
Martin Diehl 566b680319 made new spectral solver the default (no need for SOLVER=NEW anymore) and added additional warnings switche to be used with gfortran >= 4.6
added comments
2012-12-15 16:21:10 +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
Martin Diehl 7b87987751 introduced option for regridding to numerics.f90, working as follows:
first cut back is tried if material point model oder BVP solver does not converge.
If no regridding is enabled after max cut back, in case of non-converged material point the simulation stops and in case of non-converged BVP solver it continues.
set regridMode to 2 to enable regridding if BVP solver OR materialPoint model do not converge,
set regridMode to 1 to enable regridding if materialPoint model do not converge, non-converged BVP solver will be ignored as in the standard case.
For regridding, the load case need to have a restart freq set.

enabled restarting for Basic PETSc variant
2012-12-14 15:18:04 +00:00
Christoph Kords e10000a338 Introduced an alternative cutback scheme for the nonlocal model, that allows to keep the results of most of the ips that immediately converged, and only do cutbacks in regions where some ips are in big trouble. Only works for nonlocal model and state integrator 2. 2012-11-27 18:36:55 +00:00
Martin Diehl 3ada4897fb reordered PETSc initialization (now first part done in interface, setting of parameters done in numerics), removed unnecessary includes for PETSc
still not running with gfortran, use at own risk!
2012-11-06 16:00:51 +00:00
Martin Diehl d5ce49c471 numerics got some protected statements and is now reading in the new keywords for the solver selection in small letters.
spectral solver got cut back facilities + improved output to screen
2012-10-02 15:26:56 +00:00
Christoph Kords d0fd3c03c5 forgot to check in; belongs to rev 1762 2012-09-24 16:22:25 +00:00
Krishna Komerla 8ed69170c5 corrected wrong warning complaining about FFTW string when DAMASK_NUM_THREADS undefined 2012-09-14 16:39:42 +00:00
Martin Diehl 1cfc467705 added new cut back parameter for spectral solver and instrumented variables for use with doxygen 2012-09-13 09:48:38 +00:00
Martin Diehl 8e3b547cbd changed numerics.f90 back to the old openmp statement as this doesn't seem to cause the problem and is standard conforming
corrected typo in constitutive_j2.f90 that might cause abaqus to crash
now running 20 tests of abaqus in order to have a decent statistic about the crash behavior
improved abaqus_v6.env
2012-08-29 16:16:10 +00:00
Martin Diehl d089c12947 abaqus seems to have similar problems with the openmp lib as marc (use module vs. include file), i hope this fixes the crashes 2012-08-28 19:48:38 +00:00
Martin Diehl 5e9e8497e6 new solver is now compiling without a PETSc installation, however only the plain basic solver is available then.
also removed reporting of PETSc related variables in the case it is not installed/found
2012-08-28 19:19:47 +00:00
Pratheek Shanthraj c2c31a0a59 added SolverBasicPETSC module to the new FFT solver (solves the basic scheme using PETSc when mysolver = basicpetsc in numerics.config)
some bug fixes
2012-08-14 16:58:23 +00:00
Pratheek Shanthraj d0933dad7b added filter option to the spectral solver to mitigate spurious oscillations due to gibb's phenomenon. activate by setting myfilter in config file appropriately (currently only 'none' and 'cosine' options coded). more cleaning up of AL code 2012-08-07 17:23:13 +00:00
Pratheek Shanthraj 32f8c9c6ea moved petsc option string to numerics and added new numerics parameters to config file 2012-08-06 17:27:53 +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
Pratheek Shanthraj e2a2621235 updates for AL version of spectral solver 2012-08-06 08:53:12 +00:00
Martin Diehl 4ed68bb4ae next round in modularization 2012-07-25 14:01:39 +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
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
Franz Roters 5b7f2e122e fixed usage of OpenMP function library 2012-06-12 09:44:05 +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
Martin Diehl 17826d7c98 now initializing planner flag for fftw with useful value even if init wasn't executed 2012-03-26 10:03:39 +00:00
Franz Roters 7947ae36b3 changed default value of err_div_tol 2012-03-22 10:33:54 +00:00
Martin Diehl dbdc7ddfa2 debug.config, debug.f90, DAMASK_abaqus_exp.f, DAMASK_abaqus_std.f: changed to new debug scheme (wasn't working)
lattice.f90, FEsolving.f90: explicitly defined public functions and variables, all others are now private
numerics.f90: changed output format of real numbers, now instead of 0.1eX 1.0e(X-1) is printed to screen
Makefile: now using correct Optimization flags for OPTIMIZATION=AGGRESSIVE
DAMASK_spectral_AL.f90: improved, but still testing. Stress BCs now seem to be handled correctly
2012-03-20 18:01:31 +00:00
Pratheek Shanthraj c2f5cebacb simplified analytic jacobian calculation. removed Lpfrac, time_sensitive. introduced rate_sensitivity flag when calling crystallite_stressAndItsTangent that is currently set to .false. and is to be set according to which dPdF the FE solver is asking for 2012-03-14 13:56:50 +00:00
Martin Diehl 2a7888c7e1 removed (in IO.f90) a dangerous initialization statement.
Please read http://www.cs.rpi.edu/~szymansk/OOF90/bugs.html#4
for more details.

Other files are just a little bit polished
2012-03-07 10:07:29 +00:00
Pratheek Shanthraj 17e9698659 added time_sensitive flag to ignore or add time sensitive component to analytic jacobian (should be close to perturbed jacobian when ignored)
now uses sub_dt for analytic jacobian calculations
bug fixes
2012-03-01 19:42:43 +00:00
Franz Roters 1042ac018f output values used for Lp_frac and analyticJaco
improved comment for Lp_frac on numerics.config
2012-02-24 08:21:18 +00:00
Martin Diehl a98832100f introduced itmin parameter for spectral code for defining minimum number of cycles
removed simplified_algorthim flag because the basic scheme using the polarization field will not be implemented
introduced divergence_correction flag for making divergence criterion resolution-independent (still experimental and not set by default)
corrected output and restart frequency (now modulo on incs of current load case)
2012-02-23 16:43:17 +00:00
Pratheek Shanthraj b9a82156c9 crystallite.f90: can now calculate analytic jacobian by setting analyticJaco = 1 in numerics.config
math.f90: added math_mul3333xx3333…

numerics.f90: to read in analyticJaco and Lp_frac
2012-02-22 20:11:09 +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 f03e7c459c small polishing, exchanged stops in math.f90 with calls to IO_error 2012-02-13 14:08:07 +00:00
Martin Diehl cff66b5cc3 removed implicit type castings 2012-02-10 11:24:53 +00:00
Martin Diehl 195491aaaa added missing pInts 2012-02-09 12:35:55 +00:00
Martin Diehl c5128e94eb some f2008 standard related correction i didn't check in last time 2012-02-01 20:20:05 +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