Christoph Kords
467c186f0f
annihilation of screws
2012-11-17 13:50:20 +00:00
Nader Zaafarani
dc5cd8a4c4
A modified twin-twin interaction matrix for BCC is introduced.
...
An introduction of a third parameter at the interactionTwinTwin in the material.config for BCC-dislotwin materials is essential.
2012-11-16 13:39:08 +00:00
Philip Eisenlohr
d9a98417ca
switched element library to geomType based.
...
saves to copy same geometry description for different elements that are essentially similar regarding the IP number but differ in total node count.
introduced quadratic tetrahedron (Marc element 127 -- element 157 might also work, but did not perform well in fully elastic calc so far)
2012-11-15 22:45:20 +00:00
Christoph Kords
aec163941d
calculate ip coordinates only once when the first ip enters calculation mode
2012-11-15 12:31:39 +00:00
Philip Eisenlohr
bdbc202c7e
corrected typos
2012-11-15 09:22:36 +00:00
Nader Zaafarani
c0a5a1dfd1
Formation of the Slip-Slip interaction matrix for BCC.
2012-11-14 17:35:33 +00:00
Martin Diehl
7e683ca7c3
removed coordinates from call to CPFEM_general and introduced direct storage of coordinates to mesh_ipCoordinates
2012-11-14 14:38:10 +00:00
Martin Diehl
1896c07c70
corrected some bugs in the last commits
2012-11-14 14:33:41 +00:00
Nader Zaafarani
c8be3a03bd
The twin system <111>{112} for BCC is introduced.
2012-11-14 13:43:59 +00:00
Nader Zaafarani
6b010b4a46
Twin-slip interaction matrix for BCC is set to 0.
2012-11-14 11:53:22 +00:00
Nader Zaafarani
b0464ad176
A modified slip-twin interaction matrices for FCC and BCC are introduced.
...
The shear twin value for BCC is corrected.
An introduction of a third parameter at the interactionSlipTwin in the material.config for dislotwin materials is essential.
2012-11-14 11:13:16 +00:00
Philip Eisenlohr
fb2981b4c4
switched matrix indices in SlipSlip, SlipTwin, TwinSlip, and TwinTwin such that first index refers to first name and second to second...
2012-11-14 10:27:23 +00:00
Philip Eisenlohr
e4ce63d689
switched matrix indices in SlipSlip, SlipTwin, TwinSlip, and TwinTwin such that first index refers to first name and second to second... (used to be transposed for memory efficiency)
2012-11-14 10:22:34 +00:00
Philip Eisenlohr
789e6c7d83
dropped support of MSC.Marc/Mentat 2007 and 2008
2012-11-14 09:57:18 +00:00
Philip Eisenlohr
ad9639f2f7
check for existence of files before sym-linking to them.
2012-11-14 09:40:45 +00:00
Martin Diehl
c3926efd93
introduced logic to use gfortran as default if ifort is not found
2012-11-13 19:12:00 +00:00
Martin Diehl
922042d8d5
now automatically using gfortran if no ifort is found
2012-11-13 18:40:14 +00:00
Martin Diehl
0c87fc16f4
renamed the keyword for the make options from make to options
2012-11-13 17:26:25 +00:00
Martin Diehl
70c4e11742
added comments and structured the code. Temperature is not longer stored for each point but only to simplify restart behavior as long as it is not fully supported by the constitutive models
2012-11-12 14:14:39 +00:00
Christoph Kords
3c53f3ec9a
last version contains buggy mesh.f90; corrected typo in initialization
2012-11-09 07:52:44 +00:00
Christoph Kords
366ac28694
parallelized mesh_build_subNodeCoords and mesh_build_ipCoordinates
2012-11-09 07:47:14 +00:00
Martin Diehl
b1c3c57412
some more finetuning, still not running on gfortran 4.5.0
2012-11-08 21:33:58 +00:00
Martin Diehl
c831716b26
reseting value vector when reading in for loadcase file, otherwise NaNs might be in there
2012-11-08 20:35:31 +00:00
Christoph Kords
11264f3fe4
forgot to check for convergence flag in FPI integrator
2012-11-08 20:15:19 +00:00
Christoph Kords
60438cdbcc
criterion for crystallite cutback loop changed from crystallite_subStep to crystallite_todo; this avoids problems when the last substep of the crystallite increment is below subStepMinCryst (which is allowed during last wind forward)
...
fixed bug in the adaptive Euler integrator and the RK4 integrator, which could not reach the stateJump function, because of erroneous check for converged flag; also corrected the state counter for the RK4 integrator
2012-11-08 20:00:29 +00:00
Martin Diehl
ee5903c767
replaced real 'guessmode' with logical 'guess', caused trouble on gfortran 6.3 with ultra optimization
2012-11-08 19:32:00 +00:00
Martin Diehl
6a86f36407
now having libraries from Makefile before PETSc Libraries in linker order
2012-11-08 18:26:10 +00:00
Christoph Kords
c775edaa6d
better avoid initialization of residuum_old with huge, since it posed problems in Abaqus
2012-11-08 13:26:22 +00:00
Christoph Kords
dad9922f54
fixed bug in crystallite_FPI: stateDamper always has to be defined for each grain
...
added some OMP FLUSH statements were necessary
replaced openmp do by forall construct where possible; this is much safer and perhaps even as fast for small loops
2012-11-07 15:43:29 +00:00
Martin Diehl
bbcffa668b
some small changes in including PETSc *.h90 files to prevent warnings.
...
It seems that a bug in old gfortran 4.5.0 causes the problems, at least with 4.7.3 it seems to work after fixing the bugs in IO.f90
2012-11-07 13:11:41 +00:00
Martin Diehl
9b99825ac6
preventing array index out of bounds in case of empty line, removed to goto statements
2012-11-07 09:31:46 +00:00
Martin Diehl
5214b93342
fixed bug when reading in geometry for spectral solver
2012-11-06 17:16:01 +00:00
Martin Diehl
3ada4897fb
reordered PETSc initialization (now first part done in interface, setting of parameters done in numerics), removed unnecessary includes for PETSc
...
still not running with gfortran, use at own risk!
2012-11-06 16:00:51 +00:00
Martin Diehl
a86d528a4a
replaced call flush(6) by flush(6), slightly improved formating for output of gfortran version
2012-11-06 15:50:20 +00:00
Christoph Kords
5b6baa7c0d
introduced distinction between ip coordinates and cell center coordinates; the former can be globally calculated by subroutine mesh_build_ipCoordinates, the latter locally by the function mesh_cellCenterCoordinates; renamed mesh_ipCenterOfGravity to mesh_ipCordinates
2012-11-06 14:37:13 +00:00
Christoph Kords
bb033c5fe7
Simplified algorithm of crystallite_integrateStress while preserving (almost) same functionality.
...
Removed "leapfrogging" (increase of step for next guess, when last guess was ok); Replaced Armijo rule testing for step size by simple check if the residuum got better, since the former virtually did not have any effect; consistently using the 2-norm of the residuum rather than infinity-norm for the convergence check throughout the function
2012-11-06 12:35:45 +00:00
Christoph Kords
639d6e0655
inserted missing flush(crystallite_todo) in parallel section; might have caused trouble in parallel calculations before
2012-11-05 14:45:52 +00:00
Martin Diehl
086fe138b1
substituted matrix inversion to solve equation by direct solution routine from LAPACK
2012-10-31 09:56:26 +00:00
Christoph Kords
55dc286be2
corrected limit for upper stable dipole distance; fixed a bug in the postResults where division by zero might happen
2012-10-29 13:02:01 +00:00
Christoph Kords
f666f8dcf3
added possibility to scale the plastic shearrate by the ratio of mobile to total density; keyword in material.config is "deadZone"
2012-10-29 12:49:28 +00:00
Martin Diehl
ca596bc7af
error messages are now printed, added svn properties
2012-10-25 09:16:17 +00:00
Christoph Kords
93cc466749
third entry in mesh_ipNeighborhood stores the neighbor_index that points from each neighbor back to the central ip; needed in nonlocal model
2012-10-24 14:03:02 +00:00
Martin Diehl
13b55275b1
documented utilities and structured, worked on the restart capabilities of the new basic solver
2012-10-24 11:31:40 +00:00
Philip Eisenlohr
5ad0eda1b6
switched saturation behavior!!
...
was \dot s_alpha = (1-s_alpha/s_inf)^a h_alphabeta \dot gamma_beta
now \dot s_alpha = h_alphabeta (1-s_beta/s_inf)^a \dot gamma_beta
current form is consistent with the genmat implementation (and appears to make more physical sense). Kalidindi_etal1992 suggested this form, but altered it to the alpha-one in Bachu+Kalidindi1998... By now, it seems that some groups use alpha, others beta approach.
introduced two new absolute tolerance values for "shears" and "twinFrac" (default 1e-6).
2012-10-22 14:55:07 +00:00
Christoph Kords
2be331b74d
In crystallite for state integrators 2 and 3: now that "stateJump" is called before integrating dotState, we have to do state = state + dotState *dt instead of state = subState0 + dotState * dt; otherwise the deltaState is lost
2012-10-22 13:34:15 +00:00
Christoph Kords
0980920b66
In crystallite: for state integrators 2 and 3 the deltaState always has to be done at the beginning of the integration, not at the end; otherwise the stiffness calculation can be completely wrong, when the state is changed after the stress integration for the central solution.
...
Also changed some debugging levels in crystallite and mainly in constitutive_nonlocal
2012-10-22 07:59:35 +00:00
Christoph Kords
3ecaa9e371
modified multiplication term in order to mimic a discrete distribution of dislocation sources; namely, at high resolution, when there is (on average) less than one source per integration point, a random generator decides whether there is a source in the finite volume or not; if there is one, then the multiplication turns independent of the density and depends only on the velocity/volume times a scalar factor; recovers density*velocity/lambda for large finite volumes
2012-10-19 11:40:17 +00:00
Christoph Kords
36676029e1
for state integrator 2 (explicit euler) and 3 (adaptive 2nd order euler): don't do any state evolution during stiffness perturbation, but only stress integration, since for those cases the state is not restored after every perturbation step
2012-10-19 11:20:31 +00:00
Martin Diehl
b9f97ba5da
unified naming scheme, fixed a bug in the new basic scheme, and added a statistic file similar to abaqus to store the information on needed cut backs and iterations for each inc
2012-10-19 08:44:21 +00:00
Christoph Kords
6230dacbac
only first broken ip signals "terminally ill"
2012-10-18 13:48:06 +00:00
Christoph Kords
4a6e08bb69
changed keyword in spectral geometry file for multiplication of entries from "copies of" to "of"
2012-10-18 10:17:16 +00:00
Philip Eisenlohr
dd5f453994
mainly cosmetics. added some comments. changed debug levels for some outputs. corrected (probably non-essential) check for NaN in FPI stressIntegrator.
2012-10-18 09:53:26 +00:00
Philip Eisenlohr
79a5a30a90
removed now obsolete vectorproduct variables st, tt...
2012-10-18 07:25:49 +00:00
Christoph Kords
5f0440fde3
crystallite_integrateStress now raises an error if Fp becomes NaN
2012-10-17 16:19:42 +00:00
Philip Eisenlohr
31f20e51da
just to be able to tell about the bug I found in the hex slip systems---which I actually forgot to mention during the last commit---I slipped in a syntax error that now is fixed, too...
2012-10-12 20:31:50 +00:00
Philip Eisenlohr
05c5ea42d7
prepared loop distributions to hold "over shooters"
2012-10-12 18:00:55 +00:00
Philip Eisenlohr
82a13af474
tidied up the Schmid matrix calculations.
...
added internal check against dilatation in Schmid matrices.
2012-10-12 17:59:50 +00:00
Philip Eisenlohr
b20c612e25
added error "0" for internal (run time) checks failing
2012-10-12 17:55:23 +00:00
Philip Eisenlohr
1b2edd7e7d
fixed error in _identity (wrong delta-function)
...
added _exp33 for matrix exponential
added trace33 for matrix trace
2012-10-12 17:54:20 +00:00
Martin Diehl
324dfda5a2
added comments (doxygen conform) to phenopowerlaw, added warning on specifying h0_sliptwin as it has no effect
2012-10-11 14:49:12 +00:00
Christoph Kords
e4054c116d
fixed problem with gnu compiler: allocation of variables in constitutive_nonlocal_stateInit was not safe when not using any nonlocal constitution
...
put header of debugging output in constitutive_init at the start of the function in order to make debugging easier
2012-10-09 12:34:57 +00:00
Christoph Kords
a84e0529c3
make correction of hardening coefficients thread safe
2012-10-05 16:05:51 +00:00
Christoph Kords
40a2e652e7
introduced material parameter "linetension", which indicates how strong the effect of the line tension on the hardening coefficients is
2012-10-05 14:42:41 +00:00
Christoph Kords
7cc6108a04
hardening coefficients for fcc are density dependent (line tension effect, Devincre, Kubin, Hoc; 2006; Physical analyses of crystal plasticity by DD simulations)
...
fixed bug with thermal annihilation producing negative density in case of very small dipole density and high climb velocity
2012-10-04 18:08:40 +00:00
Martin Diehl
80465c0b49
moved option for UTF-8 encoding to spectral interface as this is now called before prec init.
...
if UTF-8 encoding is needed for FEM solver (old compilers might not support it), add the same statement to the corresponding interface routine
2012-10-04 14:22:39 +00:00
Martin Diehl
e2ea3cdff6
again some changes regarding creation of NaN, ieee-conforming way is not in the complilers yet.
2012-10-02 16:53:03 +00:00
Christoph Kords
bce8012c89
random distribution of initial dislocation density now really independent of meshsize
2012-10-02 15:26:58 +00:00
Martin Diehl
d5ce49c471
numerics got some protected statements and is now reading in the new keywords for the solver selection in small letters.
...
spectral solver got cut back facilities + improved output to screen
2012-10-02 15:26:56 +00:00
Christoph Kords
91b7883c2a
random distribution of initial dislocation density now independent of mesh size
2012-10-02 13:35:34 +00:00
Christoph Kords
1502a71f0c
added possibility to start with an initial random distribution of dislocation segments with specific overall density
2012-10-02 12:57:24 +00:00
Martin Diehl
0bcb8f59db
added doxygen comments, some polishing, added "protected" statements where applicable
2012-10-02 12:53:25 +00:00
Martin Diehl
6301787df4
moved the the variable cutBack from FEsolving.f90 (where it was not used at all) to the interface routines to make responsibility of cut back control clear
...
PLEASE RUN setup_code.py IF YOU DO MARC SIMULATIONS, THE INTERFACE HAS CHANGED
2012-10-02 12:46:58 +00:00
Martin Diehl
c8b7da432c
set debug_level to be protected as it is read-only for other modules
2012-10-02 09:35:39 +00:00
Martin Diehl
4c7bcb8df9
modified formated integer output and added error number in case maximum number of cutbacks is reached
2012-10-02 09:30:13 +00:00
Franz Roters
9fc46b4950
added /echo/ statements
2012-10-02 08:12:53 +00:00
Christoph Kords
b99a846503
new scaling feature in numerics (unitlength) did not scale the reference coordinates in the first place; now this is taken care of in mesh.f90, so scaling should work properly
2012-09-25 16:21:58 +00:00
Christoph Kords
d0fd3c03c5
forgot to check in; belongs to rev 1762
2012-09-24 16:22:25 +00:00
Martin Diehl
912277d1ed
substituted the call to the flush subroutine with the intrisic flush(6) function
2012-09-24 12:10:28 +00:00
Christoph Kords
8336d0705c
new numerics parameter "unitlength" that scales the model size in DAMASK; this enables to use very small models in marc without getting any numerical problems for example with contact which does not seem to work when using very small numbers
2012-09-24 06:13:26 +00:00
Martin Diehl
b587bffdd5
added some 'protected' statements to variables that shouldn't be changed by other modules
2012-09-22 16:49:41 +00:00
Krishna Komerla
8ed69170c5
corrected wrong warning complaining about FFTW string when DAMASK_NUM_THREADS undefined
2012-09-14 16:39:42 +00:00
Martin Diehl
1cfc467705
added new cut back parameter for spectral solver and instrumented variables for use with doxygen
2012-09-13 09:48:38 +00:00
Duancheng Ma
b9a2890665
fixed bug in loadcase rotation: when not specifying "deg" the rotation was reset to 0,0,0..!
2012-09-06 14:05:28 +00:00
Christoph Kords
29023cea3c
minor correction of debugging output
2012-09-05 11:19:46 +00:00
Pratheek Shanthraj
330d71864e
fixed bug with stress BC handling
2012-09-05 08:30:15 +00:00
Christoph Kords
f153866030
introduced factor to control edge contribution to multiplication;
...
dislocation density below a single dislocation per IP considered not significant
2012-09-04 16:56:37 +00:00
Martin Diehl
22812c9a91
some minor improvement on precision detection: checking only once (in prec and no longer in math and crystallite), added one more 4/8 switch for LAPACK, as there is no single precision FFTW, stopping compilation for spectral method if FLOAT=4
...
new function in IO to print integers without leading zeros, implemented it at some places in the new spectral solver (reporting still needs some serious polishing)
updated preprocessing for documentation to handle precision correctly
2012-08-30 20:26:28 +00:00
Martin Diehl
299d9e6bc4
fixed bug in seed initialization that didn't allow to redo calculations that started with a random seed. Now the whole random seed array is set to one value, previously only the first one was reported and the remaining ones were random
...
removed old random function used by halton
2012-08-30 14:58:30 +00:00
Christoph Kords
d80b45c1d9
added relativistic correction of velocity (maximum velocity given by parameter in material.config); probability of thermal activation in velocity law not allowed to be greater than one.
...
output of creation rate for edge jogs now for own system, not collinear.
check for negative densities in dotState now uses absoluteToleranceRho instead of significantRho.
2012-08-30 07:33:13 +00:00
Martin Diehl
8e3b547cbd
changed numerics.f90 back to the old openmp statement as this doesn't seem to cause the problem and is standard conforming
...
corrected typo in constitutive_j2.f90 that might cause abaqus to crash
now running 20 tests of abaqus in order to have a decent statistic about the crash behavior
improved abaqus_v6.env
2012-08-29 16:16:10 +00:00
Martin Diehl
84e3f94424
added flush for easier debugging
2012-08-29 15:23:43 +00:00
Martin Diehl
d83150be1b
now capturing "terminallyIll" for basic solution, should end in a automatic cutback of time steps for the spectral solver
2012-08-29 05:50:42 +00:00
Martin Diehl
3106b8ce0c
corrected definition of integer type for gfortran
2012-08-29 05:19:35 +00:00
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
Martin Diehl
0f64289d75
fixed bug causing trouble with ifort 11 (abaqus)
2012-08-28 19:10:54 +00:00
Martin Diehl
0959ff3299
substituted hand written matrix inversion by LAPACK version with precision selection.
...
also introduced check for inversion into DAMASK_spectral_Utilities.f90 for the stress BC calculation. This part is further improved by using 5% of the reference stiffness to avoid trouble in the fully plastic regime (where the stiffness is underestimated)
Test for Marc 2010 is updated because the new inversion give slightly different results near 0 (order of e-13)
2012-08-28 16:59:45 +00:00
Martin Diehl
73349d02f5
merged precision info into the file prec.f90 and removed prec_single.f90
...
precision information is now parsed as a makro, defined by the compiler, eg. -DFLOAT=8 for 8 byte long floats or -- in case no values is given -- for the FEM wrapper by the interface files.
Please don't forget to run setup_code.py !!!!!!!!!!!
abaqus_v6.env is adjusted to specify the standard precision (float=8, int=4) and got some extra compilation options, some deprecated warning supressors are removed
Optional Marc modification will follow that allow automatic selection of suitable precision
2012-08-28 16:08:17 +00:00
Christoph Kords
f3e7b3cec8
added separate output of dipole formation rate for edge and screw
2012-08-27 15:57:31 +00:00
Christoph Kords
aa380dcb08
added separate output of dipole formation rate for edge and screw
2012-08-27 15:57:22 +00:00
Martin Diehl
efd1b513cf
fixed bug in divergenceFDM
2012-08-27 15:43:17 +00:00
Christoph Kords
9214da4465
added missing labels to list of available outputs
2012-08-27 12:41:57 +00:00
Martin Diehl
96ba5ecae4
moved some more 'mesh related' functions for post processing from math.f90 to mesh.f90
...
f2py functions remaining in math.f90 now uses assumed size arrays in order to have simpler interfaces. This is only working with python 2.7!
changed python pre- and postprocessing scripts.
If you encounter any problems whith core modules, try to remove the old core.so in the lib/damask
2012-08-27 08:04:47 +00:00
Martin Diehl
55a5112f36
added comments for doxygen documentation
2012-08-25 11:46:36 +00:00
Martin Diehl
e335222bd0
added constitutive none to abaqus files
2012-08-24 19:21:39 +00:00
Martin Diehl
405c3765bd
fixed bug in fiber texture component caused non-even distribution by correctly getting numbers of the halton sequence
2012-08-24 13:27:55 +00:00
Christoph Kords
3cd5fa90e8
corrected dislocation multiplication term for special case of zero density
2012-08-24 11:36:46 +00:00
Christoph Kords
4f67d04c69
new parameter "significantRho" for nonlocal constitutive law ; density below this value will hardly contribute to dislocation glide or any dislocation reaction ; old parameter "absoluteToleranceRho" is now used only for its initial purpose, namely the absolute tolerance in the state integration
2012-08-23 05:48:21 +00:00
Christoph Kords
222aed9f60
derivative of velocity with respect to resolved stress was flawed; now much better convergence of stress integration for nonlocal constitutive law
2012-08-21 14:40:01 +00:00
Christoph Kords
ad7381cfdd
maximum relative step length in stress integration cannot decrease below 1
...
intermediate tensor "A" is calculated only once before the Lp loop in "integrateStress"
2012-08-21 08:53:36 +00:00
Martin Diehl
35dffd52c1
now using spectral_quit (like old spectal solver, needed because of f2py)
2012-08-20 13:22:34 +00:00
Martin Diehl
b96df9987e
fixed reading/writing of integer arrays with function for real arrays
2012-08-16 14:55:23 +00:00
Martin Diehl
453c6031a7
added functions for reading values of integer data type to binary file, corrected comment on old versions which are for real (pReal) only
2012-08-16 11:57:15 +00:00
Christoph Kords
b2aacf9ca4
rates in constitutive_results are taken directly from last converged step and not calculated again; added output of rates for annihilation of screws and deposition of edge jogs on collinear system
2012-08-16 11:03:22 +00:00
Christoph Kords
bd754dbefd
corrected debug output of evolution rates; added possibility to change the safety factor for the CFL flux condition via the material.config file; updated the example material.config due to recent changes in nonlocal constitutive
2012-08-16 09:13:38 +00:00
Martin Diehl
0434ef3daa
some comments to be seen in documentation
2012-08-15 13:38:38 +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
Christoph Kords
f5e7d576f1
introduced annihilation of screw dipoles; so far no thermal activation, but immediate annihilation; each annihilated screw dipole leaves behind an edge jog of same length as the dipole height on the collinear system
2012-08-14 12:26:20 +00:00
Christoph Kords
c1c5941733
stressAndItsTangent:
...
when winding forward to last substep in increment, also do the calculation if this substep is below "subStepMinCryst";
output of "wind forward" and "cutback" info only for crystallites that are still "todo"
integrateStress:
maximum component in Lp determines absolute convergence criterium:
aTol = max(maxLpComp * rTol_fromConfig , aTol_fromConfig)
this ensures that small values in Lp do not spoil the convergence, similar to the effect of the relevantStrain parameter before (not needed anymore in the stress integration)
2012-08-14 12:07:59 +00:00
Christoph Kords
eae9a34c6b
corrected debugging output: extreme values of returned stress and jacobian belong to cpfem debugging, not homogenization
2012-08-14 11:48:43 +00:00
Pratheek Shanthraj
259eb7850e
more work on array ordering in new solver. (now working but not tested)
2012-08-10 17:01:58 +00:00
Martin Diehl
cd0da03ebc
changed comments to doxygen style
2012-08-10 15:58:17 +00:00
Krishna Komerla
08c7be7d15
adaptive regrid now working, updates F and F_lastInc based on mapping.
2012-08-10 15:48:27 +00:00
Martin Diehl
b324a98014
changed order of most arrays to fortran-fast, whole new solver still work in progress
2012-08-09 13:04:56 +00:00
Martin Diehl
fe4d4d9525
changed comments in prec and IO to be read by doxygen, fine tuned output of doxygen and added precompilation for documentation
2012-08-09 11:01:53 +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
925915e30d
some cleaning up
2012-08-07 12:02:57 +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
93658c72db
set auto values back to auto
2012-08-06 12:44:07 +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
Christoph Kords
a48d180f8c
allow prefactor for self-diffusion to be equal to zero
2012-08-06 09:03:33 +00:00
Pratheek Shanthraj
e2a2621235
updates for AL version of spectral solver
2012-08-06 08:53:12 +00:00
Christoph Kords
e8df3678aa
added possibility to assign the transmissivity of grain boundaries a fixed value by use of the keyword "grainboundaryTransmissivity" in the material.config; grain boundaries are identified as interfaces between areas of different material_texture
2012-08-03 14:32:49 +00:00
Martin Diehl
948d9c03d0
new version of modular solver structure
2012-08-03 09:25:48 +00:00
Mahesh Balasubramaniam
3ffba037d4
Reading of euler angles from the loadcase corrected.
2012-08-02 17:52:07 +00:00
Mahesh Balasubramaniam
740357172a
Reading of Euler angles from the loadcase corrected.
2012-08-02 17:46:50 +00:00
Martin Diehl
ee1bde0cd7
enabling regridding more than once by introducing deallocation of arrays
...
added J2 test (stub from Taymour)
2012-07-31 15:37:49 +00:00
Martin Diehl
5a89c783d4
deallocating already allocated arrays in case of regridding/restarting (i.e. when calling init more than once)
2012-07-31 14:00:15 +00:00
Martin Diehl
991a7bbd2d
reordered initialization for spectral method, corrected bug of deformation BC parsing when prescribing velocity gradient resulting in wrong average deformation
2012-07-30 15:51:48 +00:00
Martin Diehl
d4163dd16f
further work on modularization, basic scheme is now calculating the same results as DAMASK_spectral.f90
2012-07-30 14:06:22 +00:00
Pratheek Shanthraj
c341ddd855
more modularization….
2012-07-26 13:58:47 +00:00
Martin Diehl
4ed68bb4ae
next round in modularization
2012-07-25 14:01:39 +00:00
Martin Diehl
e1faad8bcf
next round in modularizzation of solvers
2012-07-24 17:07:10 +00:00
Philip Eisenlohr
882c44a61d
changed the majority of debugging output to level "extensive"
2012-07-24 15:29:23 +00:00
Christoph Kords
15c5131874
corrected formulation of maximum height of screw dislocation dipoles
2012-07-24 14:50:11 +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
Christoph Kords
c4c00f04f4
no dipole formation by stress decrease;
...
dipole dissociation rate proportional to "deltaDipoleLimit / oldDipoleLimit", not "deltaDipoleLimit / newDipoleLimit"
2012-07-24 06:57:37 +00:00
Martin Diehl
3d59fec305
further modularisation of spectral solver (only for basic scheme so far)
2012-07-23 10:12:31 +00:00
Martin Diehl
bd9e81fbec
intermediate, not working state of new solver structure
2012-07-20 15:33:13 +00:00
Martin Diehl
ad3f9d8050
removed old standalone AL solver and introduced new structure for solver zoo
2012-07-19 17:24:56 +00:00
Martin Diehl
7d4ff278cb
worked on the restart capabilities
2012-07-19 14:16:59 +00:00
Martin Diehl
13caf2d389
made linear shape reconstruction working again, pretty similar results like corrected FFT reconstruction
2012-07-18 18:39:59 +00:00
Martin Diehl
a22163c2ae
reverted unwanted commit of Makefile
2012-07-18 12:34:46 +00:00
Martin Diehl
95d292b286
2012-07-18 12:31:07 +00:00
Philip Eisenlohr
7c6fc121fd
condensed error reporting for constitutive_XYZ_init
...
removed erroneous check for structure>3
2012-07-17 17:36:24 +00:00
Philip Eisenlohr
0fdd43b54b
minor clarification of file content and its use
2012-07-05 10:02:20 +00:00
Philip Eisenlohr
4d09ef0648
changed variable name "debug_what" to "debug_level"
2012-07-05 09:54:50 +00:00
Philip Eisenlohr
b69f446caa
added constitutive_none
...
added wrongly deleted "endif" statements
removed tmglib and refblas from linker command for lapack (Koen??)
xxxROOT is changed by setup_code unless commented-out... So had to delete '#' again.
2012-07-03 13:59:38 +00:00
Philip Eisenlohr
aeb1e18268
passing of multiple make options possible now
2012-07-03 13:57:05 +00:00
Philip Eisenlohr
7f10ab0996
corrected to consistent naming: "IMKL"
...
restored xxxROOT to commented-out auto entries.
commented-out currently unused PETSC parts.
added "refblas" and "tmglib" to LAPACK library inclusion (seems to be necessary since 3.2.1).
2012-07-03 12:36:54 +00:00
Franz Roters
823013d485
new plasticity: none
...
see material.config for necessary parameters (lattice_structure, elastic constants)
2012-07-03 11:16:38 +00:00
Philip Eisenlohr
b4103b205d
parts of the material.config can now be set to echo their content back into the log-file (i.e. STDOUT / unit 6)
...
use keyword "/echo/" before first section in the respective parts that you want to see echoed back into the log file.
2012-06-26 10:24:54 +00:00
Martin Diehl
767842acbf
now real time monitoring of DAMASK_spectral output to screen
...
working with GNU Fortran as well (new checking for return code)
2012-06-25 09:03:19 +00:00
Martin Diehl
0606845f15
reordered calculation of current stiffness to enable restarting with different resolution
2012-06-22 09:20:23 +00:00
Martin Diehl
bd462d12c6
fixed some bugs in the regridding routine
2012-06-20 18:33:20 +00:00
Martin Diehl
d650972904
corrected some bugs concerning the regridding
...
prevented FEsolving from potentially write to a none existing file
started to introduce petsc into the make chain (nothing happens if PETSC_DIR is not set)
2012-06-20 12:49:46 +00:00
Nan Jia
f5eb8fcb25
fixed bug caused by the inconsistent sequence of slip and twin systems
2012-06-19 16:06:25 +00:00
Martin Diehl
481268c8c2
fixed closing of file (unit 222) statement in FEsolving.f90
...
added missing keyword in mesh.f90 with ifndef Spectral statement (needed for Marc and Abaqus)
2012-06-19 14:33:24 +00:00
Krishna Komerla
06be437bc9
added minRes to regridding function and writing out of new geometry file
...
updated f2py wrapper to enable the use of init functions.
added 2 new error messages to io
2012-06-19 13:31:15 +00:00
Martin Diehl
8537e87b7e
added shell scripts to run tests from crontab, improved numbering in spectral compile tests and added some first files for testing restart capabilities of spectral solver.
...
added configuration file for generation of code documentation using doxygen
restart of spectral solver is fixed and seem to work now also for restart at significant deformation.
spectral solver now gives exit code 2 if some increments did not converge
2012-06-18 15:27:01 +00:00
Philip Eisenlohr
d9c6f9e134
switch on restartRead logical when requested by "--restart" cmdline switch
2012-06-18 09:27:36 +00:00
Franz Roters
380f40561b
first calculation of Tstar still used hard coded Hooke, now usese constitutive_TandItsTangent(...)
2012-06-18 07:26:34 +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
Martin Diehl
eb39d332bd
ULTRA OPTIMIZATION wasnt working anymore, seems to be related to Bertholds update of ws12 and ws13. had to remove -static from optimization string to be able to link again. Added some support for IKLM, but this didn't solve the problem
2012-06-13 17:19:16 +00:00
Martin Diehl
3ef17c208b
set default lapack to lapack instead of acml, added definition of makro for spectral solver for later use in preprocessor
2012-06-13 13:45:58 +00:00
Martin Diehl
052b526bde
made compilation of spectral code a command line switch and removed interactive question
2012-06-13 13:42:00 +00:00
Franz Roters
7754416b35
now both getSolverJobName and getSolverWorkingDirectoryName use unit 5!
2012-06-13 09:58:06 +00:00
Franz Roters
d3d0cfdab1
common blocks from 2012
...
updated setup to also create DAMASK_marc2012.f90
2012-06-13 07:30:27 +00:00
Franz Roters
a5c27f22ca
now uses unit 5 for file name inquiery (unit 6 points to stdout in 2012, might be a bug though)
2012-06-13 07:28:43 +00:00
Franz Roters
5b7f2e122e
fixed usage of OpenMP function library
2012-06-12 09:44:05 +00:00
Christoph Kords
fc7b4d6471
new function stateJump, which takes care of immediate changes in the state (deltaState); this introduces discontinuities in the state evolution; therefore this is always and only once done after each integration step, so no evaluation of deltaState for intermediate steps of e.g. the Runge-Kutta integrator; otherwise integration becomes a pain without significant gain in accuracy
...
deltaState now successfully tested for nonlocal model; was not correct for integrators 1,4,5 before
2012-06-06 15:11:30 +00:00
Martin Diehl
fa7f9866df
removed phase contrast/preconditioning
...
added information on itmin in output, impoved output
set exit code to 0 on successful termination (seems to be unix standard)
exit codes:
0: successful termination
1: error (using IO_error)
2: require regrid
updated the AL solver, still VERY experimental
2012-06-05 16:34:20 +00:00
Martin Diehl
4b6800b89a
removed some unwanted open statements when writing out the sizeState
2012-06-05 13:13:33 +00:00
Franz Roters
01522cf6f2
check for valid elasticity model
...
improved error message in case of unknown elaticity/plasticity model
2012-06-02 14:23:28 +00:00
Nan Jia
3af9165b08
useless debugging inforomation (asking for elastic moduli output) is removed
2012-05-31 09:25:04 +00:00
Christoph Kords
145d971d7e
added some debug output
2012-05-30 08:05:36 +00:00
Christoph Kords
5cc73a15a9
small correction in debug output
2012-05-30 07:41:22 +00:00
Martin Diehl
0127828f70
corrected initialization order
2012-05-29 15:08:18 +00:00
Taymor El Achkar
e1c5671e1f
relaxed error message triggering such that purely elastic calculations and more than one constitutive instance using hex lattice are possible. no twinning possible if no slip system exists
2012-05-24 14:08:48 +00:00
Martin Diehl
1003cfa7f8
added missing space in makefile, made removing of old files in Makefile silent and updated files for tests to current versions
2012-05-23 18:08:34 +00:00
Philip Eisenlohr
c607441717
(likely) fixed a bug in the FFT-based geometry reconstruction. For (hopefully) correct math see Appendix B in paper.
2012-05-22 18:35:15 +00:00
Nan Jia
bbf790a0a5
Input parameter 'QedgePerSbSystem' which denotes activation energy for each shear band system is added
2012-05-22 16:10:28 +00:00
Franz Roters
9201133913
activated keyword expansion
2012-05-22 12:45:37 +00:00
Martin Diehl
cec3357e8f
corrected bug causing wrong element construction when using spectral solver. Also improved error messages for invalid resolution, dimension, and homogenization.
2012-05-21 09:06:02 +00:00
Christoph Kords
20f203f799
allow minimum stable dipole height equal to zero; ensure that maximum stable dipole height is not smaller than the minimum value
2012-05-20 13:57:35 +00:00
Christoph Kords
5b02d4e8eb
dipole dissociation and formation by change in stress as new mechanism in deltaState; had to add dipole height to state variables, which is however updated by deltaState instead of microstructure; alternatively microstructure had to know the current stress state
2012-05-18 14:35:52 +00:00
Christoph Kords
4da6907648
moved remobilization of dead dislocations from dotState to deltaState
2012-05-18 13:35:44 +00:00
Christoph Kords
a5c1624648
check for invalid mesh type once in constitutive_init and not every time constitutive_nonlocal_dotState is called
2012-05-18 13:15:23 +00:00
Christoph Kords
8c849d62ee
small corrections for how to treat the new deltaState in FPI and euler integration; all integrators successfully tested with j2
2012-05-18 13:00:15 +00:00
Christoph Kords
abbae76c51
instantaneous jumps in the state by constitutive_deltaState are now incorporated for all state integrators. still they (should) not influence the result, since all constitutive laws simply return zero for the deltaState
2012-05-17 15:25:21 +00:00
Christoph Kords
351c2c6e65
deltaState depends on the current state, no the state at the beginning of the timestep
2012-05-17 12:18:30 +00:00
Christoph Kords
f6d5efeed3
removed arguments Fe and Fp from collectDeltaState function call
2012-05-17 11:04:22 +00:00
Christoph Kords
a54439e3b5
dotState does not have to be reset to zero. this is a remnant from older versions when the dotState for the nonlocal model used to be updated by the neighboring integration point
2012-05-16 15:35:14 +00:00
Christoph Kords
84d4652a07
all constitutive modules now contain a new function "deltaState", which in the future allows to have an instantaneous and incremental change of the state (additional to the rate based evolution with dotState).
2012-05-16 14:43:26 +00:00
Franz Roters
df2d520630
stripping abaqus comments is now aware of damask comments
2012-05-15 14:59:26 +00:00
Franz Roters
701cf2e71b
replaced duplicated math entry by missing mesh entry
2012-05-15 14:58:47 +00:00
Martin Diehl
0d745adfa0
corrected NaN in prec_single.f90 (was already silent but with typo), polished output and added switch in order to check range on all files except of prec.f90 (in which NaN is defined)
2012-05-11 12:46:17 +00:00
Franz Roters
7ee368f324
check whether there is any constitutive output
2012-05-11 07:38:20 +00:00
Franz Roters
f8f9c089d6
check for NaN in math_QuaternionInSST
2012-05-11 07:37:32 +00:00
Franz Roters
babf2647fb
use non signaling version of NaN
2012-05-11 07:35:52 +00:00
Martin Diehl
ce83026965
corrected bug in fft based geometry reconstruction causing mirrored geometries
2012-05-09 14:56:25 +00:00
Taymor El Achkar
d11aa15a67
changed indices counting (fortran to python style, easier division to get rid of periodic copies)
...
corrected f2py pyf file
2012-05-09 10:09:56 +00:00
Krishna Komerla
fbd075dc6e
corrected automatic determination of resolution
2012-05-08 15:12:43 +00:00
Krishna Komerla
c752dd5474
regridding is now working, changed the subroutine into a function
...
changed order of arrays in nearest neighbor search to make it fortran fast
constitutive.f90 and homogenization.f90 write state size out during initialization
setup/setup_processing.py is using byterecl to be compatible with binary files written out by solver
2012-05-08 14:57:06 +00:00
Taymor El Achkar
a9a72cee97
fixed bug in nearest neighbor search, corrected error message for kdtree2.f90
2012-05-08 13:16:59 +00:00
Franz Roters
eb8265b914
fixed potential division by zero error discovered by our American friends
2012-05-08 07:16:00 +00:00
Pratheek Shanthraj
bdc46a8828
using better measure (norm) of phase contrast for preconditioning
2012-05-07 08:12:13 +00:00
Krishna Komerla
4b18278781
reworked neares neigbor search subroutine, now also works for voronoi tesselation (general nn search in periodic cell)
2012-05-04 13:07:37 +00:00
Martin Diehl
863f0c766e
removed line continuation causing trouble
2012-05-04 08:19:12 +00:00
Martin Diehl
b4775249e8
corrected standard check to make f2py working with gfortran
2012-05-03 17:12:36 +00:00
Martin Diehl
26c6063a2c
utf8 encoding output to screen now for all solvers using intel ifort>10 or any gfortran (old versions might not support it, but we don't use them anyway)
2012-04-28 10:46:41 +00:00
Philip Eisenlohr
dbeac18df6
no more dropping of comments in Abaqus input file assembly
2012-04-27 14:33:39 +00:00
Krishna Komerla
83e89fba3c
improved regridding, especially interfacing to python (also for nearest neighbor search)
2012-04-24 17:02:27 +00:00
Krishna Komerla
e33c34d86b
corrected wrong integer arithmetics in calculation of coordinates in DAMASK_spectral.f90
2012-04-24 16:59:38 +00:00
Philip Eisenlohr
83e22c00a2
added missing allocation of slopeLnRate array.
...
changed parsing to lowercase name.
2012-04-20 12:18:38 +00:00
Martin Diehl
d2c4874db3
several small corrections/polishing
2012-04-20 11:58:41 +00:00
Pratheek Shanthraj
c889d20ba0
added simple preconditioning to improve convergence for high phase contrast materials in standard algorithm
2012-04-20 09:42:57 +00:00
Philip Eisenlohr
caff3124fd
changed multiplier keyword from "times" to "copies of" to prevent ambiguity.
2012-04-17 10:05:49 +00:00
Philip Eisenlohr
dbc5a3a3ce
subnodeparent check is now running only over actual number (not max) of parent nodes...
2012-04-17 09:19:44 +00:00
Martin Diehl
f905a97cdf
fixed bug (causing sigsev) concerning new functions mesh_spectral_get***
2012-04-12 08:03:08 +00:00
Martin Diehl
8c559cbdc9
fixed bug concerning file handling.
2012-04-11 18:46:36 +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
a18e5e48dc
added 'times' keyword in function for continuous int values: "4 times 1 => 1 1 1 1", mainly for geom files of spectral solver.
...
corrected name for contin"U"ousIntValues functions
2012-04-11 17:24:50 +00:00
Martin Diehl
91cfd21c88
corrected some copy and paste errors
2012-04-11 14:12:30 +00:00
Martin Diehl
9a92d343dc
added Onurs modified description for tausat in j2 law.
...
Polishing phenopowerlaw
2012-04-11 14:01:02 +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
Krishna Komerla
f20cecd421
integrated subroutine for regridding into mesh.f90 and made it available for python
2012-04-10 15:15:46 +00:00
Krishna Komerla
d638c563af
reworked python - fortran interfacing
2012-04-10 13:30:34 +00:00
Martin Diehl
b17740c9c3
corrected misplaced line for linear guessing
2012-04-06 14:23:06 +00:00
Christoph Kords
79592d2f0f
get debug info for spectral solver as well
2012-04-05 09:17:09 +00:00
Martin Diehl
990f547091
improved AL solver, now using guesses for P(x) to improve performance. Changes (and whole solver) still experimental
2012-03-31 12:41:46 +00:00
Christoph Kords
91a70b0fb3
before turning terminally ill report at which g,i,e crystallite did not converge
2012-03-30 13:16:45 +00:00
Martin Diehl
c29ae95af7
new version of AL spectral solver (seems to work, but still experimental)
...
new concept of DAMASK for Python: Now using also IO.f90, debug.f90 etc. instead of mimicing their necessary function. This needs DAMASK_python.f90 and DAMASK_python_interface.f90 (At the moment more or less copies of respective spectral files).
polished and renamed the scripts for converging ang files
renamed voronoi_randomSeeding.py to spectral_randomSeeding.py
2012-03-29 19:54:31 +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
Franz Roters
00de182873
corrected if statement to check assembly of input files
2012-03-22 07:44:46 +00:00
Martin Diehl
44d8282863
corrected reading in of ABAQUS debug modes and made numbering scheme for debugging depending on variables hoping to prevent these errors in debug.f90
...
Put all (now public) logicals in FEsolving.f90 again into one specification statement
2012-03-21 18:04:52 +00:00
Martin Diehl
15dd860de9
new switch "SOLVER", set it to SOLVER=AL to compile the Augmented Lagrange version of the spectral solver
2012-03-21 18:01:25 +00:00
Pratheek Shanthraj
131c9ac93e
dPdF calculations made consistent with constitutive_TandItsTangent
2012-03-21 15:00:36 +00:00
Franz Roters
8a2f2c5a95
stress iteration loop now uses generalized elasticity by calling TandItsTangent
...
the anlalytical tangent calculation should now be adopted to also use TandItsTangent
2012-03-21 10:57:27 +00:00