Commit Graph

70 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 7156e3996b gfortran noticed that these functions are external 2015-04-11 20:28:07 +00:00
Pratheek Shanthraj 1ee81e74ea more patches to get the tests running again:
- fixed increment counting in postResults to current output scheme

- corrected node coordinates calculation

- some work on restart (restart test still not running)
2015-03-26 21:19:28 +00:00
Pratheek Shanthraj 86283359f1 PetscFinalize should be the last call before exiting 2015-03-26 13:43:18 +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 f538469892 reverted name change: In current PETSc release, its DM_ instead of DMDA_! 2014-11-19 05:35:10 +00:00
Philip Eisenlohr 73a13ddffc added more comments 2014-11-18 15:36:17 +00:00
Pratheek Shanthraj d6080d332d updated to be compatible with latest version of petsc.
Please change your PETSC_DIR to /opt/petsc-dev and PETSC_ARCH to ifort (gfort or ifort-debug for gfortran and debugging version respectively on maws01 also available)
2014-09-11 13:28:15 +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
Christoph Kords caca65148d fixed bug in restart: stiffness values that were read from file used to be overwritten by "utilities_constitutiveResponse"
Still not fixed in polarization and AL solver !!!
2014-02-03 15:57:04 +00:00
Pratheek Shanthraj b9e55b4495 moved setting of CPFEM forwarding flag to the forwarding subroutine 2014-01-27 11:05:36 +00:00
Pratheek Shanthraj de3fc70a02 moved restart writing to the forwarding routine 2013-12-20 10:49:14 +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 c4a592867f updated to PETSc 3.4.3, will not compile on all workstations except for maws0X 2013-12-17 15:37:14 +00:00
Martin Diehl 9083aa53fb fixed long lines due to makro expansion 2013-11-19 16:06:53 +00:00
Pratheek Shanthraj 9c34c1b871 error reporting for phase fields only if there are active phase fields 2013-11-14 10:36:49 +00:00
Pratheek Shanthraj f51c600189 convergence check for phase field only if there are active phase fields 2013-11-14 10:32:41 +00:00
Pratheek Shanthraj 3b113f6a62 more errors :) 2013-11-13 19:38:25 +00:00
Pratheek Shanthraj 8444b4116d corrected error in previous commit 2013-11-13 19:26:36 +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 ea980f428e fixed long line coming from PETSc macro expansion 2013-10-23 17:52:58 +00:00
Pratheek Shanthraj 57cf472982 Improved convergence checking when using newton solver (does not oversolve the problem like before) 2013-10-23 15:22:12 +00:00
Martin Diehl a0f304021f fixed restarting for Polarisation and AL, updated corresponding test and polished output in python (some statements are screwed up when making them Python3 compatible) 2013-09-20 14:22:37 +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 ddfc40afe6 improve restart test, deletion of results was messed up. fixed restart for BasicPETSc, AL and Polarization currently don't run when restarting 2013-09-05 12:07: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
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
Franz Roters a78f91311e added svn properties: line ending: LF and keywords: ID 2013-06-14 09:49:33 +00:00
Ding Wang ce9f92a884 polishing output 2013-06-11 10:27:38 +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 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
Pratheek Shanthraj be655ae536 Changed AL solver errors to absolute. Stress boundary error now max of relative and absolute error 2013-03-22 14:46:55 +00:00
Martin Diehl 1779510dda remove some unused variables, set default value for divergence calculation to 1.e-5 and made calculation independent of dim and res 2013-03-12 18:48:28 +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
Pratheek Shanthraj 07ff1f7c93 reporting current time for most module inits 2013-02-25 16:34:59 +00:00
Martin Diehl cc9eb685fe fixed wrong setting of coordinates in spectral solvers and removed old python scripts for setup of code and processing 2013-02-05 12:31:44 +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 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