Commit Graph

73 Commits

Author SHA1 Message Date
Pratheek Shanthraj 74982294a0 added spectral thermal and damage solvers 2015-06-03 17:30:31 +00:00
Pratheek Shanthraj 8f4663985a major restructuring of multi field handling in DAMASK and added some example config files for multi field simulations. please report bugs 2015-05-28 17:02:23 +00:00
Martin Diehl 63491bf268 for some reasons, ifort was complaining about mixed integer types.
also deleted #ifdef PETSC since we do not support the solver without PETSC
2015-03-30 20:49:17 +00:00
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
Pratheek Shanthraj c5a8543f17 updated petsc 2015-03-18 17:18:43 +00:00
Martin Diehl 00cba25a44 improved update of ip coordinates for spectral solver.
do not need to create a new fftw plan all the time, using data already defined for the convolution
2015-03-12 22:28:33 +00:00
Martin Diehl e20271b89a fix for temperature in spectral solver 2015-01-08 13:26:00 +00:00
Pratheek Shanthraj ba65d04bb3 removed redundant crystallite_temperature/heat and materialpoint_heat and using temperature from the thermal module 2014-10-10 12:28:57 +00:00
Martin Diehl f64418f29a removed multithreaded FFTW, does not make a big time difference and will simplify linking when using PETSc 2014-09-18 15:23:11 +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 a787d66763 updated restart test, deviations seems to be related to tolerance in stress BC 2014-08-04 17:50:01 +00:00
Martin Diehl 2e377056ed missing adjustment of interface for call to CPFEM_general related to last commit 2014-07-24 12:26:01 +00:00
Martin Diehl f5ca6b5b36 made (homogeneous) temperature working for spectral solver 2014-06-11 08:19:07 +00:00
Martin Diehl 6314271136 polishing, HDF5 related changes 2014-04-15 09:49:50 +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 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 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
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 7b28dedfe3 removed temperature calculation and debugging statements 2013-10-22 15:52:58 +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 ad32aa3ced fixed calculation of CurlRMS when grid(1)==1 2013-09-20 16:17:25 +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 3bb5a5e7b5 line too long in DAMASK_spectral_solverPolarisation.f90, reordered curl calculation for clearer look, fixed test for Marc 2013 2013-08-08 18:10:58 +00:00
Martin Diehl 7f3c24e1f1 fixed some buggy last minute changes in the last commit 2013-08-08 09:13:29 +00:00
Martin Diehl ac92b90e0b fixed al and pol solver, now checking for div(p) = curl(f) = 0 2013-08-07 17:20:05 +00:00
Christoph Kords 7d2206356e parallelExecution flag now passed as input variable by CPFEM_general; flag is set on the solver level (DAMASK_abaqus_exp.f, DAMASK_marc.f90, etc.) 2013-08-02 11:20:11 +00:00
Martin Diehl 81531097f1 changes on convergence tolerances of AL and Polarisation, switched back to immediate correction of stress bc but only when last two average stresses are close to each other (cosine decay) 2013-07-30 15:32:55 +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 4407edd802 checked convergence reporting for AL and BasicPETSc, seems to be ok now. 2013-07-08 15:48:13 +00:00
Pratheek Shanthraj 8f146ad385 fixed bug in cosine filter 2013-07-02 04:38:18 +00:00
Martin Diehl 5f20c86905 small documentation and output fixes 2013-06-28 18:59:21 +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
Pratheek Shanthraj 7b2e48df68 new 'gradient' filter based on greens function from gradient elasticity theory. work in progress 2013-06-21 17:26:05 +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
Ding Wang 57b591ff39 corrected PETSc debug and Capitalization 2013-05-16 08:55:10 +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 6b46a9c338 introduced output of initial geometry (vtk file) to mesh 2013-04-18 16:40:49 +00:00
Martin Diehl ddcc795461 allowed arbitrary grid (formerly know as resolution), i.e. any integer>1 in each dimension is possible.
removed square root correction for divergence (doesn't make sense)
fixed FFT debug of spectral solver
2013-04-10 10:19:16 +00:00
Martin Diehl 924d943edc simplified interface of CPFEM_general (removed P and F, made cs and dcs/dE optional)
commented and cleaned up the marc interface.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
 ./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2013-04-09 10:08:00 +00:00
Martin Diehl 7f37f55904 added missing line continuation in numerics and explicit private statements in the other files 2013-03-28 10:37:00 +00:00
Martin Diehl 745ca5a6a5 added "public" (and where possible "protected") statements to functions/subroutines/variables/parameters where needed
added -fmodule-private to compile options for gfortran, i.e. gfortran won't compile anymore if an entity is not explicitly declared as public but used in another module to ensure stronger encapsulation
2013-03-28 07:40:30 +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
Franz Roters 02f092492e updated copyright header 2013-03-22 17:35:05 +00:00
Martin Diehl 1ce6028ad3 simplified CurlFFT and DivergenceFFT functions, and did the last changes to Utilities related to the new structure of the spectral solver 2013-03-06 19:34:30 +00:00
Pratheek Shanthraj 1f4d7c2ca4 changed reference stiffness to min max avg from volume avg. using terminally ill information in convergence check 2013-03-06 14:31:13 +00:00
Martin Diehl ada2beb8b8 reorganized calculation modes for CPFEM, now having better readable and cleaner structure 2013-03-01 11:48:29 +00:00
Martin Diehl 33e75972cc unified indices used for better understanding 2013-03-01 09:36:45 +00:00