Martin Diehl
1baf8dea5d
load case rotation no working for Basic PETSc solver
2012-12-15 23:52:06 +00:00
Martin Diehl
5c0c7121e7
made PETSc silent by removing -snes_view from default options.
...
introduced PETSc option for debugging that introduces some debugging options into the petsc options and move PETSc initialization from numerics to DAMASK_spectral_utilities
2012-12-15 18:07:49 +00:00
Martin Diehl
566b680319
made new spectral solver the default (no need for SOLVER=NEW anymore) and added additional warnings switche to be used with gfortran >= 4.6
...
added comments
2012-12-15 16:21:10 +00:00
Martin Diehl
b1f28ba5e7
made restart working for all solvers and added corresponding test
...
corrected error handling for FFT based function in case of odd numbers etc.
2012-12-14 17:30:22 +00:00
Martin Diehl
7b87987751
introduced option for regridding to numerics.f90, working as follows:
...
first cut back is tried if material point model oder BVP solver does not converge.
If no regridding is enabled after max cut back, in case of non-converged material point the simulation stops and in case of non-converged BVP solver it continues.
set regridMode to 2 to enable regridding if BVP solver OR materialPoint model do not converge,
set regridMode to 1 to enable regridding if materialPoint model do not converge, non-converged BVP solver will be ignored as in the standard case.
For regridding, the load case need to have a restart freq set.
enabled restarting for Basic PETSc variant
2012-12-14 15:18:04 +00:00
Christoph Kords
64d9c70dc7
corrected nonconforming use of openmp parallelization
2012-12-14 14:30:08 +00:00
Martin Diehl
d559653722
small improvements on tests
2012-12-13 20:20:04 +00:00
Martin Diehl
2b4eb2a257
changed shell variable containing name of Workstation from $HOST to $HOSTNAME as this is also working on Ubuntu
2012-12-13 13:53:54 +00:00
Christoph Kords
f744fc1d47
fixed bug in parallelization: flushing of crystallite_todo was missing at a couple of places
2012-12-11 15:05:08 +00:00
Christoph Kords
6a9b19e4c0
fixed bug in timesyncing procedure: if any ip that synchronizes its time step did not converge, all nonlocals become terminally ill; before, this led to an infinite loop in crystallite
2012-12-11 13:42:22 +00:00
Christoph Kords
03a88d4798
fixed timesyncing for special case of ip that synchronizes its time step, but does not have a neighbor
2012-12-11 13:38:36 +00:00
Christoph Kords
35a0483507
fixed bug in last revision: FE_geomType was not in namespace
2012-12-10 17:22:16 +00:00
Philip Eisenlohr
10ed848258
fixed 2 bugs: missing mapping with FE_geomtype(mesh_element(2,...))
2012-12-10 17:03:28 +00:00
Christoph Kords
37028455e9
always use the current state for leaving flux calculation when no neighbor is present
2012-12-09 12:24:32 +00:00
Christoph Kords
98d02dcffb
removed call to microstructure in stateJump function, since this is already done in the state integrator subroutine
2012-12-07 07:50:41 +00:00
Christoph Kords
149c747688
use non-corrected densities for rate check in dotState
2012-12-06 17:14:35 +00:00
Christoph Kords
1f5a30d6f0
corrected typo in random multiplication term
2012-12-06 14:04:18 +00:00
Christoph Kords
20f7053ad3
correction of interaction coefficients due to line tension effect only applies to coefficients 3, 4 and 5
2012-12-04 18:23:46 +00:00
Christoph Kords
0986a66449
accidentally also included some changes in crystallite_integrateStress in last commit; reverted these changes in this revision
2012-12-03 16:34:41 +00:00
Christoph Kords
f2dacb5f40
polished debugging output
2012-12-03 16:29:54 +00:00
Christoph Kords
9eb89b0050
made random multiplication switchable via material.config
2012-12-03 12:59:38 +00:00
Christoph Kords
62ddbf26df
slightly changed the multiplication term in the nonlocal model for the starvation case
2012-11-29 18:50:25 +00:00
Christoph Kords
f92d34dd22
removed some unused variables
2012-11-29 18:44:00 +00:00
Martin Diehl
57fed66a8e
simplified load case parsing
2012-11-29 13:26:17 +00:00
Philip Eisenlohr
7358dd6679
fixed wrong index contraction in acoustic tensor calculation
...
(blew up calculations with zero Poisson ratio...)
2012-11-28 18:46:07 +00:00
Philip Eisenlohr
6bb3a475ce
added output of current relative tolerance when reporting relative errors
2012-11-28 18:44:51 +00:00
Martin Diehl
5ea0139678
simplified the rate calculation interface in DAMASK_spectral_utilities.f90, corrected bug in rotation parsing and added debug option "rotation" to spectral solver options. This will show the current average stress and deformation additionally in lab coordinate system
2012-11-28 15:04:05 +00:00
Henry Hutasoit
07bec16268
corrected compilation exception for gfortran in case of compilername!=F90
2012-11-28 13:54:02 +00:00
Christoph Kords
29618df550
annihilate only part of the screw dipoles (specified by minimumDipoleHeight), not all; moved annihilation of screws from deltaState back to dotState
2012-11-28 12:09:48 +00:00
Christoph Kords
e10000a338
Introduced an alternative cutback scheme for the nonlocal model, that allows to keep the results of most of the ips that immediately converged, and only do cutbacks in regions where some ips are in big trouble. Only works for nonlocal model and state integrator 2.
2012-11-27 18:36:55 +00:00
Martin Diehl
e45e1316ba
removed auto detection of compilername, it only works if the file you're looking for (in our case "ifort") is in the same directory as the Makefile
2012-11-27 17:22:03 +00:00
Philip Eisenlohr
1e32eb560e
corrected buggy calculation of Schmid matrix for twins introduced in rev1809.
...
(stress acting on twin systems was overestimated by factor of sqrt(3) due to that!!)
additional polishing.
2012-11-23 17:02:50 +00:00
Martin Diehl
11ed7fab86
corrected bug in curl calculation causing the output of transposed tensor (according to information stored in testing/9102/proof/Curl of Tensor - Physics Forums.pdf)
...
addCurl test is now done against analytical solution and working, added it to list of automated tests.
small improvements on test.py
2012-11-23 15:16:51 +00:00
Christoph Kords
e584c0e6e8
deleted space in front of preprocessor line
2012-11-22 20:04:33 +00:00
Martin Diehl
dbc26e5f25
corrected auto detection of ifort compiler
2012-11-22 13:17:54 +00:00
Christoph Kords
38ec462f4a
order of integration now same for all state integrators: first calculate the dotState and then the deltaState
2012-11-22 13:04:19 +00:00
Philip Eisenlohr
7d196fbb25
polishing
2012-11-22 09:58:36 +00:00
Philip Eisenlohr
23a0ca3b59
keep "odd" stress in rnd-range of -1.0 to -0.5 and 0.5 to 1.0
...
serial calc now skips IPs when /elementhomogeneous/
for /elementhomogeneous/ IPs > 1 individually copy the result from IP 1 to prevent spuriously outdating themselves.
2012-11-21 17:00:29 +00:00
Philip Eisenlohr
ec8a84ded7
added output of element and ip to debug messages
2012-11-21 16:58:14 +00:00
Philip Eisenlohr
d189a6a7a0
polishing
2012-11-21 16:57:57 +00:00
Christoph Kords
760af1fbbf
crystallite_requested now masked by execIP, now elemhomogeneous works again
2012-11-19 15:13:48 +00:00
Franz Roters
d4a59541ad
removed write statements which were introduced for "debuging"
2012-11-19 15:12:11 +00:00
Christoph Kords
9fb94cd707
breaking crystallite loop in case of terminally ill (this functionality was probably lost since rev1886)
2012-11-19 08:39:48 +00:00
Christoph Kords
4195d53d11
message of last commit was incomplete: moved annihilation of screw dipoles from dotstate to deltaState, since it is not a rate
2012-11-17 13:54:22 +00:00
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