Commit Graph

55 Commits

Author SHA1 Message Date
Pratheek Shanthraj d44fce4a76 Spectral solver now fully parallel (parallel IO, domain decomposition, FFTs and restart). Working but not extensively tested so please report bugs to me 2015-03-25 16:06:19 +00:00
Martin Diehl 12cb5e56fe fixed interpretation 'spectralOut' header. Seem to have been buggy all the time, but manifested itself only after keyword change. Also added ':' after keywords to be more robust 2015-03-15 15:29:38 +00:00
Martin Diehl ac3d82493e changed output keywords form resolution to grid and from dimension to size 2015-03-13 14:45:33 +00:00
Martin Diehl baa08d8155 made analytic tangent default for spectral solver
removed possibility to compile without PETSc (a lot of effort for little/no use)
2014-10-01 12:29:12 +00:00
Philip Eisenlohr 6612603a23 changed naming convention (keeping backward compatibility in numerics.config):
myspectralsolver --> spectral_solver (called "spectralsolver")
myfilter --> spectral_filter (called "spectralfilter")
2014-09-03 19:59:47 +00:00
Martin Diehl 838a8be1b9 removed forgotten debug statements from last commit
fixed material.config for abaqus example
2014-05-12 09:28:32 +00:00
Luv Sharma d820a5aaa6 fixed some errors in changes related to newstate 2014-05-12 00:44:44 +00:00
Martin Diehl 84ce6e429a changed handling of non-converged BVP solution: By default, exit if no solution is found to prevent "user errors"
Removed ambiguous "regridMode" keyword which was used to trigger this behavior in favor of  "continueCalculation", Set this to 1 to get back old behavior, e.g. report non-converged increments.
2014-03-31 10:04:11 +00:00
Martin Diehl 4bb5439994 removed copyright from *.f90 and *.f files, will be added using the deployMe script for release/nightly build. Now based on presence of svn:keywords property set (usually "Id"). Similar thing will be done for .py, .sh, and .config files but more involved because they might be executable 2014-03-29 08:20:36 +00:00
Martin Diehl 58ad750b2a small changes regarding restart and HDF5 2014-03-26 08:41:45 +00:00
Martin Diehl 2659ee51d4 restart is working for all solvers, but slight deviations still occur. Reason is most probably, that for CPFEM init, a 0s timestep is required which seems to alter the state a tiny bit, leading to small deviations. For AL and Polarization, this is even more severe since the regular call to CPFEM has F-residual as the current deformation gradient, however the init step uses only F. 2014-03-25 15:44:16 +00:00
Pratheek Shanthraj f3ea92f50c fixed error in previous commit 2013-12-18 09:38:44 +00:00
Pratheek Shanthraj 61981617d7 separated forwarding and solution subroutines for better control at the load step looping level 2013-12-18 09:35:05 +00:00
Pratheek Shanthraj ff6211b78c rolled back phase field changes 2013-12-18 09:09:32 +00:00
Martin Diehl ba89df7784 continued with sourced allocation and EOL improvements 2013-12-16 11:58:03 +00:00
Martin Diehl 65ae979920 indroduced sourced allocation, enums where applicable (some parts still missing). fixed bug when having recursive file input 2013-12-12 17:09:59 +00:00
Pratheek Shanthraj 50db944c0c reworked phase field interface to damask spectral solvers. now specify 'thermal a b c' or 'fracture a b c' to activate either phase field where a b c are the initial value, diffusion coefficient and mobility respectively.
Right now only thermal and fracture phase fields implemented and only in the basic petsc solver
2013-11-13 19:21:35 +00:00
Pratheek Shanthraj 724380c624 Coupled phase field implementation for the basic petsc solver. needs clearing up… work in progress 2013-11-12 00:44:23 +00:00
Martin Diehl ea664688f8 introduced dummy temperature calculation. 2013-10-18 20:56:10 +00:00
Martin Diehl dc95c82d4a removed temperature integration and corresponding data structures and debugging options
temperature is stored in crystallite, but homogeneous on one IP (not an component (grain) quantity and an input value parsed in by the BVP solver.
introduced heat, a component (grain) quantity which is homogenized before returned to the heat transfer solver.
went ahead with removal of dummy functions in homogenization and constitutive, this time mainly reduced function signatures to reflect actually needed quantities.
2013-10-16 13:04:59 +00:00
Martin Diehl 3eec0ecdcd introduced #EOF# as module wide parameter in IO.f90
renamed read/write binary file to read/write real/int
removed suffix job from readFile functions as the name of the model is needed as an argument
2013-09-18 14:07:55 +00:00
Martin Diehl 3bf0ed84c8 some comments and minor improvements.
removed tol_gravityNodePos from prec because it's not used
tol_math_check is now used by spectral driver to check rotation
2013-09-14 10:59:35 +00:00
Martin Diehl 7f3c24e1f1 fixed some buggy last minute changes in the last commit 2013-08-08 09:13:29 +00:00
Pratheek Shanthraj 03d8f14a98 introduced dynamics for high strain rate simulations. so far only works for materials with homogeneous density. the density is read in as an optional argument in the load file using the keyword 'den' or 'density'. if density > 0 then inertial terms are added to the stress equilibrium. an implicit euler time discretisation is used to calculate the inertial terms.
dynamic problems are length scale dependent so make sure the geometry size is meaningful (1 m^3 or N m^3 for example is too big for a RVE!).

not specifying a density (density = 0) will perform a quasi static simulation as before.
2013-07-26 16:25:37 +00:00
Martin Diehl 216063fe36 added Polarisation scheme as solver 2013-07-24 13:06:16 +00:00
Martin Diehl 6ec57db0c6 fixed writing out of initial configuration for spectral solver in case of ngrains != 1, small formating improvements in other files 2013-07-01 06:40:09 +00:00
Philip Eisenlohr 98528f9a89 added possibility for multi-level inclusion of files in *.config and loadcase files.
include subfiles by stating

{path/to/include}
2013-06-26 19:19:00 +00:00
Martin Diehl 6f7740a243 made doxygen working for MSC.Marc again, small changes on the todo-statements for doxygen, they don't work on single lines of codes but only on module/variables 2013-06-11 16:35:04 +00:00
Martin Diehl 872f6a9d90 introduced possibility so specify deformation gradient aim at end of load case, rate will be calculated using difference between start of load case and aim. Needed for cyclic loading.
Use keyword "f" for this behavior, don't use it as short name for freq any more!
2013-05-13 09:44:23 +00:00
Martin Diehl 85d4a37d95 moved public data res,size and homog from mesh to DAMASK_spectral_utilities (as grid and geomSize) 2013-05-08 15:52:29 +00:00
Martin Diehl 9fb6d8167b simplified logic for single run, now not checking for extra arguments but simply checking if start and end elem/IP are the same 2013-04-26 13:23:36 +00:00
Martin Diehl 60739abb0d corrected statistics reporting in case of cutback 2013-04-26 09:13:39 +00:00
Martin Diehl d05ebff400 introduce commented new output with stream (no markers at begin/end) and with grid/size instead of res/dim 2013-04-25 14:03:54 +00:00
Franz Roters 02f092492e updated copyright header 2013-03-22 17:35:05 +00:00
Martin Diehl 8f2e164fd2 some more documentation, mainly on the exit codes 2013-02-23 00:24:30 +00:00
Martin Diehl dfe34fd162 specified quit as external as it is not part of a module 2013-02-20 14:37:12 +00:00
Philip Eisenlohr 7461e13c1e relocated spectral_quit() into driver code.
added (dummy) core_quit() for Python damask module.
2013-02-19 14:54:34 +00:00
Mahesh Balasubramaniam 362cbf3359 Made corresponding changes in the constitutive files and DAMASK_spectral_driver and interface files with respect to the changes made to IO.f90 2013-02-06 16:45:34 +00:00
Martin Diehl 08a2aa79f7 doxygen comments for homogenization.f90, unified naming ip->i, el->e 2013-01-29 10:28:01 +00:00
Martin Diehl 96577b18fb introduced error code for run_test.py 2013-01-23 18:33:46 +00:00
Martin Diehl 9ee8108b6b added doxygen documentation to material.f90 and marked read-only quantities as protected where possible, removed substituted "call flush" by "flush" 2013-01-18 11:30:52 +00:00
Martin Diehl 563b1f5e4b added some warning and explicit size of arrays 2013-01-10 13:33:43 +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 55b88e47b7 fixed wrong temperature when using spectral solver 2013-01-09 18:08:08 +00:00
Martin Diehl 4eaa97b33c minor changes on buggy latest commit (wrong use statement) 2013-01-08 21:54:25 +00:00
Martin Diehl d90efef535 fixed bug in cutback scheme 2013-01-07 21:42:00 +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 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
Martin Diehl 57fed66a8e simplified load case parsing 2012-11-29 13:26:17 +00:00
Martin Diehl 5ea0139678 simplified the rate calculation interface in DAMASK_spectral_utilities.f90, corrected bug in rotation parsing and added debug option "rotation" to spectral solver options. This will show the current average stress and deformation additionally in lab coordinate system 2012-11-28 15:04:05 +00:00