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
Martin Diehl
80583fefb5
added compilation_info.f90, to store compilation date,time and compiler info in each file
...
added #include statement at each init() routine
2012-01-31 14:54:49 +00:00
Martin Diehl
9464937db7
merge declaration and initialization with standard values
...
corrected handling of $DAMASK_NUM_THREADS
2012-01-30 20:16:19 +00:00
Martin Diehl
eeda357710
N^2 initialization loop (former spectralPictureMode) rewritten in material.f90
...
additional output in DAMASK_spectral_interface.f90
132 character cut off in constitutive_nonlocal.f90
rounding error in math.f90 complex number initialization (1.0_pReal)*2.0_pReal*pi
new $DAMASK_NUM_THREADS warning in numerics.f90 / IO.f90
polishing in DAMASK_spectral.f90
2012-01-30 13:52:41 +00:00
Martin Diehl
3e521e32a6
indroduced 3 more flags for fine control of spectral algorithm
2012-01-25 08:56:46 +00:00
Martin Diehl
3a22bf7e27
changed fftw from legacy fortran to new (2003) fortran (calling c routines directly)
...
renamed "steps" consequently to "incs"
moved kdtree2 to math.f90, put original source to private folder
2012-01-13 16:18:16 +00:00
Martin Diehl
ace6851389
moved all routines from postprocessingMath to math.90, renamed the module to DAMASK, changed scripts and interfaces accordingly.
...
polished math.f90 (mainly added _pInt/_pReal and intent(in/out))
curl_fft is still a dummy function
2011-12-01 12:01:13 +00:00
Martin Diehl
566f16b6e9
implemented calculation of divergence in real space, polished spectral debugging
2011-11-21 18:12:40 +00:00
Martin Diehl
5ef73e164a
restructured algorithm: moved into loop to reallocate fields and replan FFTW in case resolution changes during runtime ==> regridding
...
introduced parameters for selective debugging of spectral code and partly introduced the advanced divergence calculation again which is controlled by debug.config
added switch in numerics to control divergence behavior (uncorrected and corrected by phenomenological factor)
added precision directive to all values I found
2011-11-15 17:54:18 +00:00
Martin Diehl
ee7022d8cf
correctet random seed generation to work with gfortran.
2011-11-04 10:29:35 +00:00
Martin Diehl
15c356c3a7
some small improvements regarding the rotation of the loadcase frame
2011-10-25 13:38:24 +00:00
Martin Diehl
c13aa2a829
first try of implementing a rotation of the loadcase coordinate system. Seems to work so far for one loadcase and homogeneous materials.
2011-10-24 18:26:34 +00:00
Martin Diehl
a8a53ee525
added two parameters to control behavior of FFTW, timelimit is not working at the moment
...
remove fftw3.f as it is not needed anymore
!incremental update, wait for commit of damask_spectral.f90 before checking out
2011-10-18 09:16:18 +00:00
Philip Eisenlohr
c7c541f393
corrected typos and such
2011-09-13 15:57:58 +00:00
Martin Diehl
4fb1cb8f87
merged calcmodes, i.e. equilibrium and fulfilling of stress BC is done in one step,
...
made convergence independent of size and resolution,
polishing output in DAMASK_spectral.f90
added function to compute eigenvalues without eigenvectors and function to convert a 3x3 logical to a 9 vector in math.f90
removed obsolete variable in numerics.f90
2011-08-26 14:06:37 +00:00
Onur Guevenc
907965272b
added option to build DAMASK_spectral without openMP (make OPENMP=OFF)
...
fixed bug in bc_temperature assignment that was hitting memory.
Temperature is taken from the first loadcase and evolves from there in an adiabatic fashion for the moment. I.e. T-specifications from later loadcases are ignored...
2011-08-03 17:57:28 +00:00
Franz Roters
aa714a3d84
some textconstants were wider than specified in the format string, this might have caused Abaqus to crash due to an illegal memory reference (signal 11)
2011-07-29 14:54:26 +00:00
Martin Diehl
72d20875de
added some switches and variables to the makefile to make it more flexible
...
DAMASK_spectral.f90 is a "debug version" with a number of different criteria to determine divergence. will be removed later on.
2011-07-25 16:30:21 +00:00
Martin Diehl
8153cd50b4
added spectral numeric parameters to numerics.config, changed values for spectral numeric parameters in numerics.f90 to more suitable values for new method for determination of divergence in Fourier space
2011-07-11 14:28:56 +00:00
Franz Roters
2418dfe96d
changed MPIE_NUM_THREADS to DAMASK_NUM_THREADS
2011-05-28 09:42:25 +00:00
Franz Roters
c1b8391110
changed enconding of all source files to UTF-8 without BOM (signature) Codepage 65001
2011-04-07 07:20:28 +00:00