Commit Graph

66 Commits

Author SHA1 Message Date
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
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 62497b648a removed forgotten debug statement 2014-03-26 09:09:28 +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
Martin Diehl c7994db5ef writing out f_aim and f_aim_last inc for restart, was calculated as average before 2014-03-24 09:59:30 +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
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 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
Pratheek Shanthraj e62b760a6e added F_avg = F_aim in boundary condition convergence check 2013-08-09 16:25:13 +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 5b80ef3a4c fixed wrong error calculation in Polarisation and AL solvers, and strictened tolerances for tests 2013-08-02 13:55:44 +00:00
Martin Diehl 74791a6686 corrected invalid error for mismatch_p 2013-08-02 11:48:24 +00:00
Martin Diehl ac2ca43cfc added svn properties 2013-08-01 09:13:46 +00:00
Martin Diehl 2dc985f558 set tolerances to useful values and renamed them.
allowed "keyword = value" in numerics.config (simply removing "=" from line)
2013-07-31 15:03:38 +00:00
Martin Diehl b5a11f9d31 fixed bug in AL, weakened correction slightly 2013-07-30 21:04:41 +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 216063fe36 added Polarisation scheme as solver 2013-07-24 13:06:16 +00:00
Martin Diehl ebe8361af0 decoupled compatibility/equilibrium calculation from stress BC correction. needs more iteration for mildly contrasted materials, but there the basic scheme is better suited anyway. but now converges better for highly contrasted VEs 2013-07-23 17:42:15 +00:00
Martin Diehl bbb0803ce4 itmin was always +1 2013-07-17 19:58:48 +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
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 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 5b8257a7f9 added debugging possibility for MSC.Marc, rename parameters to CAPITALS 2013-03-31 13:06:49 +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
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
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 5c1185a5d2 renamed F_lambda to F_tau for clarity. using stress tangent to precondition equations 2013-03-04 09:49:40 +00:00
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
Pratheek Shanthraj 07ff1f7c93 reporting current time for most module inits 2013-02-25 16:34:59 +00:00
Martin Diehl 4997328de1 added use statements 2013-02-05 15:03:36 +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 645b2605e1 corrected reporting to statistics file (*.sta) 2013-01-11 10:40:16 +00:00
Martin Diehl 4c145376a0 forgot some integers 2013-01-10 18:50:14 +00:00
Martin Diehl 6e3e06bed7 corrected PETSc macro expansion 2013-01-10 15:36:55 +00:00