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
Franz Roters
4f7cd76b29
renamed texture_rotation into texture_transformation
...
changed keyword for material.config to axes in line with geom_fromAng.py
former keyword rotation is still recognized for compatibility
2013-07-24 11:09:39 +00:00
Franz Roters
f896b4a01e
updated Marc/Mentat integration once more to minimze interference with original instal
...
added support for Marc2013, which is now default in apply_DAMASK_modifications
2013-07-24 08:41:58 +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
Christoph Kords
3749cd5564
changed "math_AxisAngleToR" to "math_axisAngleToR" to be consistent with spelling in math.f90
2013-07-22 09:43:35 +00:00
Martin Diehl
bbb0803ce4
itmin was always +1
2013-07-17 19:58:48 +00:00
Martin Diehl
74a7840a59
wrong intent(in) statement fixed
2013-07-15 10:13:28 +00:00
Martin Diehl
8210b14e90
comments for doxygen
2013-07-12 06:57:15 +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
Martin Diehl
27c64ba4ad
corrected line breaking for /echo/ tag
2013-07-08 09:46:38 +00:00
Franz Roters
1db24d2a72
removed duploicate writes
...
changed last occurences of old mode syntax
one more change in the direction of a plain mode, i.e. when there is no collect cycle
2013-07-04 11:59:45 +00:00
Pratheek Shanthraj
8f146ad385
fixed bug in cosine filter
2013-07-02 04:38:18 +00:00
Philip Eisenlohr
8ccdfb27f3
reworked the hexagonal slip system order and adjusted interaction matrices to a logic that facilitates later system additions without altering existing structure.
2013-07-01 14:01:42 +00:00
Franz Roters
4a291dc372
implementation of twin nucleation criteria according to Davids PhD thesis
...
applies for fcc crystal structure only
2013-07-01 13:06:01 +00:00
Martin Diehl
6ec57db0c6
fixed writing out of initial configuration for spectral solver in case of ngrains != 1, small formating improvements in other files
2013-07-01 06:40:09 +00:00
Martin Diehl
40ace5c666
more documentation and parameters capitalization unified and using ipc in all modules (sometimes called gr)
...
nonlocal: only missing line continuation in string fixed
2013-07-01 06:10:42 +00:00
Philip Eisenlohr
f408ea3381
corrected error msg typos
2013-06-30 00:17:58 +00:00
Martin Diehl
5f20c86905
small documentation and output fixes
2013-06-28 18:59:21 +00:00
Martin Diehl
ef2c2af471
doxygen documentation for J2
2013-06-28 18:58:10 +00:00
Philip Eisenlohr
fd8d85896a
error msg in case of unknown keyword was not properly trimmed --> 64kB of spaces...
2013-06-27 16:41:00 +00:00
Philip Eisenlohr
f9f76fa158
missed these three files in last commit!
...
[added possibility for multi-level inclusion of files in *.config and loadcase files.
include subfiles by stating
{path/to/include}
]
2013-06-26 19:19:41 +00:00
Philip Eisenlohr
98528f9a89
added possibility for multi-level inclusion of files in *.config and loadcase files.
...
include subfiles by stating
{path/to/include}
2013-06-26 19:19:00 +00:00
Martin Diehl
0f1bb4f555
corrected doxygen documentation tags
2013-06-25 06:08:33 +00:00
Harsha Phukan
aea8ab144a
changed all file reads consistently to 65536 bytes length
2013-06-24 13:33:30 +00:00
Franz Roters
9a1ad7e089
added third value for slip twin interaction in fcc dislotwin example
2013-06-24 12:53:56 +00:00
Pratheek Shanthraj
7b2e48df68
new 'gradient' filter based on greens function from gradient elasticity theory. work in progress
2013-06-21 17:26:05 +00:00
Philip Eisenlohr
81cdd2b1cc
added second type prismatic slip system for hexagonal lattices as 6th slip family.
...
consequently, 4 new interaction types (21,22,23,24) available for slip/twin and twin/slip.
interaction of slip/slip got rearranged and now has 42 types...
list of former --> new:
6 7
7 8
8 9
9 10
10 11
11 13
12 14
13 15
14 16
15 18
16 19
17 20
18 22
19 23
20 25
21 28
22 29
23 30
24 31
25 33
26 34
27 35
28 37
29 38
30 40
2013-06-14 10:20:31 +00:00
Franz Roters
a78f91311e
added svn properties: line ending: LF and keywords: ID
2013-06-14 09:49:33 +00:00
Pratheek Shanthraj
1c25403b5b
changed default values of AL spectral solver tolerances. should've been done along with commit 2254.
2013-06-12 10:06:04 +00:00
Christoph Kords
daf89806b1
fixed bug in deltaState; used to lead to unpredictable values in accumulated shear, since deltaState was not defined at this state position
2013-06-11 21:03:23 +00:00
Martin Diehl
296a5040b9
fixed bug in initialization when reading in material.config.
...
Fortran does not short-circuit, e.g. (if a>0 .and. b(a) ==c) might cause an out-of-bounds error when a=-1 it'll try to access b(-1)!
2013-06-11 20:16:40 +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
Ding Wang
ce9f92a884
polishing output
2013-06-11 10:27:38 +00:00
Martin Diehl
1b53bad9a4
removed doubled equal sign in compiler name definition
2013-06-11 09:06:25 +00:00
Martin Diehl
a7b6093edc
fixed bug in include_linux64 for Marc 2012, tests should run again after updating the copy in /msc/....
...
polished two other versions of this file
unified output format for /echo/ in material.f90
2013-06-11 07:28:08 +00:00
Christoph Kords
55735b9580
grainrotation output now uses corrected rotation math
2013-06-07 09:35:00 +00:00
Martin Diehl
5d7f7f1bc5
reverted accidently commited changes to Makefile.
...
one public statement in math.f90 still prevented compilation of core module, fixed that
2013-06-07 07:27:12 +00:00
Martin Diehl
e6ca36c7d7
removed old DAMASK_marcXXXX.f90 source files.
...
If you just use one Marc version, simply select DAMASK_marc.f90, this matches for all releases.
DAMAKS_marc.marc compile with Marc 2010 does not work with Marc 2012. In case you need more than one Marc version in parallel, run symLink_Code.py in /code/setup to generate symlinks for Marc version 2010,2011,2012
2013-06-06 16:04:40 +00:00
Martin Diehl
06b977ff61
added public statements to fftw functions and constants after whole math module is private now
2013-06-06 09:25:27 +00:00
Christoph Kords
622e2dcf15
Fixed bug in math rotations: passive and active rotations were not clearly distinguished and partly mixed up; yet, luckily, only resulted in wrong output of euler angles.
...
Now fixed with following convention:
Rotation conversions do not switch implicitly from active to passive or vice versa EXCEPT when converting to or from any "Euler" type (Euler angles or Euler axis/angles). Those functions expect a passive rotation as input if converting to Euler type and return a passive rotation if converting from Euler type.
2013-06-05 19:10:37 +00:00
Philip Eisenlohr
84c43741a6
reworked distribution of microstructure constituents. now each material point represents "as good as possible" the fractional content of constituents.
...
removed error for volume fractions not equalling 1.
implemented capability to rotate the texture given in material.config.
2013-05-29 17:23:49 +00:00
Martin Diehl
a21dd816c7
init reporting of constitutive_*.f90 had less/to much spaces, renamed label to LABEL because it is a parameter.
...
removed debug output of geom_fromEuclideanDistance.py
2013-05-28 17:31:55 +00:00
Christoph Kords
a6361738fb
(again!) fixed bug that was introduced in rev 2085: messed up indices of stiffness matrix in calculation of Poisson's ratio
2013-05-26 14:31:31 +00:00
Christoph Kords
ab997f19ac
fixed bug in nonlocal state init that was introduced in rev 2438 and used to reset states from other constitutions
2013-05-24 13:43:44 +00:00
Christoph Kords
c0539d2383
replaced all remaining occurrences of state indices
2013-05-24 11:48:34 +00:00
Christoph Kords
e2d970ce57
combined some state indices to an array with a more generic name
2013-05-24 09:02:30 +00:00
Christoph Kords
ad4a66cb4e
use named state variable indices in "deltaState"
2013-05-23 21:46:15 +00:00
Christoph Kords
332b207270
use named state variable indices in "kinetics" and "microstructure"
2013-05-23 21:40:00 +00:00
Christoph Kords
5900076d72
rename state variable index for critical resolved shear stress from "iTau" to "iTauF"
2013-05-23 21:32:36 +00:00
Christoph Kords
ad2a245cdf
use named state variable indices in "microstructure"
2013-05-23 21:28:45 +00:00
Christoph Kords
c02645c996
use named state variable indices in "aTolState"
2013-05-23 21:13:56 +00:00
Christoph Kords
f04a531e9b
use named state variable indices in "stateInit"
2013-05-23 21:10:31 +00:00
Christoph Kords
65524b7f84
corrected named indices for state variables; however, not yet used
2013-05-23 20:30:06 +00:00
Christoph Kords
e249366ded
introduced named indices for state variables; however, not yet used
2013-05-23 20:15:23 +00:00
Christoph Kords
72129cae00
removed prefix "constitutive_nonlocal_" from all private variables
2013-05-23 19:56:36 +00:00
Christoph Kords
b559666436
replaced FE_maxNipNeighbors with mesh_maxNipNeighbors, which is sufficient for memory allocation, since this gives the maximum of neighbors in all cp elements
2013-05-23 17:46:21 +00:00
Christoph Kords
77e9b80a16
bug fix for calculation of fluxdensity and slipnormal/direction in constitutive_nonlocal_postResults: indices for Fe were missing
2013-05-23 14:52:57 +00:00
Christoph Kords
41faa60323
fixed bug in backstress calculation for elements with periodic neighbors
2013-05-23 12:36:48 +00:00
Christoph Kords
3aaf60cffe
polishing
2013-05-23 12:25:56 +00:00
Christoph Kords
ec2503253e
added output of slip direction and slip normal
...
changed name of fluxdensity outputs
2013-05-23 08:19:36 +00:00
Pratheek Shanthraj
399a0218c7
bug fix on commit 2424 that caused compilation errors
2013-05-22 09:40:23 +00:00
Christoph Kords
e758ee32be
improved accuracy of accumulated shear output: take shear rate from LpAndItsTangent for time integration
2013-05-21 10:04:52 +00:00
Nader Zaafarani
882c3e155f
Adding two titles for accumulated shear due to "slip" and "twin"
2013-05-19 20:34:40 +00:00
Nader Zaafarani
a104fda3b9
Adding accumulated shear due to "slip" and "twin" as two outputs
2013-05-19 20:32:06 +00:00
Christoph Kords
3759024b42
forgot to set neighboring_rho (also reverting changes made in rev 2384)
2013-05-19 19:23:31 +00:00
Nader Zaafarani
871df5427d
Correction for shear_rate_twin in postresults: characteristic twin shear was missing
2013-05-19 15:45:34 +00:00
Martin Diehl
c7ba8a2a9b
introduced plain mode (no ping pong) again and added test for MSC.MArc 2012 as prove that its working
2013-05-17 17:52:46 +00:00
Martin Diehl
4416efe89b
doxygen documentation for constitutive_none
2013-05-17 17:09:42 +00:00
Martin Diehl
7833f79f75
replaced numerics_unitlength with mesh_unitlength
2013-05-17 16:52:19 +00:00
Christoph Kords
0504fb3b21
reverted changes made in rev2384
2013-05-17 12:54:47 +00:00
Ding Wang
57b591ff39
corrected PETSc debug and Capitalization
2013-05-16 08:55:10 +00:00
David Mercier
190a59b707
set Lib_VTK_IO-master.zip and related files back to initial version, new version is not working with MSC.Marc 2010
2013-05-15 16:43:18 +00:00
Christoph Kords
7ae786e802
fixed bug in mesh_spectral_build_ipneighborhood that was introduced in rev2390: loop counter were mixed up
2013-05-14 09:45:22 +00:00
Martin Diehl
364267afa2
fixed bug when having . at end of directory name, added check to see if the specified working directory exists
2013-05-13 14:10:48 +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
Christoph Kords
6fac7c347c
fixed bug in constitutive_nonlocal_kinetics that was introduced in rev2088 along with the non-Schmid behavior: nonSchmid matrix of last slip system was used for all slip systems; led to extremely bad convergence due to flawed dLp_dT
2013-05-10 22:29:12 +00:00
Martin Diehl
b83b557af2
updated Lib_VTK_IO again. Contains small bug fix ans support for Base64 encoding
2013-05-10 12:57:00 +00:00
Christoph Kords
d9cc42daef
slight change in flux formulation: no flux to neighbor, not only if there is a sign change in the velocity, but also if the neighboring velocity is exactly zero
2013-05-10 08:42:42 +00:00
Martin Diehl
cfac73043d
some lines in crystallite.f90 exceeded limit of 132 characters
...
fixed bug in Lib_VTK_IO.f90 (informed author as well)
added zip file containing source of Lib_VTK_IO.f90
2013-05-08 17:48:00 +00:00
Martin Diehl
755e0e2440
vtk files are now correctly written to current working directory.
...
updated Lib_VTK_IO.f90
2013-05-08 16:10:21 +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
Christoph Kords
3b788720e5
added crystallite output "neighboringelement" and "neighboringip"
...
some polishing in crystallite_postResults
2013-05-08 12:02:30 +00:00
Martin Diehl
b2a3c9235b
fixed some warnings issued by gfortran (type conversion, not needed use statements)
2013-05-08 09:23:47 +00:00
Christoph Kords
6e64b5c476
better not allow for deads to contribute to flux, since not clear at which interface they got stuck
2013-05-07 18:47:17 +00:00
Christoph Kords
1c2c9b8436
ip neighborhood was screwed up for spectral solver as of rev 2332 due to new "mesh_spectral_ipNeighborhood": used to have fastest index in z direction although it should be in x direction!
...
also removed output of node twins in "mesh_tell_statistics" when using spectral solver, since not allocated
2013-05-07 17:50:58 +00:00
Christoph Kords
fb5f94812f
corrected format strings in mesh_read_meshfile and mesh_write_meshfile
2013-05-07 13:27:51 +00:00
Christoph Kords
c7f987a3c1
"unitlength" parameter, which determines the physical size of the mesh, now available as a global mesh variable "mesh_unitlength" and written to the .mesh file during init.
...
Hence, it is available to the marc_deformedGeometry.py script via "mesh_init_postprocessing()" and "mesh_get_unitlength()", so no need for setting the scaling of the displacement vectors explicitly through an option; now displacements and nodal positions are always consistent
2013-05-07 13:06:29 +00:00
Franz Roters
d2416abdb4
introduced new keyword 'rotation' to specify texture rotation
...
ATTENTION: so far it is read but NOT yet applied!!!
waiting for updated code for orientation assignement
2013-05-02 08:35:37 +00:00
Martin Diehl
b98ce3d22d
fixed out of range bug introduced with singleRun changes in rev. 2356
2013-04-30 12:14:07 +00:00
Martin Diehl
2a5dfbbfa0
removed #define Marc and substituted #ifdef Marc by #ifdef Marc4DAMASK which is defined by either the submit scripts or DAMASK_marcXXXX.f90
2013-04-30 09:49:30 +00:00
Philip Eisenlohr
e912c74da5
added possibility to select "mapping" of multiple grains.
...
'average', 'avg', 'mean' --> result averaged over Ngrains.
'parallel', 'sum' --> result added up from Ngrains.
2013-04-30 09:40:06 +00:00
Franz Roters
0d95d33646
use disk shape for twin also in initialization
2013-04-30 07:34:05 +00:00
Martin Diehl
533fcec96f
named some loops and made BUTCHER TABLEAUs parameters in crystallite_integrateStateRKCK45
2013-04-29 11:17:30 +00:00
Christoph Kords
cc72c0b17b
added two new scripts:
...
"marc_extractData" is a simple variant of the "postResult" script that extracts all data from a macro *.t16 file (quadratic elements not yet supported) and writes it into an asciitable
"addDataToGeometry" searches for corresponding *.txt and *.vtk file in a given directory and adds the data from the *.txt file as SCALARS to the *.vtk file
first script needed an additional function in mesh that returns the corresponding node of a given ip in a specific element
2013-04-28 20:56:17 +00:00
Martin Diehl
9fb6d8167b
simplified logic for single run, now not checking for extra arguments but simply checking if start and end elem/IP are the same
2013-04-26 13:23:36 +00:00
Martin Diehl
60739abb0d
corrected statistics reporting in case of cutback
2013-04-26 09:13:39 +00:00
Martin Diehl
f18c6c5903
fixed bug causing no fluctuation in case of using with 3Dvisualize
2013-04-25 14:43:20 +00:00
Martin Diehl
d05ebff400
introduce commented new output with stream (no markers at begin/end) and with grid/size instead of res/dim
2013-04-25 14:03:54 +00:00
Martin Diehl
6e1cbb427d
parallel execution currently doesn't work, now disabled for explicit
2013-04-24 12:32:25 +00:00
Christoph Kords
650b7ef4ac
added python script that produces vtk files with the (node based and ip based) deformed mesh from marc output file
2013-04-23 18:30:56 +00:00
Christoph Kords
51552b027d
fixed bug: initialize computation mode to zero, used to be unset for lovl=4 and not(timinc < theDelta .and. theInc == inc), which unpredictably caused trouble with marc
2013-04-23 14:42:22 +00:00
Martin Diehl
5837b25e27
accidently commited constitutive.f90 wasn't working, fixed now
2013-04-23 07:37:14 +00:00
Martin Diehl
d5e4a354e6
misplaced space corrected
2013-04-22 15:35:15 +00:00
Franz Roters
b5b6bf56d4
reintroduced Calculation of forest projections for edge dislocations, got lost after rev.1908
2013-04-22 15:17:24 +00:00
Martin Diehl
8da7544978
marc doesn't need error prone setup_code any more, moved Marc includes from code/include to lib/includeMarc
...
DAMASK_marcXXXX.f90 now is not a copy any more but contains one definition and an include statement
setup_code of spectral solver is now replaced by the standard 1) configure 2) make 3) make install
2013-04-22 14:41:33 +00:00
Christoph Kords
a7706090d2
neighborhood relations were screwed up for some elementtypes as of version 2318, might have caused segmentation faults with nonlocal model, now fixed
2013-04-22 13:35:35 +00:00
Philip Eisenlohr
49ef6d7193
spectral_build_neighborhood now "hidden" in spectral compile part. (should not interfere with Marc/Abaqus compile anymore)
2013-04-22 09:01:58 +00:00
Christoph Kords
ca99274a5d
fluxes now always periodic for spectral solver, no need to explicitly state this in the geom file by use of "periodic" keyword
2013-04-22 08:32:51 +00:00
Christoph Kords
60fa91be9a
calculation of cellnode positions now available in python via damask.core
...
first call damask.core.mesh.mesh_init_postprocessing(meshfilename) to initialize all necessary mesh variables
then damask.core.mesh.mesh_build_cellnodes(nodes) calculates the cellnode positions for a given list of node positions
the meshfile that is needed for the init is created automatically by mesh_init in DAMASK
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2013-04-21 18:48:59 +00:00
Philip Eisenlohr
d203e8dece
removed extra comma (might have caused issues?)
2013-04-19 16:05:13 +00:00
Philip Eisenlohr
e8f238a413
added specialized ipNeighborhood calculation for spectral solver case
2013-04-19 16:04:20 +00:00
Christoph Kords
12760026a4
last version still did not compile: IO_write_jobFile was not used by mesh_init
2013-04-19 13:02:37 +00:00
Christoph Kords
55bc741d1d
last version did not compile: fixed small typo in mesh_init
2013-04-19 12:59:45 +00:00
Martin Diehl
4bc5e6717b
fixed small bug when calculating mesh_Ncells
2013-04-19 12:41:06 +00:00
Christoph Kords
103c770ee6
fixed bug in cell generation: "FE_Ncellnodes" was not correct for elem type 17 and 136
...
too much memory allocated for mesh_cell
2013-04-18 17:56:14 +00:00
Martin Diehl
6b46a9c338
introduced output of initial geometry (vtk file) to mesh
2013-04-18 16:40:49 +00:00
Martin Diehl
8b2d9d8155
further improvements on implementing the plain mode
2013-04-16 17:07:27 +00:00
Martin Diehl
2ba986be2a
introduced new dummy module "libs" for inclusion of further library sources. contains kdtree2 and Lib_VTK_IO at and is enabled for the spectral solver only at the moment
2013-04-16 12:45:12 +00:00
Christoph Kords
2a6ac44496
Major restructuring of mesh.f90 due to introduction of "cells". A cell is the volume (area in 2D elements) that surrounds an ip. It is described by up to 8 cell nodes and is used to calculate ip volume, area, and face normals. It can also be used to generate a mesh for e.g. paraview that contains ip output as cell centered data.
...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2013-04-15 08:13:20 +00:00
Christoph Kords
eaccf88e12
fixed bug that was introduced in the element type mapping in version 2305
2013-04-10 13:22:02 +00:00
Christoph Kords
9b1fd579d4
corrected phase numbering in example material.config
2013-04-10 12:09:09 +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
Christoph Kords
4338cd13bc
- added element type 54 for macro (2d 8node 4ip reduced integration)
...
- automatically raising error for unknown element type inside mapping function
2013-04-10 09:38:40 +00:00
Christoph Kords
338e338c9a
- fixed bug in volume calculation of 2d elements
...
- subroutine "mesh_build_ipVolumes" uses openmp parallelization
2013-04-10 08:24:53 +00:00
Christoph Kords
d80d416c32
2d elements now have a volume corresponding to a thickness of 1; used to have zero volume
...
now also 2d elements can be used with nonlocal model
2013-04-09 18:07:30 +00:00
Christoph Kords
5b508b5ee4
no need to exclude any geometry type from usage of nonlocal model
2013-04-09 13:10:31 +00:00
Martin Diehl
924d943edc
simplified interface of CPFEM_general (removed P and F, made cs and dcs/dE optional)
...
commented and cleaned up the marc interface.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2013-04-09 10:08:00 +00:00
Martin Diehl
7b5a202e8c
enabled alternative (and soon standard) keywords grid (resolution) and size (dimension).
...
removed errors for odd resolution
2013-04-08 14:22:32 +00:00
Christoph Kords
ad879ebcf9
forgot to delete all occurrences of obsolete "constitutive_nonlocal_ accumulatedShear" in last commit
2013-04-08 08:51:12 +00:00
Christoph Kords
10e50bf41d
improved accuracy of "accumulated shear": now added as a state variable, which facilitates integration (dotstate=shearrate); needs absolute tolerance value for state integration in material.config
2013-04-04 13:37:14 +00:00
Christoph Kords
3c25723139
- make sure that formerly blocked density is not able to move to neighbor until it is remobilized
...
- added some explicit indices instead of ":"
2013-04-03 16:29:48 +00:00
Christoph Kords
6d3f05b387
small changes in nonlocal constitutive model:
...
- make sure neighboring density is always greater equal zero
- no extra Bauschinger in postResults
2013-04-03 16:22:55 +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
2f76365ac8
fixed wrong string concatenation
2013-03-30 19:43:06 +00:00
Christoph Kords
965ab38217
corrected error bounds for spectral parameter "maxCutback"
2013-03-28 16:04:47 +00:00
Martin Diehl
d59e072209
general polishing
2013-03-28 13:50:20 +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
d2ae06015a
moved "Random is random" to output of random seed, cleaned up a little
2013-03-28 10:02:11 +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
Christoph Kords
b8f8d66f82
total density used in backstress calculation now based on average of neighborhood
...
fixed small bug in state_init: random distribution of density was probably not working correctly, as some variables were not properly initialized
2013-03-27 13:04:01 +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
Christoph Kords
b6aecdac17
corrected debugging output of node twins
2013-03-27 10:25:37 +00:00
Christoph Kords
e25af5db04
added function for finding the (non-periodic) nearest neighbor
2013-03-27 10:14:44 +00:00
Christoph Kords
44eb771583
added crystallite output of current ip coordinates
2013-03-27 10:12:28 +00:00
Martin Diehl
15b6242585
set more appropriate default values for spectral solver tolerances (abs stress BC was at huge())
2013-03-26 16:36:52 +00:00
Martin Diehl
33dc8251c0
saved some memory not copying data within one function
2013-03-25 19:02:12 +00:00
Franz Roters
97fe4400ff
corrected comment explaining structure of nBlock
2013-03-25 18:36:21 +00:00
Martin Diehl
e6f6c22a30
polished Abaqus Standard, changed inclusion of OMP functionality from "spectral style" (include) to "marc style" (use) to prevent explicit from crashing
2013-03-25 18:25:15 +00:00
Martin Diehl
966ad2826b
merged two-stepped subroutine call into one call, added comments and cleaned up.
...
working for small example (with and without openMP), don't know if the results make any sense
2013-03-25 17:45:58 +00:00
Christoph Kords
19655c2d92
significantRho check was flawed for dipole density
2013-03-25 17:36:04 +00:00
Martin Diehl
d55ba3e3e6
now using correct exit routine for Abaqus/Explicit
2013-03-25 13:52:22 +00:00
Franz Roters
02f092492e
updated copyright header
2013-03-22 17:35:05 +00:00
Philip Eisenlohr
5b96c1d62a
scaling of deformation gradient fluctuations now possible in x,y,z independently (give array).
2013-03-22 15:09:55 +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
2a6f66d504
Abaqus explicit now with correct interface, seems to work now
2013-03-21 17:24:58 +00:00
Christoph Kords
cee90bbdb3
simplified dislocation kinetics: dropped relativistic correction of velocity, since the infinite attack frequency already sets a limit for the velocity; dropped second; also dropped the correction term for backward jumps, since it was probably not meaningful
2013-03-21 12:52:29 +00:00
Franz Roters
0b10c52b77
restore Jacoby after cutback, was lost during restructering
2013-03-15 06:27:04 +00:00
Martin Diehl
dd06d07e1c
set default number of iteration for spectral solver to 250 instead of 40, abaqus doxygen now does the correct inclusion (everything appeared twice before)
2013-03-14 23:10:02 +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
Martin Diehl
3e2ecbe0a3
added time stamp to init of lattice
2013-03-07 22:45:00 +00:00
Martin Diehl
b9e0326240
added function to calculate the gradient, addGradient.py will follow
2013-03-07 07:58:42 +00:00
Martin Diehl
1ce6028ad3
simplified CurlFFT and DivergenceFFT functions, and did the last changes to Utilities related to the new structure of the spectral solver
2013-03-06 19:34:30 +00:00
Martin Diehl
60633ffd98
some doxygen corrections
2013-03-06 14:41:15 +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
Martin Diehl
7e0ea5dd04
hickups in doxygen documentation fixed
2013-03-05 14:35:26 +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
Martin Diehl
ada2beb8b8
reorganized calculation modes for CPFEM, now having better readable and cleaner structure
2013-03-01 11:48:29 +00:00
Martin Diehl
33e75972cc
unified indices used for better understanding
2013-03-01 09:36:45 +00:00
Pratheek Shanthraj
72bc1df832
forgot in previous commit
2013-02-28 17:37:26 +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
Martin Diehl
59da88460e
preparation for introduction of plain mode and restructuring of calc modes for CPFEM_general
2013-02-27 20:41:14 +00:00
Christoph Kords
875abcd06f
replaced some array assignments, which might have caused trouble when using the "timeSyncing" option, by parallelized loops of scalar value assignments
2013-02-27 16:36:12 +00:00
Christoph Kords
62e55483f7
fixed bug in lattice: line continuation character was missing
2013-02-27 10:49:23 +00:00
Christoph Kords
3736ab1d97
added shortcuts for two do loops in the "timesyncing" procedure
...
math_pDecomposition enclosed by omp critical statement; somehow, this subroutine is not thread safe, not clear what exactly the problem is
2013-02-27 10:32:37 +00:00
Martin Diehl
bac186c5b7
removed 2003 standard initialization expression not supported by ifort so far
2013-02-27 07:35:53 +00:00
Martin Diehl
0be6706483
some more detailed doxygen comments
2013-02-26 19:01:31 +00:00
Martin Diehl
04c2b22766
removed time information from interface routines, should work now
2013-02-26 12:49:07 +00:00
Martin Diehl
9ec87e8d1f
moved include statement of IO.f90 before corresponding use statement, still untested
2013-02-26 06:28:28 +00:00
Martin Diehl
72418f7b60
removed -c from options to compile_spectralSolver and added functionality to remove "-c" or "--compile" from command line arguments befor calling compile_spectralSolver
2013-02-25 18:46:36 +00:00
Pratheek Shanthraj
07ff1f7c93
reporting current time for most module inits
2013-02-25 16:34:59 +00:00
Pratheek Shanthraj
5b16f57727
added int vec pointer for more efficient memory allocation of homog and micro counting (elemsOfHomogMicro) in material.f90
2013-02-25 13:13:52 +00:00
Martin Diehl
8f2e164fd2
some more documentation, mainly on the exit codes
2013-02-23 00:24:30 +00:00
Martin Diehl
393c60565d
one line was beyond 132 characters
2013-02-22 05:38:02 +00:00
Martin Diehl
42b96354db
doxygen comments
2013-02-21 23:08:36 +00:00
Martin Diehl
1f86e098ba
doxygen documentation, enabled uncommented debug statement to be turned on by switches, minor polishing
2013-02-20 22:06:15 +00:00
Martin Diehl
a98be4e0cf
IO_error and IO_warning crashed for string of zero length (or only containing whitespaces), fixed now.
...
Also added BEGIN and END statement to numerics in case of non-presen DAMASK_NUM_THREADS, would prevent this error and is better for debugging
2013-02-20 21:56:59 +00:00
Martin Diehl
dfe34fd162
specified quit as external as it is not part of a module
2013-02-20 14:37:12 +00:00
Martin Diehl
ecbc15abd0
doxygen related changes: corrected arrows in material.f90 and replaced $REVISION$ by substitution key to be changed after test
2013-02-19 22:12:05 +00:00
Philip Eisenlohr
d8da2f60d8
added core module function math_periodicNearestNeighborDistances
2013-02-19 14:56:26 +00:00
Philip Eisenlohr
7461e13c1e
relocated spectral_quit() into driver code.
...
added (dummy) core_quit() for Python damask module.
2013-02-19 14:54:34 +00:00
Philip Eisenlohr
b57d001e71
added hints on offending positions when parsing material.config
2013-02-15 08:26:38 +00:00
Philip Eisenlohr
c1cf446774
parsing of material.config file now expects adequate number of (slip/twin) family entries according to given lattice type.
...
used to read up to maxN, but that caused unnecessary IO_warnings...
2013-02-14 22:24:55 +00:00
Martin Diehl
cd0325baf1
introduced atol_twinfrac for dislotwin
...
set values in material.config example
atol_rho 1.0,
atol_twinFrac 1.0e-7
2013-02-14 09:57:26 +00:00
Martin Diehl
77c0b32af9
removed possible (but not-working) output of schmid_factor_shearband from dislotwin
2013-02-14 08:53:17 +00:00
Martin Diehl
d715ec769b
removed debug statements from symlink_Code.py, added autodetection for fortran compiler and disabled compiling on default
2013-02-13 18:45:49 +00:00
Martin Diehl
1496c62258
updated doxygen config file for FEM solvers, replaced some external statements, removed debugging options from abaqus_v6.env causing Abaqus to crash (didn't detect the bug so far), added new homogenization test to automator, added more debug options + comments to Makefile
2013-02-13 17:54:56 +00:00
Martin Diehl
b78fafc3b5
corrected integer initialized to reals
2013-02-13 15:47:00 +00:00
Martin Diehl
12b81a2b75
moved second file extension (.pes) into DAMASK_abaqus_*.f
2013-02-13 10:56:50 +00:00
Franz Roters
35346b70b5
fixed RGC homogenization in case dt==0
...
removed misplaced parameter statement in IO.f90
2013-02-13 09:36:06 +00:00
Martin Diehl
0856a7aa32
fixed bugs and simplified warning reporting when reading in int, float, and string values
2013-02-12 19:00:41 +00:00
Martin Diehl
59a265ec7f
forgot intent(in) statements needed for pure routines
2013-02-11 10:56:10 +00:00
Martin Diehl
f0b4281400
removed unused variables, added pure statements, and declared external functions as external (using gfortrans debug option)
2013-02-11 10:43:45 +00:00
Martin Diehl
c7c81a5ab5
removed unused variables and declared external functions as external
2013-02-11 09:44:17 +00:00
Martin Diehl
a89efaa4a6
added missing bracket and substituted one more forall by do loop
2013-02-09 08:23:47 +00:00
Martin Diehl
f928d0ca0f
some changes on the IKML libs, now using explicit linkin
2013-02-09 08:17:12 +00:00
Martin Diehl
e9f351c69b
forgot to commit
2013-02-08 15:56:58 +00:00
Martin Diehl
147cc8efca
removed debug statement
2013-02-08 15:56:24 +00:00
Martin Diehl
e644c6dbc5
improved reading in of values, now only warnings in case of problematic entries in material.config
...
divergence calculation sqrt scaling optionally introduced for basic scheme spectral solver
2013-02-08 15:55:53 +00:00
Martin Diehl
59e59c90c5
added Option DEBUG to Makefile to turn run time debugging on, compile tests use this option
2013-02-08 15:43:15 +00:00
Philip Eisenlohr
32a416e298
fixed memory leak associated to accumulated shear storage.
2013-02-08 13:33:25 +00:00
Philip Eisenlohr
c7740b41a5
added possible accumulated shear output request to example list of phenopowerlaw
2013-02-07 11:09:14 +00:00
Franz Roters
eacf6f1196
now also fixed the abaqus part
2013-02-07 10:45:10 +00:00
Franz Roters
a036f1eb3a
as some IO functions are no longer pure I changed some forall statements to ordinary do loops
2013-02-07 08:52:47 +00:00
Philip Eisenlohr
722d5574fb
added output capabilities for accumulated shears on slip and twin systems.
2013-02-06 18:09:11 +00:00
Mahesh Balasubramaniam
362cbf3359
Made corresponding changes in the constitutive files and DAMASK_spectral_driver and interface files with respect to the changes made to IO.f90
2013-02-06 16:45:34 +00:00
Mahesh Balasubramaniam
b591dd5f33
made changes to string, int, float interpretations and added warnings.
2013-02-06 16:41:09 +00:00
Franz Roters
c4b877d4f1
replaced missued family index by system index
2013-02-06 08:45:08 +00:00
Mahesh Balasubramaniam
037081831b
last commit did't compile, hope it's working as it should now
2013-02-05 20:07:25 +00:00
Martin Diehl
4997328de1
added use statements
2013-02-05 15:03:36 +00:00
Philip Eisenlohr
865842b0ed
LpandTangent assumed to be called with deviatoric stress input.
...
Now calculates deviator internally...
(Might have led to non volume preserving deformation.)
2013-02-05 13:47:00 +00:00
Philip Eisenlohr
79e7deca55
introduced dedicated calculation of interface normals in IP neighborhood. (2D elements did not work so far..!)
...
fixed definitions of some (2D) interface planes to have all normals pointing outward.
removed "int, private :: i" defined for spectral compilation.
2013-02-05 13:27:37 +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
Franz Roters
45344cff6b
added check if nGrains==1 when non-local plasticity is used
2013-02-04 14:34:01 +00:00
Franz Roters
01a7850517
in Abaqus there is a second input file ending (.pes), if this file exists it is to be preferred over the *.inp file (thanks Steffen)
2013-02-04 08:29:58 +00:00
Martin Diehl
7f5e9f70b2
added missing flags
2013-02-03 09:22:25 +00:00
Martin Diehl
6cd6172c0c
fixed bug in dotState causing strange hardening for certain parameters
2013-02-01 15:44:50 +00:00
Martin Diehl
b0263a8aab
added possibility to parse options for setup_code.sh and setup_processing.sh + other improvements in setup functionality
2013-02-01 12:21:56 +00:00
Martin Diehl
c2495d0d4a
changed misplaced private to public statement and renamed qsort to math_qsort
2013-02-01 07:26:21 +00:00
Martin Diehl
e74b5da19a
changed all remaining routines to fortran-fast arrays (geometry reconstruction etc.)
...
changed all remaining routines in f2py to more clever determination of array size (requires f2py >= 2.0)
enabled 3D visualize to work with odd resolution by switching to linear reconstruction
PLEASE NOTE: Redefinition of routines for f2py might cause trouble -> DELETE DAMASK_ROOT/lib/damask/core.so in this case
further changes: added pure statement where possible, polished, unified use of "Q" for "Quaternion" and reordered math to have similar routines together
2013-01-31 16:28:08 +00:00
Mahesh Balasubramaniam
04d48c79b9
symlink_Code.py split seperately from the previous setup_code.py
2013-01-29 15:31:01 +00:00
Mahesh Balasubramaniam
bbd7e72fe8
setup_Makefile split seperately from the previous setup_code.py
2013-01-29 15:30:28 +00:00
Mahesh Balasubramaniam
6dcea3f419
a simple shell script to run setup_Makefile.py,compile_SpectralSolvers.py and symlink_Code.py in the said order
2013-01-29 15:29:43 +00:00
Mahesh Balasubramaniam
c816d5ca74
compiling DAMASK_Spectral split seperately from setup_code.py
2013-01-29 15:28:21 +00:00
Franz Roters
5228af627c
corrected calculation of gmod from c_66 (Voigt approximation for a random polycrystal)
...
approximate twin volume by a disk rather than an elipsoid
2013-01-29 14:59:26 +00:00
Martin Diehl
08a2aa79f7
doxygen comments for homogenization.f90, unified naming ip->i, el->e
2013-01-29 10:28:01 +00:00
Martin Diehl
1594a4bdf8
doxygen comments for isostrain, unified naming ip->i, el->e
2013-01-28 16:36:26 +00:00
Martin Diehl
3ffd6499b1
change bash-only "let" to "`expr`", abaqus_v6.env now suppresses warnings about long lines (there are only comments anyway)
2013-01-28 15:30:51 +00:00
Claudio Zambaldi
ae9af9143d
in python never put import of standard library modules on the same import
...
line as own modules (here:damask)
- und die folgenden Zeilen werden ignoriert --
M setup_code.py
2013-01-24 14:45:23 +00:00
Martin Diehl
db12e6e0c8
removed forgotten debug write statements (thanks Franz!)
2013-01-24 13:20:57 +00:00
Pratheek Shanthraj
7a84209a14
bug fix in microstructure
...
-This line, and those below, will be ignored--
M constitutive_dislotwin.f90
2013-01-24 13:12:51 +00:00
Martin Diehl
6ce78cf806
gfortran now detects "call flush" statements, removed the last of them in mesh.f90
2013-01-23 21:50:01 +00:00
Martin Diehl
d1985e0bef
checked and improved on Franz' one call to CPFEM only improvement
2013-01-23 19:56:45 +00:00
Martin Diehl
96577b18fb
introduced error code for run_test.py
2013-01-23 18:33:46 +00:00
Pratheek Shanthraj
50e874f887
fixed bug in elasticity matrix calculation
2013-01-22 15:48:47 +00:00
Martin Diehl
652a8366fe
splitted lines > 132, added pure statements where suggested by gfortran 4.7
2013-01-22 13:02:23 +00:00
Martin Diehl
df089b94bd
line break in lines > 132
2013-01-22 11:06:39 +00:00
Martin Diehl
2b319f02e6
small corrections on changes related to non-schmid systems
2013-01-22 10:04:15 +00:00
Pratheek Shanthraj
f3bd920c23
added non-schmid structure
2013-01-21 23:50:28 +00:00
Pratheek Shanthraj
60fec0e8ec
added code structure for non-schmid mechanics. work in progress…
2013-01-21 23:11:16 +00:00
Pratheek Shanthraj
fd94c786f0
moved stiffness tensor calculation to lattice
...
introduced 'isotropic' and 'orthorhombic' lattice types to use corresponding symmetries in stiffness tensor. intended to be used with non-crystal plasticity models (j2, constitutive_none with isotropic, cubic or orthotropic elasticity).
2013-01-21 21:57:26 +00:00
Franz Roters
c195f316e1
corrected calculation of twin stiffness matrix
2013-01-21 08:17:43 +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
Martin Diehl
20bc97b7eb
added doxygen comments and unified naming scheme for ip, element and grain
2013-01-16 10:14:57 +00:00
Christoph Kords
8a45a90775
new crystallite output "grainrotationX", "grainrotationY", "grainrotationZ" that gives the deviation of the initial orientation in degrees around the sample reference x/y/z axis, while "grainrotation" still gives the same as axis angle pair in crystal coordinates
2013-01-16 08:45:41 +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
Martin Diehl
563b1f5e4b
added some warning and explicit size of arrays
2013-01-10 13:33:43 +00:00
Martin Diehl
0d5e91ac87
corrected reporting of basic PETSc variant and unified reporting of all spectral solvers
...
improved warning and error in IO, now able to report correctly elements up to 9 digits
2013-01-09 22:19:32 +00:00
Martin Diehl
55b88e47b7
fixed wrong temperature when using spectral solver
2013-01-09 18:08:08 +00:00
Martin Diehl
00246ade4e
missing range in array fixed
2013-01-09 14:43:27 +00:00
Martin Diehl
093cf92338
remove omp statements during initialization, "line" for reading in from material.config now has a default (empty) value to prevent conditional jump depend on this value
2013-01-08 22:11:59 +00:00
Martin Diehl
4eaa97b33c
minor changes on buggy latest commit (wrong use statement)
2013-01-08 21:54:25 +00:00
Martin Diehl
19d86ca06a
removed unnecsessary omp statements, removed one transpose in constitutitve
2013-01-08 11:09:20 +00:00
Martin Diehl
ce7a0571fd
fixed bug in forwarding fields for AL solver
2013-01-08 10:12:03 +00:00
Martin Diehl
d90efef535
fixed bug in cutback scheme
2013-01-07 21:42:00 +00:00
Martin Diehl
738f363263
corrected small issues with PETSc debugging
2013-01-03 16:17:23 +00:00
Martin Diehl
7a43d1b6ad
added funtionality to specify working directory to spectral solver
2013-01-02 17:02:12 +00:00
Christoph Kords
766202bae9
corrected debug output of aged state: first reports for selected debug_el,debug_ip
2012-12-28 12:15:59 +00:00
Christoph Kords
f14fd45ce1
new material parameter "egdejog": fraction of annihilated screw dipoles that forms edge jogs
2012-12-23 12:56:15 +00:00
Martin Diehl
64d167fa90
loadcase rotation now working for AL solver
2012-12-17 10:18:39 +00:00
Christoph Kords
7dd1130e92
reset syncSubFrac flag when turning terminallyIll
2012-12-16 16:18:36 +00:00
Christoph Kords
92d2c83334
more debugging info for timesyncing
2012-12-16 11:30:19 +00:00
Christoph Kords
4f12073dcb
once again corrected parallelization statements
...
added some debugging writes for timesyncing
2012-12-16 10:54:13 +00:00
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
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
Franz Roters
8d8a8103eb
lastIncConverged, outdatedByNewInc, and cutBack need to be public as well!
...
please keep in mind the FEM interfaces which also need to work!!!
2012-03-21 07:51:07 +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
Martin Diehl
04d83ec9cd
added "-assume byterecl" in Makefile for ifortran to specify with "recl=" the size of the file in bytes instead of 4byte chunk when opening files. (same as in gfortran per default).
...
no important changes in other files
2012-03-20 12:26:21 +00:00
Philip Eisenlohr
012d568cf8
slightly restructured divergence debug output
2012-03-19 16:41:55 +00:00
Martin Diehl
632d57cc31
corrected div calculation regarding dimension and resolution
2012-03-19 13:19:15 +00:00
Christoph Kords
5263366615
adding switch in material.config for short range stress correction
2012-03-15 14:58:12 +00:00
Christoph Kords
7330031579
corrected special treatment of periodic images in calculation of stress correction
2012-03-15 10:08:08 +00:00
Philip Eisenlohr
d4463fe56a
shifted location of elasticity part closer to plasticity... (constitutive has been shaken back and forth quite a bit today ;-] )
2012-03-15 09:51:33 +00:00
Christoph Kords
ea634d978a
adapted comments to recent change
2012-03-15 09:47:32 +00:00
Franz Roters
b7fc4fe6e4
fixed one last typo, now it finally compiles, sorry for this!
2012-03-15 09:42:33 +00:00
Franz Roters
4d90d90886
last comment also holds for this one
2012-03-15 09:25:15 +00:00
Franz Roters
70a44fbbdd
constitutive models need to skip new keyword elasticity when reading their arameters
2012-03-15 09:22:24 +00:00
Christoph Kords
503f6ed040
i think it's elasticity not elaticity, right?
2012-03-15 08:46:51 +00:00
Franz Roters
36edb4dd9f
introduced keyword elasticity in material.config
...
added constitutive_TandItsTangent and special version constitutive_hooke_TandItsTangent
those are however not yet used and need to be tested
2012-03-14 16:16:11 +00:00
Christoph Kords
9cbbb7cab5
Dead dislocations are treated the same as mobile dislocations for the flux part though they do not contribute to slip. By that the pileup of dead dislocations is able to diminish with time (kinetics are the same as for the glide part; this is not correct but gives valuable results). Also remobilization of dead dislocations at neighbor is taken into account for flux.
2012-03-14 15:32:50 +00:00
Christoph Kords
6bca2150f2
local stress correction of gradient in dead dislocations and neighboring excess density is additive
2012-03-14 15:24:19 +00:00
Christoph Kords
06c93435f2
viscosity term in kinetics law proportional to resolvedstress minus forest term
2012-03-14 15:18:36 +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
Christoph Kords
2b5ed4ab93
corrected name of makefile (first letter upper case)
2012-03-14 11:58:05 +00:00
Christoph Kords
d2652cae47
multiplication only controlled by screws
2012-03-13 14:19:36 +00:00
Franz Roters
433d8a338c
missed several occurences of constitution
2012-03-12 14:43:19 +00:00
Franz Roters
c9ed989dad
replaced keyword constitution with plasticity in preparation of upcomming generalized elasticity
2012-03-12 14:09:37 +00:00
Martin Diehl
efd653fb00
removed old *.output* and *.spectralOut as they are not updated anyway from reference.
...
introduced a numbering scheme for variants
calculated new reference results due to slight changes
2012-03-09 16:30:42 +00:00
Martin Diehl
ac5dd14c5f
removed some small bugs in IO.f90 (related to initialization of variables)
...
DAMASK_spectral.f90 adopted to new debug scheme, substituted print with write statements
2012-03-09 15:22:52 +00:00
Martin Diehl
bd9667bd4b
added new, flexible debugging scheme.
...
now all modules have their own debug specification.
compiles and runs, I hope nothing is broken
did a lot of polishing
2012-03-08 20:25:28 +00:00
Martin Diehl
dec9451b1e
first draft of the Augmented Lagrangian based algorithm, still experimental
2012-03-07 17:37:40 +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
Martin Diehl
d00c3c9e19
added error for to IO to substitute stop statement in kdtree2
...
explicitly defined all functions in as either public or private in the modules to have a quick overview on all functions and parameters that are available
2012-03-06 14:52:48 +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
Martin Diehl
df03dee91c
improved readability, removed archive statements. With new option FASTBUILD=YES build without any warnings etc
2012-03-01 19:34:42 +00:00
Nan Jia
211f66a728
added elastic stiffness matrix as crystallite output
2012-03-01 13:06:09 +00:00
Pratheek Shanthraj
040e244993
Added stress-order terms to analytic stiffness
2012-02-27 17:40:28 +00:00
Pratheek Shanthraj
99d6dcecb5
fixed bug in calculation of analytic jacobian (should work much better now). parallelized analytic jacobian calculation loop
2012-02-24 14:07:46 +00:00
Martin Diehl
f2ee67d03d
disabled multi file optimization when setting OPTIMIZATION=OFF and improved comments on compiler switches
2012-02-24 13:38:15 +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
478a6d110c
mixed things up, did not want to commit constitutive_nonlocal.f90 but rather DAMASK_spectral.f90!!!!
...
did a lot of polishing on constitutive_nonlocal.f90 (mostly checked in at last commit), for changes on DAMASK_spectral.f90 see previous message
2012-02-23 17:20:57 +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
Franz Roters
989a2b2d39
added default entries for Lp_frac and analyticJaco
2012-02-23 10:53:15 +00:00
Pratheek Shanthraj
28d654d61e
forgot to remove some print statements in previous commit
2012-02-22 20:22:54 +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
Christoph Kords
9bf5b9dc86
dotState=NaN enforces cutback, if evolution rates lead to negative densities
2012-02-22 16:08:22 +00:00
Martin Diehl
21db79ce25
automated copyright information seems to be very complicated, not working yet
2012-02-22 14:06:28 +00:00
Martin Diehl
e25f605838
still trying to add copyright information by keyword via svn
2012-02-22 13:56:03 +00:00
Martin Diehl
20fdd302d7
trying to add copyright information by keyword via svn
2012-02-22 13:47:39 +00:00
Martin Diehl
ca401292e7
2012-02-22 13:46:33 +00:00
Martin Diehl
ca59c9936f
trying to add copyright information by keyword via svn
2012-02-22 13:43:35 +00:00
Martin Diehl
b0e2707a94
trying to add copyright information by keyword via svn
2012-02-22 13:40:03 +00:00
Martin Diehl
d68a3d1869
added LF=UNIX to a bunch of files
2012-02-22 13:30:00 +00:00
Martin Diehl
d8ffc29236
again: adding pInt, removing redundant use statments, chang in dble to real(,pReal)
2012-02-21 16:31:37 +00:00
Martin Diehl
9dc730dea4
now getting path separator by counting slashes and backslashes in $PATH environment variable
2012-02-21 16:04:16 +00:00
Martin Diehl
79663a7f76
polishing: adding pInt, removing unused use-statements etc
2012-02-21 16:00:00 +00:00
Martin Diehl
23cda48709
cleaning up, removing includes not needed
2012-02-21 15:42:47 +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
Christoph Kords
8dc6e256c0
choose textures and phases of example materials according to what the labels suggest
2012-02-21 13:16:59 +00:00
Christoph Kords
97b2240fe9
take absolute dislocation velocities when testing Courant-Friedrichs-Lewy condition
2012-02-21 13:11:47 +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
Nan Jia
db06c797cd
store number of outputs for each instance of the constitution in constitutive_[j2/titanmod/...]_Nouput and use this value to loop over all valid outputs when determining the size of the outputs array
2012-02-14 15:19:59 +00:00
Martin Diehl
49a964aeda
removed public statement in derived data type causing trouble on older compilers
2012-02-14 13:56:35 +00:00
Martin Diehl
8f22d5a324
corrected geometry reconstruction (fluctuations were scaled wrong) and translated some comments from german to english
2012-02-14 13:43:36 +00:00
Martin Diehl
d9522bf588
minor changes, substituting implicit type conversions with explicit ones
2012-02-14 12:17:47 +00:00
Christoph Kords
30c55c3142
added check for unknown keywords again (in agreement with Philip ;-)
...
indeed 'constitution' and '/nonlocal/' are the only keywords which have to be ignored, since they are parsed elsewhere
2012-02-14 09:22:37 +00:00
Philip Eisenlohr
9b73cb3c65
removed parameter check complaining about unknown keyword as default case. there are just too many keywords that do not trigger a variable assignment to cope with them (e.g. /nonlocal/, constitution, etc.)
...
I suggest to kill similar logic from other files if present somewhere...
2012-02-13 23:30:59 +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
dd51e1da81
changed calculation of gamma_hat back to (working, but theoretically wrong) order
2012-02-13 17:15:02 +00:00
Krishna Komerla
94100e8d8e
missing line break
2012-02-13 15:21:03 +00:00
Martin Diehl
156ec4582a
polishing, adding _pInt etc. where applicable
...
post_results now handels zero increment different (like FEM, it is always there even if it is not counted)
2012-02-13 14:18:07 +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
a6864bf599
added missing 'dotF'
2012-02-13 12:41:44 +00:00
Martin Diehl
df07299f78
fixed bug concerning calculation of gamma operator and improved output to screen
2012-02-13 12:38:46 +00:00
Philip Eisenlohr
fa32a00d56
changed symmetryID initialization to integer (instead of float) value
2012-02-10 17:46:43 +00:00
Philip Eisenlohr
b211c13487
added "dotF" synonym to load case parsing.
2012-02-10 17:45:45 +00:00
Martin Diehl
1cc2315954
restructured algorithm, initialization now not longer within increments, lot of small improvements/polishing
...
makefile now calls compiler with lot of warning flags
2012-02-10 11:59:59 +00:00
Martin Diehl
37ac7bf1b4
fixing inconsistencies in variable assignments
2012-02-10 11:56:05 +00:00
Martin Diehl
cff66b5cc3
removed implicit type castings
2012-02-10 11:24:53 +00:00
Christoph Kords
26b4f886ba
whoops, accidentally removed _pInt in the IO_error calls which where previously added by Martin
2012-02-10 07:58:33 +00:00
Christoph Kords
ff53b9754b
somewhat better readable format without as much linebreaks
2012-02-10 07:50:29 +00:00
Martin Diehl
7a23833a39
removed line>132 characters, added _pInt when calling IO_error
2012-02-09 17:28:55 +00:00
Martin Diehl
0e2894f2b1
corrected handling of highest frequencies, polished and checked for standard compliance
2012-02-09 15:58:15 +00:00
Martin Diehl
724ec040a2
added pInts and pReals
2012-02-09 15:55:04 +00:00
Philip Eisenlohr
dced3f9430
changed FFT reporting of dimension and resolution to one line each.
2012-02-09 13:18:59 +00:00
Martin Diehl
195491aaaa
added missing pInts
2012-02-09 12:35:55 +00:00
Martin Diehl
a26456f9c0
now handling capitals in restart argument correctly
2012-02-09 12:20:14 +00:00
Christoph Kords
e7d407c2f6
crystallite_Fp has to be initialized in crystallite_init, cause it is used by constitutive_microstructure
2012-02-03 14:52:09 +00:00
Christoph Kords
5ddade27fc
changed Peierls stress to more realistic values for fcc
2012-02-03 13:12:45 +00:00
Christoph Kords
d62eddc0cd
corrected kinetics law and changed parameters. For solid solution hardening there are 3 parameters: the activation energy, the concentration of obstacles that determines the activation length and meanfreepath, and the obstacle size that determines the activation volume. For the Peierls mechanism there is: the width of doublekinks that determines the activation volume and the Peierls stress for edge and screw.
...
Still testing needed to check whether the current formulation makes sense or not.
2012-02-03 12:50:54 +00:00
Christoph Kords
bbf4f25898
renamed subroutine "mesh_marc_get_mpieOptions" to "mesh_get_damaskOptions" which is now also used for abaqus and spectral input files. The only available option so far is "periodic", which allows for periodic fluxes in the specified direction. Examples for usage (add the following lines to the respective input file, in case of spectral file this goes into the header):
...
- periodicity in x and z direction for marc:
$damask periodic x z
- periodicity in y direction for abaqus:
**damask periodic y
- periodicity in x and y direction for spectral:
periodic y x
2012-02-03 12:37:52 +00:00
Krishna Komerla
7e23f84d2c
new subroutine find_nearest_neigbor, basically a wrapper function for our purpose to kdtree2
...
split up kdtree2.f90 again from math.f90 to make the files better accessible
2012-02-02 15:57:22 +00:00
Martin Diehl
72aeb2113a
minor improvement on the still not working long (polarization field based) algorithm
2012-02-02 13:20:09 +00:00
Martin Diehl
faed4ec232
added deallocation of arrays (fftw_free)
2012-02-02 13:19:35 +00:00
Martin Diehl
2e4f2f3d9c
added _pInt where appropriate
2012-02-02 13:19:02 +00:00
Martin Diehl
683384681a
doing average correction now in Fourier space, now sure that the constant term is correct.
...
changed order of stress BC calculation/spectral method to avoid average calculation of stress in real space
2012-02-01 20:30:27 +00:00
Martin Diehl
c6fb2122be
added some comments for further debuggin/compliance with standard checking
2012-02-01 20:28:58 +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
8cf67e1be6
corrected weighting of difference divergence measures, added some additional output and introduced exit code 0 for successful termination.
2012-01-30 20:25:04 +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
Christoph Kords
4edd824d8c
forgot homogenization.f90 in last commit
2012-01-26 13:51:01 +00:00
Christoph Kords
1330576a01
added new math function "math_deviatoric33" which returns the deviatoric part of a 3x3 tensor
...
renamed some math functions, so that we have a universal naming scheme: for matrix multiplications use an "x" (e.g. math_mul33x3); don't use the "x" to describe the shape of the tensor that the function is applied to (e.g. math_invert33 instead of math_invert3x3)
2012-01-26 13:50:00 +00:00
Christoph Kords
df931890e0
corrected typos
2012-01-26 12:50:04 +00:00
Christoph Kords
6fec57bbd7
replaced variable fraction by "timefraction"
2012-01-26 12:48:59 +00:00
Christoph Kords
5a658d1b82
dislocation velocity output for each dislocation type (edge+,edge-,screw+,screw-)
...
for fcc constitutive_nonlocal_kinetics is called only once and the result is used for each dislocation type, for all other lattice structures we have one call for each dislocation type
2012-01-26 07:43:36 +00:00
Christoph Kords
e5407894b5
Reworked kinetics. Now there is a universal law which can be used for both fcc and bcc (and probably even hcp). It mainly consists of an athermal forest cutting part , solid solution and peierls as thermally activated processes, and viscous glide. Therefore, lots of new parameters in the material.config. Not sure yet if the values make sense though.
...
Also renamed some of the old parameters.
Unknown constitutive output raises error.
2012-01-25 17:04:37 +00:00
Martin Diehl
e6495c986b
corrected order of arguments for calling functions from python, small polishing in math.f90 (substituting manual summation by sum() )
2012-01-25 14:31:21 +00:00
Martin Diehl
fa372523a8
added and restructured comments
...
debugGeneral = .true. now enables the additional output
restructured the debug options
started to implement the long algorithm (with fluctuation field), not working at the moment, can be enabled via simplified_algorithm <1 in numerics.config
corrected calculation of RMS of divergence, now measures in real and fourier space match
2012-01-25 14:27:26 +00:00
Martin Diehl
884249aba8
removed hint how to patch fftw, added flag for gfortran to check if maximum length of source files do not exceed 132 characters
2012-01-25 14:24:08 +00:00
Martin Diehl
bd48620de2
improved Curl_fft, corrected Divergence_fft and added math_skew3x3
2012-01-25 10:30:39 +00:00
Martin Diehl
e7ac99eeca
for spectral solver, --restart XX sets restartReadInc to XX-1, meaning restartReadInc is the step to read and XX the step at which the calculation begins
2012-01-25 09:05:38 +00:00
Martin Diehl
656d7a68d2
one new error message for spectral solver
2012-01-25 09:00:40 +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
52a43c3b32
improved help output and corrected triggering (-h, --help) of help
2012-01-25 08:54:37 +00:00
Philip Eisenlohr
0cb90d4926
corrected debug_verbosity glitch (missed ">0" in logical expression)
2012-01-23 13:32:37 +00:00
Christoph Kords
4980f57fd5
added total Green-Lagrange strain to crystallite outputs
2012-01-20 10:25:35 +00:00
Philip Eisenlohr
43bd667f78
switched array indices of curl_fft in accordance with math.f90
2012-01-19 20:39:33 +00:00
Philip Eisenlohr
a13aeb045f
corrected curl_fft subroutine
2012-01-19 20:38:52 +00:00
Christoph Kords
1032ff3d47
corrected definition of element base node, which was still flawed
2012-01-19 14:15:26 +00:00
Christoph Kords
6c2a61e489
corrected node coordinates and sorting for spectral method
2012-01-17 16:53:56 +00:00
Christoph Kords
8739b9522e
dislocation stress does not add to stress field anymore, but is only available as constitutive output for purposes of postprocessing. instead, we now use a backstress term (which is added to the resolved shear stress) that depends on the gradient of excess density on the same slip system.
2012-01-17 10:26:57 +00:00
Philip Eisenlohr
ab7b9247c7
final merge with edits dropped intermediately from rev 1190.
2012-01-16 15:10:16 +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
c644b2c24d
corrected rectifyPath function (did not work in case of more than one /../..)
2012-01-13 15:22:42 +00:00
Martin Diehl
2259f44cb1
added parameter for debugging of FFTW in spectral method
2012-01-13 15:21:24 +00:00
Martin Diehl
07186e0751
added output of precision to init
2012-01-13 15:20:29 +00:00
Philip Eisenlohr
f3bb2271c9
parsing of spectral geom file now accepts two-dimensional microstructure definition (plus range indications by 'x to y')
...
For instance:
1 2 3 4
5 6 7 8
9 10 11 12
...
2012-01-12 17:01:24 +00:00
Pratheek Shanthraj
11c71aae86
bugfix release
2012-01-12 16:31:23 +00:00
Philip Eisenlohr
83ff05c8e8
fixed bugs (sorry...)
2012-01-12 15:08:44 +00:00
Pratheek Shanthraj
2ea3c68d3f
removed spectralPicturemode
2012-01-12 10:36:17 +00:00
Philip Eisenlohr
7103a44d45
renamed debug variables, plus additional "beautification".
...
renamed "logscale" header info to "log scales" in accordance with plural versions of similar variables.
2012-01-12 10:23:05 +00:00
Philip Eisenlohr
a7d9d711f6
edited lines exceeding 132 chars (before any comment started)
2012-01-11 16:56:35 +00:00
Martin Diehl
c54600fd1f
added kdtree2 source and changed makefile to compile it.
...
started to implement the nearest neighbor search for regridding
corrected calculation of divergence in real space.
corrected handling of maximum stress deviation (removed mask)
2012-01-04 17:43:26 +00:00
Martin Diehl
ee401520d7
corrected divergence calculation. Still some open questions, but improved understanding a lot
2011-12-23 12:30:35 +00:00
Martin Diehl
6dee2616f5
added help info how to use the executable
2011-12-23 12:29:04 +00:00
Martin Diehl
99fa0e0be8
corrected calculation of curl (last version was more a dummy function)
2011-12-23 12:23:13 +00:00
Philip Eisenlohr
e62d083f7a
removed (virtually) dead single-precision branch of the spectral solver.
2011-12-22 13:19:27 +00:00
Philip Eisenlohr
35bd460e39
added "core" package capability to processing
...
(renamed former f2py modules)
reverted pathinfo...
2011-12-22 10:36:59 +00:00
Krishna Komerla
f463c2da70
added addCurl.py, not sure if it works correctly. still in old (eq. to addDivergence.py) style
2011-12-21 17:25:31 +00:00
Philip Eisenlohr
b0ba5f7ba3
code setup now takes BLAS in order of precedence from IKML, ACML, and LAPACK.
...
Leave pathinfo blank for BLAS-options that are not available (like IKML typically)
2011-12-20 10:58:51 +00:00
Franz Roters
c4a4c5cdca
corrected error in apply_DAMASK_modifications
...
added support for Marc/Mentat2011 (classic)
2011-12-19 16:06:03 +00:00
Philip Eisenlohr
739c524848
makefile substitution now based on regexp match.
...
condensed makefile syntax.
can now use a system-defined LAPACK instead of ACML (required for OS X...).
fixed bug that 'ULTRA' was not using -O3 for most of the compiling...
2011-12-16 09:11:03 +00:00
Philip Eisenlohr
a8dece8694
adopted use of general damask package ("import damask" instead of "damask_tools")
2011-12-15 08:52:41 +00:00
Christoph Kords
b2547e0117
Math inversion used to return zero (math_inv3x3) or error (math_invert3x3) for negative determinant. Now checking whether the absolute(!) value of the determinant is close to zero to avoid singularities, negative determinants are very well allowed.
2011-12-14 08:55:24 +00:00
Martin Diehl
031a00237f
improved makefile, no directly linking to files of acml
...
corrected default pathinfo
improved test for intel compiler
2011-12-09 16:34:53 +00:00
Martin Diehl
7d1d2b6229
corrected small mistake in setup_code and makefile
...
test no. 1500, spectral compile test with intel compiler is now working. adjusted run_test and tamask_test
2011-12-09 15:13:27 +00:00
Philip Eisenlohr
2ceb78c337
introduced new damask_tools method "relPath" and adopted it in setup_processing.py and setup_code.py
2011-12-06 18:38:03 +00:00
Martin Diehl
ea0fe7b406
corrected 3D visualize (math.f90 part was not working)
...
small polishing of voronoi_tessellation.f90
2011-12-06 17:46:33 +00:00
Martin Diehl
5ebeb96e85
made DAMASK to work with gfortran:
...
-removed to long lines
-restructured f2py modules and merged make_DAMASK2Python into setup processing
-setup_code.py now sets library path in makefile and asks for compile switches for spectral code
-substituted \ in format strings with $
restructured DAMASK_spectral:
-more logical output and structure of code
-better input for spectral debug parameters
2011-12-06 16:58:17 +00:00
Philip Eisenlohr
efadf9f728
mainly fixed error in output of spectral results (1:N,…) instead of (N,…)
...
rearranged some logic here and there.
(hopefully) improved readability of debug/standard output.
restarting logic would need some discussion with Martin/Krishna still…
2011-12-04 10:01:32 +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
Franz Roters
e738bee1e3
moved todolist to private tree
2011-11-28 08:18:07 +00:00
Franz Roters
515986c4d6
renamed w0 and w0_slip to a and a_slip
2011-11-23 14:48:39 +00:00
Philip Eisenlohr
f685bbba0e
exchanged location of "graincount" in user block.
...
now matches wiki entry:
1. homogenization block
2. grain block
(grain count
sub-block[s] of crystallite and constitutive)
2011-11-23 09:09:00 +00:00
Martin Diehl
5a1e73b53d
added set_timelimit functionality to fortran-wrapper of FFTW and introcudec it to DAMASK_spectral.f90
2011-11-21 18:48:38 +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
dc6c29a910
important bugfix for reading in results in case of restart
2011-11-17 22:11:05 +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
Krishna Komerla
60c9293baf
restarting seems to work, spectral solver writes own defgrad to disk.
...
step counting rectified
added additional output of deformation gradient volume min and max
2011-11-11 14:17:43 +00:00
Christoph Kords
860594d9a4
forgot to multiply shearrate with timestep in order to get accumulated shear
2011-11-09 10:26:00 +00:00
Christoph Kords
6dc8a4d530
check for LFC only if there is any slip activity at all; also increased safety factor from 1.2 to 1.5
2011-11-09 09:55:39 +00:00
Christoph Kords
7033e84fc7
new outputs "accumulatedshear", "velocity_edge", and "velocity_screw" (the latter two replace the output "dislocationvelocity")
2011-11-09 09:22:52 +00:00
Martin Diehl
de96e99bca
corrected determination of restartRead from commandline (now done by FEsolving instead of DAMASK_spectral_interface)
...
recompiled fftw libraries with --enable-shared to make them work with f2py
added draft for compilation test of spectral solver
2011-11-07 18:25:10 +00:00
Christoph Kords
8bc39fcd48
immobile density output keeps its sign
2011-11-07 15:46:40 +00:00
Christoph Kords
34adec74e8
corrected wrong indices into state array for velocity
2011-11-07 15:17:58 +00:00
Krishna Komerla
49c0b8a3fd
restructured restarting capabilities
2011-11-07 11:04:57 +00:00
Christoph Kords
7dfb96a3da
constitutive_nonlocal:
...
dislocation velocities are stored in the state, so we actually now have three "parts" of the state, the basic states that are updated by "constitutive_dotState" come first, then the dependent states that are calculated by "constitutive_microstructure" follow, and finally we have a last part reserved for other variables that just use the memory reserved by the state array and are updated somewhere else.
constitutive:
LpAndItsTangent does not need the full state, but only the local state, so changed that at least for the nonlocal constitutive law
2011-11-04 13:12:17 +00:00
Christoph Kords
9d1bc584d0
corrected stress integration scheme: now use norm(Lpresiduum) as a target function for Armijo's rule instead of whole tensor Lp; also corrected the guess for the improvement in Lp
2011-11-04 12:57:12 +00:00
Christoph Kords
ca3d21a3b6
Depending on which state integrator one uses for the stiffness calculation, the initial state has to be chosen accordingly: e.g. for FPI choose last converged state, but for explicit RK choose converged state from start of increment (in case of explicit euler no state integration at all, but only stress integration). For this purpose we also need to remember "Fe" which now follows the cutbacking procedure as it is used for "Fp".
2011-11-04 12:44:50 +00:00
Martin Diehl
ee7022d8cf
correctet random seed generation to work with gfortran.
2011-11-04 10:29:35 +00:00
Martin Diehl
c2eac36b48
started to implement restart facilities for spectral solver.
...
restart write is on per default
restart read is switched on by using --restart or -r INT where INT gives step at which the calculation should restart
setting INT to a value <1 will turn restart write off
2011-11-03 19:32:11 +00:00
Philip Eisenlohr
b9647b2584
moved parts into new "lib" folder
2011-11-03 13:21:11 +00:00
Martin Diehl
680ba9082f
removed deadlock when calling IO_warning(33)
...
polished IO_error and IO_warning
checked OpenMP critical statements in DAMASK_spectral.f90
corrected writing of headed in DAMASK_spectral.f90
2011-11-02 14:38:42 +00:00
Claudio Zambaldi
447e69019c
Introduced environment variable DAMASK_ROOT.
...
It is set in the DAMASK root folder by running damask_env.sh
Much needed in the testing routines so far (try ./testing/run_tests.py)
damask_env.sh could also trigger other scripts to get to a working setup after fresh checkout. For example it could run
./processing/setup/setup_processing.py
./code/setup/setup_code.py
if it finds that we have a fresh checkout.
2011-10-27 17:55:42 +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
0f34d14bee
again edited the makefile, no there is more flexibility in defining the libraries (FFTW and ACML)
...
added the source of fftw-3.3.tar.gz to fulfill the GPL
set_python_env.py was forgotten during last commit (for testing)
2011-10-24 16:57:51 +00:00
Martin Diehl
8ac1891b3c
moved DAMASK_NaN to prec.f90 respectively prec_single.f90 as it is precision dependent
2011-10-20 16:46:11 +00:00
Martin Diehl
ac342ad682
worked on the updating on increments, does not work properly until now
2011-10-19 09:05:02 +00:00
Krishna Komerla
0a46741a77
changing header to correct number of increments
2011-10-18 16:42:06 +00:00
Martin Diehl
9d3f74ce5f
polishing
2011-10-18 14:46:07 +00:00
Martin Diehl
7746390688
using keywords to indicate geometry and loadcase
...
enabled finetuning of FFTW
added some debugging options
reading in rotation of boundary conditions
using header in geometry file
corrected error in calculating tolerance for stress BC
polishing of output, variable declaration, and variable names
2011-10-18 14:45:32 +00:00
Martin Diehl
9a6977b024
changed commandline parameters into a keyword driven form
...
use "-l, --load, --loadcase" to specify loadcase file and
"-g, --geom, --geometry" to specify geometry file
!incremental update, wait for commit of damask_spectral.f90 before checking out
2011-10-18 09:25:17 +00:00
Martin Diehl
ea2ba1573c
polishing
...
!incremental update, wait for commit of damask_spectral.f90 before checking out
2011-10-18 09:22:33 +00:00
Martin Diehl
7604a8aeb4
corrected calculation of NaN, renamed variable to 'DAMASK_NaN'
...
!incremental update, wait for commit of damask_spectral.f90 before checking out
2011-10-18 09:21:38 +00:00
Martin Diehl
6cf464b8a9
added 'spectralPictureMode' for reading in geometries with 1to1 mapping (e.g. EBSD pattern)
...
polishing
!incremental update, wait for commit of damask_spectral.f90 before checking out
2011-10-18 09:20:29 +00:00
Martin Diehl
6ed27a2a13
added 'spectralPictureMode' for reading in geometries with 1to1 mapping (e.g. EBSD pattern)
...
!incremental update, wait for commit of damask_spectral.f90 before checking out
2011-10-18 09:18:05 +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
Martin Diehl
4989535500
new version 3.3 of FFTW. Compiled with gfortran but only for multicore support (single core library is still the old version 3.2.2). Now either POSIX threads or OMP can be used by choosing the corresponding library file
...
Some further polishing (besides of new description for FFTW) of the makefile
2011-10-13 12:41:01 +00:00
Franz Roters
8edb59d50c
removed some unused variables
2011-09-26 09:55:38 +00:00
Franz Roters
58917b5abe
corrected error messages
...
you can now switch of shear banding by seting sb_velocity to zero
stacking fault energy parameters are now read from material.config
2011-09-26 09:55:08 +00:00
Franz Roters
2e263dee90
merged in the shear band code, it compiles but is not otherwise tested yet
2011-09-16 15:55:18 +00:00
Franz Roters
9d091bdc3f
added parameters for shear band model
2011-09-14 13:35:28 +00:00
Franz Roters
ee83904548
added math_spectralDecompositionSym3x3 used by shear band model
2011-09-14 13:26:00 +00:00
Martin Diehl
483b483816
dummy update because those messages got lost:
...
Date: Tue, 13 Sep 2011 17:46:44 +0200
From: m.diehl@mpie.de
To: wangleyu@msu.edu , lebenso@lanl.gov , denny.tjahjanto@imdea.org ,
o.guevenc@mpie.de , n.jia@mpie.de , m.diehl@mpie.de , c.kords@mpie.de ,
c.zambaldi@mpie.de , p.eisenlohr@mpie.de , f.roters@mpie.de
Subject: update: /home/svn/repos/DAMASK to 1000
Message-ID: <4e6f7ae4.Xjnd/szYAh8QCXTo%m.diehl@mpie.de>
User-Agent: Heirloom mailx 12.2 01/07/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
A processing/pre/FromEBSD/
A processing/pre/FromEBSD/Hex2Cub.cpp
A processing/pre/FromEBSD/SpectralMethodFromEBDS
A processing/pre/FromEBSD/patchFromReconstructedBoundaries
D processing/pre/patchFromReconstructedBoundaries
added two small (quick and dirty) tools to convert data from EBSD to input files for spectral method, put them together with patchFromReconstructedBoundaries into new folder.
Date: Tue, 13 Sep 2011 17:54:06 +0200
From: m.diehl@mpie.de
To: wangleyu@msu.edu , lebenso@lanl.gov , denny.tjahjanto@imdea.org ,
o.guevenc@mpie.de , n.jia@mpie.de , m.diehl@mpie.de , c.kords@mpie.de ,
c.zambaldi@mpie.de , p.eisenlohr@mpie.de , f.roters@mpie.de
Subject: update: /home/svn/repos/DAMASK to 1001
Message-ID: <4e6f7c9e.v9E4JVN2a6bg5tL8%m.diehl@mpie.de>
User-Agent: Heirloom mailx 12.2 01/07/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
U code/DAMASK_spectral.f90
U code/DAMASK_spectral_interface.f90
U code/IO.f90
U code/crystallite.f90
U code/homogenization_RGC.f90
U code/lattice.f90
U code/makefile
U code/material.f90
U code/mesh.f90
did a lot of polishing:
- removed unnecessary "return" before end of subroutine or function:
- changed undetermined array length (:) to (1:3)
To prevent problems with some code analysing tools:
- "3D oneliner loops" (with ";) only for "do" and "enddo" at the same time
- removed line continuation in OMP statements
made the makefile more flexible, removed heap-arrays switch
Date: Tue, 13 Sep 2011 17:57:07 +0200
From: m.diehl@mpie.de
To: wangleyu@msu.edu , lebenso@lanl.gov , denny.tjahjanto@imdea.org ,
o.guevenc@mpie.de , n.jia@mpie.de , m.diehl@mpie.de , c.kords@mpie.de ,
c.zambaldi@mpie.de , p.eisenlohr@mpie.de , f.roters@mpie.de
Subject: update: /home/svn/repos/DAMASK to 1002
Message-ID: <4e6f7d53.IEDDzo+JSzDWNSBr%m.diehl@mpie.de>
User-Agent: Heirloom mailx 12.2 01/07/07
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
A documentation/Compiling/
A documentation/Compiling/Stack+usage.pdf
A documentation/ParallelizationAndTuning/
A documentation/ParallelizationAndTuning/BSC_tools_Overview.pdf
A documentation/ParallelizationAndTuning/Intro_Perf.pdf
A documentation/ParallelizationAndTuning/Kcachegrind.pdf
A documentation/ParallelizationAndTuning/LRZ210703_1.pdf
A documentation/ParallelizationAndTuning/LRZ210703_2.pdf
A documentation/ParallelizationAndTuning/MUST_Overview.pdf
A documentation/ParallelizationAndTuning/NPB-MZ-MPI-BT_Exercise.pdf
A documentation/ParallelizationAndTuning/PAPI.pdf
A documentation/ParallelizationAndTuning/PSC_Exercise_BT-MPI.pdf
A documentation/ParallelizationAndTuning/Paraver_Exercise.pdf
A documentation/ParallelizationAndTuning/Periscope_Overview.pdf
A documentation/ParallelizationAndTuning/SIONlib.pdf
A documentation/ParallelizationAndTuning/Scalasca_Examples.pdf
A documentation/ParallelizationAndTuning/Scalasca_Exercise_BTMZ.pdf
A documentation/ParallelizationAndTuning/Scalasca_Overview.pdf
A documentation/ParallelizationAndTuning/Scalasca_Patterns.pdf
A documentation/ParallelizationAndTuning/TAU.pdf
A documentation/ParallelizationAndTuning/VIHPS-TW8.pdf
A documentation/ParallelizationAndTuning/Vampir_Exercise.pdf
A documentation/ParallelizationAndTuning/Vampir_Overview.pdf
A documentation/ParallelizationAndTuning/instructions_periscope.pdf
A documentation/ParallelizationAndTuning/manualf06.pdf
added some information from Tuning workshop in Aachen regarding tuning/parallelization
added slides with information how to prevent segmentation fauld
2011-09-14 08:16:42 +00:00
Philip Eisenlohr
c7c541f393
corrected typos and such
2011-09-13 15:57:58 +00:00
Martin Diehl
c35ea33f8e
did a lot of polishing:
...
- removed unnecessary "return" before end of subroutine or function:
- changed undetermined array length (:) to (1:3)
To prevent problems with some code analysing tools:
- "3D oneliner loops" (with ";) only for "do" and "enddo" at the same time
- removed line continuation in OMP statements
made the makefile more flexible, removed heap-arrays switch
2011-09-13 15:54:06 +00:00
Franz Roters
cbbc3e84fe
solved argument mismatch
2011-09-13 14:15:17 +00:00
Franz Roters
1dd2591982
corrected wrong check of twin systems
2011-09-13 08:18:43 +00:00
Christoph Kords
7be2701989
* new output variable "internalstress", which gives the internal stress tensor
...
* use "math_invert3x3" instead of "math_inv3x3" for inversion of Fe
* for dislocation stress calculation: first regular case, then special case of dead dislocations in central ip
* "dv_dtau" now given for each dislocation type, so is a (ns,4) array
* deleted unused variables in "_LpAndItsTangent"
* corrected contribution of deads in "_LpAndItsTangent"
* the NaN variables defined in math did not give a proper NaN value, so use 0.0/0.0 again
* neighbors with nonlocal constitution but local properties (i.e. /nonlocal/ flag not set) are also considered for incoming fluxes
2011-09-07 11:30:28 +00:00
Martin Diehl
e8628996ff
added IO error in case mixed BC that allow rotation are given
2011-09-02 13:50:05 +00:00
Martin Diehl
fe9754a41c
previous commit was wrong file
2011-09-02 10:46:37 +00:00
Martin Diehl
43e2684cfb
added new glide system for hex lattice
2011-09-02 10:43:49 +00:00
Martin Diehl
0469d37fc3
cleaned and restructured output on screen, changed L_inf norm to L_2 for calculation of error in Fourier space.
...
removed unnecessary function from math.f90
added some documents/manuals regarding spectral method
2011-08-31 14:37:01 +00:00
Martin Diehl
f527bdcc78
changed standard values according to numerics.f90
2011-08-30 11:21:39 +00:00
Martin Diehl
8f90f1f1f9
corrected description of algorithm to invert matrix
2011-08-30 07:29:13 +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
Martin Diehl
380a536b45
homogenization_*, constitutive_*, DAMASK_spectral_interface: did some polishing regarding init output
...
makefile: corrected spelling mistake
2011-08-26 13:57:29 +00:00
Christoph Kords
b300cc7faa
ip volume is now based on the determinant of F. "mesh_ipVolume" represents the initial volume and is multiplied with det(F) wherever the current volume is needed. Since this works for all solver types, the "volume" output in crystallite is now also correct for spectral method and abaqus.
2011-08-19 11:18:56 +00:00
Martin Diehl
f99bf63397
removed functions added for debugging of divergence calculation to math.f90
...
corrected calculation of stress BC condition. Depending on given BC, the stiffness matrix is reduced and than inversed. Then it is filled with zeros and used for the calculation of the correct change of deformation gradient. All calculation is done using dP/dF
2011-08-10 17:45:37 +00:00
Christoph Kords
1ffb59a96a
Calculation of current ip volumes now working. Crystallite output also reflects current grain volume, not reference volume. However, this is only available for Marc. Abaqus and spectral method still return the reference ip volume. The ip coordinates though are correctly updated for all solver types.
2011-08-10 16:37:17 +00:00
Martin Diehl
34de2e301b
DEBUGGING VERSION for calculation of Divergence (various methods implemented). DO NOT USE. Wait for next update coming in a few minutes
2011-08-10 16:02:13 +00:00
Martin Diehl
bb1ca2330b
added option to enable use of AMD math core library, added comments on the various parameters
2011-08-10 16:00:02 +00:00
Onur Guevenc
31b60b8814
changed debug intensity so that the artificially high stress and stiffness values in collection cycles do not get printed out anymore...
2011-08-03 17:59:31 +00:00
Onur Guevenc
4f1cb3a8af
exchanged forall with nested do loops... Bye, bye smatrix warning, will miss you!!
2011-08-03 17:58:16 +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
Martin Diehl
b5abd6f203
adding new option OPTIMIZATION with values OFF, DEFENSIVE and AGGRESSIVE to makefile. Polishing of makefile and DAMASK_spectral.f90
2011-08-03 07:54:32 +00:00
Onur Guevenc
64435b8a97
loadcase takes 'temperature' (or 'temp') as input. Previously it was hard-wired.
2011-08-02 13:58:28 +00:00
Christoph Kords
422d6d9c6c
slight correction of debugging output
2011-08-02 12:36:08 +00:00
Christoph Kords
ef7405fe21
Stress integration now uses Armijo rule to find an appropriate correction of Lp: decreases step in case that residuum does not improve significantly, accelerates as usual in case of good convergence. This turned out to improve convergence behavior.
2011-08-02 11:29:08 +00:00
Christoph Kords
6f859e99de
* internal stress calculation now considers dead dislocations always at the interface, not at the center of the IP volume; used to merge them together with "normal" dislocations for stress calculation.
...
* dislocation flux is blocked if we encounter a sign change in the resolved shear stress from the central ip to the neighbor
* do not set density to zero if below certain threshold; this creates an artificial sink term
2011-08-02 11:17:45 +00:00
Christoph Kords
0373fa64e4
have to initialize constitutive_state during constitutive_init, since the first call to constitutive_microstructure (where we already need the state) is done before the cutback scheme starts.
2011-08-02 11:10:41 +00:00
Martin Diehl
75c67f53f7
introduced alternative location for material configuration.
...
If present, the >>>JOB.materialConfig<<< file takes precedence over the standard >>>material.config<<<
2011-08-02 10:14:16 +00:00
Martin Diehl
564eb5009f
shape mismatch in crystallite, invalid names for variables(pos, size) in homogenization corrected. polishing of DAMASK_spectral_interface and makefile
2011-08-01 18:10:55 +00:00
Martin Diehl
3adb7ab382
corrected makefile, now working again without giving standard values explicitly.
...
did some small modification in order to make it possible to compile with gfortran. Changed NaN=0.0/0.0 to bitwise representation (3 different ways)
2011-08-01 10:11:32 +00:00
Philip Eisenlohr
06a4ac2565
fixed bug (segmentation fault) occurring for non-renumbered meshes: ipNeighborhood building did use FE IDs of twin nodes to address memory -- dangerous..!
2011-07-31 15:42:59 +00:00
Christoph Kords
fb121b1435
* boundary condition masking changed
...
* damper initialized with one
* inversion of Mandelized stiffness tensor does not work, have to use plain tensor
* new functions in math that allow for conversion between Mandel and Plain tensors
2011-07-29 15:57:39 +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
Philip Eisenlohr
2e9c605571
somehow forgot to move the numerics.config into the config subdir...
2011-07-21 08:40:45 +00:00
Franz Roters
e92e5cae53
restarting now works with Abaqus (standard, cannot test explicit due to lack of license)
...
you have to specify the job you are restarting from in the job description (cae), if you prepare your input file by hand this is the first line after *Heading
example: if the first job was using Oldjob.inp the first entry in the job description needs to be Oldjob (without the .inp)
as for Marc restart works only from last converged increment, i.e. ther restart writing should be specified like this:
*retsart, write, frequency=1, overlay
Overlay is not essential but saves a lot of disk space and as stated before you can only restart from the last converged increment anyway
2011-07-18 09:15:20 +00:00
Philip Eisenlohr
8c65cb9ea6
small output polishing
2011-07-15 12:25:38 +00:00
Martin Diehl
09ba92c26e
added and rearranged error messages, polished output and simplified calculation of f depending on fdot or L
...
guessing along former trajectory is now on per default, 'guessreset' and 'dropguessing' switch it off.
2011-07-14 09:37:31 +00:00
Martin Diehl
56340fd487
changed input of loadcase. Now fdot (time derivative) can be used instead of velocity gradient. Velocity gradient needs to have each line fully or not at all defined, as for other loadcases the stress BCs are not known in advance. Also added the possibility to keep guessing along trajectory of former loadcase.
...
changed back to use the compliance of initial linear material behavior.
added counter of non-converged steps
renamed compiler flags in makefile
2011-07-13 16:33:12 +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
Martin Diehl
a08eaecf4e
polishing (names of variables, spaces, comments etc.)
...
renamed mpie to DAMASK in IO.f90 error message
2011-07-07 15:27:35 +00:00
Martin Diehl
a561ef1cf5
corrected calculation of divergence in Fourier space, removed normalization of normdyad (was useless), now using correct compliance for calculation of stress BC.
2011-07-07 10:03:55 +00:00
Franz Roters
18a5841bc5
keyword freq for frequency of output writing was not evaluated when reading loadcase file
2011-07-07 09:18:05 +00:00
Onur Guevenc
e889b69bec
Ability to define loglinear time increments by using 'logincs' or 'logsteps' instead of 'incs' in loadcase file is added.
2011-07-06 13:10:18 +00:00
Philip Eisenlohr
314adae1bb
spectral solver can now write result at reduced output frequencies: use 'f', 'freq', or 'frequency' keyword in loadcase definition.
...
example: ... time 1 incs 100 freq 10 will write output at times 0.0, 0.1, 0.2, ... , i.e., every ten increments only.
2011-06-15 17:48:14 +00:00
Philip Eisenlohr
3985a98da7
changed default to "no clean". if clean-up required, use '--clean' option!
2011-06-15 16:40:34 +00:00
Philip Eisenlohr
480021e788
added '--noclean' option
2011-06-14 14:56:10 +00:00
Philip Eisenlohr
1877026d86
sorry, dangling "endif"...
2011-06-14 14:35:55 +00:00
Philip Eisenlohr
cc925cadee
changed output/debug-level relation for two statements
2011-06-14 14:08:13 +00:00
Philip Eisenlohr
a26d9c844b
max size of crystallite result is now based on actual use within the mesh, not just picking the largest chunk from the material.config file...
2011-06-08 09:16:48 +00:00
Philip Eisenlohr
8041587a72
changed internal debug verbosity in accord with debug.config listing.
2011-06-06 15:27:35 +00:00
Philip Eisenlohr
4a694fa7fd
changed wildcard letter from '#' to '*' now consistent with new IO comment parsing.
...
fixed memory bug with bc_maskvector.
some brushing up here and there...
2011-06-06 15:20:28 +00:00
Christoph Kords
ae4c8fa2d8
renaming of "mpieNumThreadsInt" to "DAMAKS_NumThreadsInt" was forgotten here
2011-06-06 08:51:07 +00:00
Christoph Kords
9a64f3dd85
* comments are now recognized by IO even when they do not appear at the beginning of the line
...
* no need for the zero entries in the material.config anymore
2011-05-30 09:09:19 +00:00
Christoph Kords
bbf75f3fb5
cannot omit entries for second to fourth slip system family, though they are zero
2011-05-30 07:53:41 +00:00
Franz Roters
08d39342e4
reworked restarting for compatibility with abaqus (not yet fully working)
...
added new orientation feature for direct simulation:
component type (random) asigns random orientation to an entire grain
2011-05-28 09:44:43 +00:00
Franz Roters
2418dfe96d
changed MPIE_NUM_THREADS to DAMASK_NUM_THREADS
2011-05-28 09:42:25 +00:00
Christoph Kords
e39445ee7a
dead dislocations now exert a backstress on their "home" MP
2011-05-26 09:35:42 +00:00
Christoph Kords
78f74e8991
forgot to use "mesh_ipCenterOfGravity"
2011-05-26 09:23:13 +00:00
Christoph Kords
cac45cff96
ip coordinates are now updated every cycle; this is needed for the nonlocal internal stress fields
...
* Marc: node displacements are added to initial node coordinates (mesh_node0) to get current node positions (mesh_node), then ip coordinates are deduced
* Abaqus: ip coordinates are directly updated, no update of node coordinates!
* Spectral: for the moment no update of either ip or node coordinates! passing only dummy values with initial ip coordinates
2011-05-24 15:57:59 +00:00
Christoph Kords
a910c469df
update of nonlocal material parameters
2011-05-20 08:11:22 +00:00
Philip Eisenlohr
808a6d6ad6
+ error box + now tells error number (useful for Abaqus)
2011-05-13 16:55:13 +00:00
Philip Eisenlohr
1baae024cb
added two more <crystallite> examples
2011-05-13 16:54:08 +00:00
Philip Eisenlohr
d366a53f4e
probably installation is a better place for the abq.env file
2011-05-11 17:10:45 +00:00
Philip Eisenlohr
fa98133f8e
renamed interface from "mpie_interface" to "DAMASK_interface"
2011-05-11 17:01:03 +00:00
Philip Eisenlohr
75192789e8
added making of DAMASK_spectral.exe
2011-05-11 16:45:37 +00:00
Philip Eisenlohr
43cc68555b
observe new include subdirectory
2011-05-11 16:40:51 +00:00
Philip Eisenlohr
e5a2d829b0
new substructure with 'include' and 'config' directories
...
renaming of mpie_... to DAMASK for main usersubroutines
extension of element outputs from 5 to 8 digits (FFT!!!)
2011-05-11 16:38:45 +00:00
Christoph Kords
a0bec65c7b
Last version didn't compile, because of missing keyword "call" in front of subroutine call to IO_error
2011-05-09 08:49:03 +00:00
Philip Eisenlohr
660c9212f8
introduced error 667 for out of bounds user result requesting
2011-05-04 16:02:18 +00:00
Philip Eisenlohr
affd383ef8
simplified disorientation calculation. performed FEM check that "grainrotation" reflects the *active* rotation from the starting orientation to the current one with respect to the lab coord system (as expected).
2011-04-14 19:09:44 +00:00
Christoph Kords
5814262f55
moved some write statements within stateIntegrationEuler
2011-04-14 09:35:56 +00:00
Philip Eisenlohr
349f022100
reinstantiated calculation of grainrotation (still needs check for correctness, i.e. active or passive rotation output)
2011-04-13 16:08:52 +00:00
Franz Roters
7d84a0911e
removed unused variables
2011-04-13 14:16:22 +00:00
Christoph Kords
b4678112cd
sorry, last version did not compile. now with correct encoding.
2011-04-13 11:51:46 +00:00
Christoph Kords
dd2057bac5
changed header to unicode utf-8 encoding
2011-04-13 11:24:36 +00:00
Philip Eisenlohr
ef4fc9d0ee
added <crystallite> output "texture" to list of examples
2011-04-12 15:33:29 +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
Christoph Kords
4d0fefd231
security factor of 1.2 for CFL condition in constitutive_nonlocal_dotState
2011-04-06 11:47:24 +00:00
Philip Eisenlohr
51763ed93e
corrected number of incs reported in spectralOut-file
...
inc 0 contains undeformed results
plus lots of typographic polishing
2011-04-06 09:58:17 +00:00
Franz Roters
7c7c929455
added comments on origin of files
2011-04-06 09:40:39 +00:00
Christoph Kords
4ea1fe436b
added check for CFL condition in constitutive_nonlocal_dotState
2011-04-06 09:07:36 +00:00
Philip Eisenlohr
e00d073ee3
added new 2D triangle elements
...
added some sourcecode commenting on internal database formats
corrected database to allow for ipVol and Area calc in 2D element cases
2011-04-06 08:35:37 +00:00
Franz Roters
fcdb805225
added copyright text to all f90 (free) format files
2011-04-04 14:09:54 +00:00
Christoph Kords
6ca8942f62
choose correct output format for debug_verbosity: integer instead of logical
2011-04-04 08:38:55 +00:00
Christoph Kords
790dbed1e4
* removed last remnants of old debugger
...
* replaced "dble" intrinsic function by "real" with pReal kind in constitutive_nonlocal.f90
* removed useless line breaks in output of state in CPFEM.f90
2011-04-04 08:34:52 +00:00
Alankar Alankar
06fc83ac14
Final version of titanmod
2011-03-31 09:21:43 +00:00
Franz Roters
fc471d73f3
added Arun to list of authors
2011-03-30 14:39:28 +00:00
Christoph Kords
c36968fc68
distance for periodic images in internal stress calculation was incorrect
2011-03-30 11:57:41 +00:00
Franz Roters
08da2b5e4d
added minimum abaqus_v6.env file containing all changes necessary for the use of the MPIE subroutine
...
changed comments in interface routines to refelect this
2011-03-29 13:49:50 +00:00
Franz Roters
e9e6abbdaf
introduced variables for compiler options
...
added -fpp switch to invoke precompiler
2011-03-29 07:55:38 +00:00
Christoph Kords
314ca3fe7f
Internal stress calculation in nonlocal model: instead of integration of excess gradients (->Bayley) we now sum up contributions from adjacent superdislocations within a certain radius R. When periodicity is used, also periodic images are considered in stress evaluation.
2011-03-29 07:34:33 +00:00
Christoph Kords
3d51dd36fa
* Introduced preprocessor directives in order to suppress compilation of most write statements when using openmp. This tremendously improves efficiency of parallelization.
...
* Also added some more openmp directives to increase percentage of parallelized code.
* "implicit none" was missing in two subroutines of homogenization and constitutive.
2011-03-29 07:27:19 +00:00
Philip Eisenlohr
5c05c5d068
corrected mixed up array size for hardeningMatrices (twin/slip)
...
added explicit array range 1:lattice_maxNslip/twinFamily
2011-03-24 17:20:35 +00:00
Franz Roters
fa323f3f0b
removed division by zero from debug_reset(), uses huge() now
2011-03-24 07:38:56 +00:00
Franz Roters
78d4e7d1dc
mpie_cpfem_abaqus_std.f: first call is with kinc==1
...
mesh: allow multiple element sets with identical material
2011-03-23 16:20:12 +00:00
Franz Roters
8467c91dab
moved setup scripts back to subdirs where they are needed
2011-03-22 15:42:53 +00:00
Christoph Kords
31a570768b
new error 237: singularity in internal stress calculation
2011-03-22 13:58:42 +00:00
Nan Jia
7be2edb10e
added "texture
...
" as possible crystallite output => reports ID for later discrimination...
2011-03-22 13:40:27 +00:00
Christoph Kords
b8b75edd7d
no changes to previous version, just wanted to add some comment to the previous commit:
...
subroutine "constitutive_nonlocal_dotState" only affects the current dotState, so no need to pass the whole array as argument
2011-03-21 15:23:36 +00:00
Christoph Kords
9b1e1e35ea
dotState
2011-03-21 15:18:09 +00:00
Christoph Kords
462eda6736
split parallel region in integrateStateFPI into two
2011-03-21 14:30:10 +00:00
Christoph Kords
5ee73dee72
age dotState before resetting it to zero, otherwise the statedamping does not work.
2011-03-21 13:06:11 +00:00
Christoph Kords
fc6f2ae68f
No need to call constitutive_microstructure at the beginning of each crystallite step, since it's already been done at the end of the previous step. Just do it once after initialization to start with correct values for the dependent state variables.
2011-03-21 10:35:42 +00:00
Christoph Kords
11138e3ee2
debugging output is now controlled by the "verbosity" parameter in the debug.config ranging from 0 (=almost no output) to 8 (=very detailed output)
...
0 : only version infos and all from "hypela2"/"umat"
1 : basic outputs from "CPFEM.f90", basic output from initialization routines, debug_info
2 : extensive outputs from "CPFEM.f90", extensive output from initialization routines
3 : basic outputs from "homogenization.f90"
4 : extensive outputs from "homogenization.f90"
5 : basic outputs from "crystallite.f90"
6 : extensive outputs from "crystallite.f90"
7 : basic outputs from the constitutive files
8 : extensive outputs from the constitutive files
If verbosity is equal to zero, all counters in debug are not set during calculation (e.g. debug_StressLoopDistribution or debug_cumDotStateTicks). This might speed up parallel calculation, because all these need critical statements which extremely slow down parallel computation.
2011-03-21 10:31:17 +00:00
Christoph Kords
9d7ede7e03
extreme values of stress and jacobian now recorded in CPFEM_general. variable declaration and generation of output moved to debug module.
2011-03-17 13:13:13 +00:00
Christoph Kords
235266b169
openmp parallelization working again (at least for j2 and nonlocal constitutive model).
...
In order to keep it like that, please follow these simple rules:
DON'T use implicit array subscripts:
example: real, dimension(3,3) :: A,B
A(:,2) = B(:,1) <--- DON'T USE
A(1:3,2) = B(1:3,1) <--- BETTER USE
In many cases the use of explicit array subscripts is inevitable for parallelization. Additionally, it is an easy means to prevent memory leaks.
Enclose all write statements with the following:
!$OMP CRITICAL (write2out)
<your write statement>
!$OMP END CRITICAL (write2out)
Whenever you change something in the code and are not sure if it affects parallelization and leads to nonconforming behavior, please ask me and/or Franz to check this.
2011-03-17 10:46:17 +00:00
Franz Roters
97a0146672
deactivated one debug statement at the end of crystallite_updateState(g,i,e) as it leads to division by zero if constitutive_state(g,i,e)%p(1:mySize) contains zero values
...
statement should be changed to check for zero values
2011-03-11 10:05:30 +00:00
Philip Eisenlohr
1f0569230b
new installation/setup dir to hold all top-level make_*-scripts
2011-03-11 09:20:37 +00:00
Franz Roters
bdc17f7d72
extended comment on modification of abaqus_v6.env
2011-03-11 09:05:09 +00:00
Franz Roters
6475235fb4
included "-heap-arrays 500000000" in remark on how to change compile command
2011-03-08 08:18:04 +00:00
Franz Roters
18e668340f
Abaqus interfaces dapted to newest version of the rest of the code
...
does not yet check for restart, have to check out first how restarts work in Abaqus
explicit code not checked as we do not have a license
2011-03-07 12:49:27 +00:00
Franz Roters
654b5ea987
set type for acos_arg
2011-03-04 14:57:22 +00:00
Franz Roters
2975c99144
now the maybe not perfect quartenions caused trouble in math_QuaternionToEuler
2011-03-03 14:23:39 +00:00
Franz Roters
e7c7ccdcdd
improper rotation matrix from pdecomposition could cause negative arguments in squareroot
2011-03-03 10:47:07 +00:00
Franz Roters
6667e94238
abaqus routines VGETOUTDIR and GETOUTDIR do not return the trailing slash, which we assume to be there, so it has to be appended
2011-03-03 10:29:59 +00:00
Martin Diehl
138e9c43eb
some comments (talking to Ricardo)
2011-02-25 16:24:23 +00:00
Martin Diehl
a6d1e5c911
now deleted old _single files
2011-02-25 12:49:18 +00:00
Martin Diehl
8cae4d609a
some polishing for single precision version.
...
Now only prec and mpie_spectral are needed in different versions
2011-02-25 12:41:46 +00:00
Christoph Kords
ad4706673b
* removed calculations for dipole formation/dissociation by stress change, since it is not used anyways; also removed associated constitutive outputs from material.config
...
* removed input variables in constitutive_collectDotState and constitutive_postResults that are not needed anymore (because of recent changes in constitutive_nonlocal)
2011-02-25 09:53:20 +00:00
Martin Diehl
cd5407b08b
removed all math functions only for double precision by the more flexible counterpart, e.g. "dsqrt --> sqrt", "dsin --> sin". Should not cause any harm, as long as "implicit none" is used.
...
Now it is possible to compile a single precision spectral solver/crystal plasticity by replacing mesh.f90 and prec.f90 with mesh_single.f90 and prec_single.f90.
For the spectral method, just call "make precision=single" instead of "make". Use "make clean" evertime you switch precision
2011-02-25 09:25:53 +00:00
Christoph Kords
2f503f5cdb
added "Lp" as crystallite output
2011-02-25 08:15:26 +00:00
Christoph Kords
e022810e66
fixed problem in internal stress calculation for periodic neighborhood
2011-02-25 08:10:11 +00:00
Martin Diehl
f525c02ded
added single precision libraries for FFTW
...
First try of implement single precision crystal plasticity, not working yet.
polishing text about geometry construction.
polishing postResults, still having problems concerning machines without MSC installation
2011-02-24 18:39:57 +00:00
Christoph Kords
e49e5e13af
* in flux calculation: take care of special case for single element model
...
* do not overwrite "constitutive_nonlocal_rhoDotFlux" when doing a state perturbation, so we can use it for output
2011-02-24 10:01:41 +00:00
Christoph Kords
8aef9b1c13
check for twin nodes only in direction of the surface normal. this solves a problem with models of single element thickness and periodic fluxes.
2011-02-24 09:26:30 +00:00
Christoph Kords
fed53a7e60
in subroutine "mesh_marc_get_mpieOptions": need at least one additional string after keywords "$mpie" and "periodic", not two as it used to be
2011-02-23 12:33:51 +00:00
Christoph Kords
430966eb20
sorry, forgot to commit the numerics.f90, too
2011-02-23 12:30:52 +00:00
Christoph Kords
96d3682d5e
* new global integer variable "numerics_integrationMode" (1 indicating integration of central solution, 2 indicating integration of perturbed state)
...
* combined "integrator" and "integratorStiffness" in new global variable "numerics_integrator"
2011-02-23 08:29:51 +00:00
Christoph Kords
d835380bc0
* "constitutive_nonlocal_flux" is set to zero in "constitutive_nonlocal_dotState", not in "constitutive_nonlocal_microstructure"
...
* dislocation flux and internal stress calculation now consistent with new definition of slip system lattice according to paper (polarity of screws inverted)
2011-02-23 08:08:06 +00:00
Martin Diehl
8dd1a694a3
extended IO to cope with different name for solverJob and Model
...
polishing, added error codes
added FFTW library files
2011-02-21 14:37:38 +00:00
Christoph Kords
b21c153761
restructured constitutive_nonlocal_compatibility and incorporated the "surfaceTransmissivity" in the compatibility calculation
2011-02-16 16:38:18 +00:00
Christoph Kords
24d33bf2ff
* added a new material parameter "surfaceTransmissivity" (default value 1.0) which allows to change the transmissivity of the material surface between 0 and 1
...
* now complaining when encountering an unknown nonlocal parameter in material.config
* use same error ID for all material parameters out of bounds
* symmetric flux calculation in side dotState can now be omitted (because of new treatment of periodicity)
* switching back to "local flux balance" (add leaving and entering fluxes at central MP, don't touch neighbor) instead of "flux distribution" (subtract leaving fluxes from central MP and add them at neighboring MP). This has the advantage that there is almost no need for CRITICAL statements in parallelization, so hopefully this results in some speed up.
2011-02-16 16:35:38 +00:00
Christoph Kords
8f626c8989
Now able to have real periodicity for fluxes (fluxes leaving the model on one side enter on the other side).
...
To enable this feature one has to add the following somewhere in the marc input file:
$mpie periodic x y z
for having periodicity in all directions
$mpie periodic z x
for having periodicity in x and z direction
etc.
Note that this only works for regular meshes!!!
2011-02-16 16:23:08 +00:00
Alankar Alankar
89ed6f5f66
Did not compile. Fixed missing ,
2011-02-15 12:29:01 +00:00
Alankar Alankar
c39e04644b
Sorting of hex slip-systems done in update 659 was missing. Included again.
2011-02-15 12:21:54 +00:00
Martin Diehl
438bf95105
added ft-based reconstruction of deformed configuration to postprocessingMath.f90 and postprocessingMath.pyf
...
also added function to calculate average of tensor
some polishing in mpie_spectral.f90, added sanity check to see im resolution is power of 2
2011-02-14 17:21:31 +00:00
Philip Eisenlohr
171f5375f1
shearrate output now with sign (no |abs| as before)
2011-02-11 10:19:41 +00:00
Martin Diehl
3d7fad6ba9
mpie_spectral.f90: changed fourier transormation, now using the advanced interface to do the tranformation both ways with just one call. now also using the same variable for pk-stress in both domains and the change of deformation gradient in both domains.
...
postprocessing: renamed name of python/f2py modul from "reconstruct" to "postprocessingMath", added some numerical operations to use for postprocessing.
2011-02-09 17:47:28 +00:00
Christoph Kords
803e1a8c05
In order to help preventing further memory leaks all array sections now have an explicit instead of assumed shape, e.g. Fe(1:3,1:3) instead of Fe(:,:).
2011-02-09 13:12:46 +00:00
Christoph Kords
466ced911e
* check convergence for nonlocals also in stiffness calculation mode
2011-02-09 08:39:07 +00:00
Christoph Kords
921967c2ba
* found memory leak in nonlocal model! "constitutive_nonlocal_rhoDotFlux" has to have upper index bound of 10 for second dimension, not 8.
...
* need to recalculate dislocation velocity in postResults, otherwise we take values of last perturbed state! So the following outputs were up to now showing the perturbed state: shearrate, dislocation velocity, all density rates!
2011-02-09 08:28:47 +00:00
Christoph Kords
17a6c0e59b
enhanced comment on dislocation kinetics
2011-02-08 12:48:50 +00:00
Christoph Kords
6731659aa4
added hint that extreme values of stress and tangent belong to previous cycle
2011-02-08 12:43:30 +00:00
Christoph Kords
0a30fb739a
now reporting extreme values of stress and tangent, that were returned to marc, in output file
2011-02-08 10:25:51 +00:00
Martin Diehl
7a7ca1aab7
mpie_spectral and mpie_interface: changed workingdir from pathToLoadFile to pathToGeomFile
...
mpie_spectral and numerics: added switch to prevent pre calculation of gamma_hat. slower, but saves memory
3Dvisualize: started to add support for gmsh (not fully working yet)
reconstruct: new version of f2py/Fortran subroutines for output of results from spectral method
2011-02-07 14:35:42 +00:00
Christoph Kords
faba13f7fd
* now able to introduce some scatter in the initial single dislocation density (only for nonlocal model!) ; setting the parameter "rhoSglScatter" to a positive value generates a gauss distribution for the dislocation density with standard deviation equal to "rhoSglScatter"
...
* dislocation stress calculation is only done for nonlocal constitution ("/nonlocal/" keyword is present in material.config)
2011-02-04 15:41:32 +00:00
Alankar Alankar
b362755457
grain orientation shuffling was skipped for /elemhomo/. no clue why, now dropped...
2011-02-03 17:25:58 +00:00
Martin Diehl
fec2c14a4e
removed hard-coded tolerances from mpie_spectral and put them to numerics/IO
...
removed storage of full cauchy stres field from mpie_spectral.f90, only average is stored now
added cauchy stress and von mises equivalent calculation to spectral post.
2011-01-31 17:07:42 +00:00
Christoph Kords
b72d75ed05
corrected indices in flux density output
2011-01-28 12:49:58 +00:00
Philip Eisenlohr
c00a42a9a4
fixed last remaining tensor outputs to their transposed versions
2011-01-27 14:29:06 +00:00
Martin Diehl
aa7d5afd94
changed ifort options back to previous ones as -fast is not working
2011-01-26 13:33:44 +00:00
Christoph Kords
05d4d5fef2
* kinetics now according to Mohles; enables solid solution hardening
...
* changed example in material.config accordingly
2011-01-26 10:17:42 +00:00
Philip Eisenlohr
6ac06af517
sorry, forgot to alter the most important part: post_results..! eventually, the t16 has defgrads and friends in correct format: du_i/dx_j is listed as linear array (1,1),(1,2),(1,3),(2,1),...
2011-01-24 16:23:37 +00:00
Philip Eisenlohr
4ee40df5ba
transposed writing into t16 file (and screen/debug) did not work with just stating array(1:3,:)...
...
fixed by using math_transpose3x3 (and similar) instead.
2011-01-24 15:02:19 +00:00
Philip Eisenlohr
794aeb253b
crystallite and CPFEM now print/output tensors in ij notation (used to be, particularly in the t16, ji, i.e. transposed...)
...
math reports random seed used for rnd() generation
2011-01-20 19:25:45 +00:00
Martin Diehl
b546d3bb91
some corrections regarding Multicore-support on mpie_spectral.f90 and makefile
...
slight changes on mpie_spectral.f90 regarding file output
2011-01-12 17:02:42 +00:00
Christoph Kords
062c6b3d54
* allow zero cutoff radius
...
* added missing error codes
2011-01-12 12:36:48 +00:00
Christoph Kords
d92f992eb7
if nonlocal ip has local neighbor assume perfect transparency of the (perhaps virtual) phase boundary. this is only a quick fix! need to rethink the way constitutive and real boundaries are treated!
2011-01-11 18:00:29 +00:00
Christoph Kords
6a3dd78259
fluxes are disabled when keyword "/nonlocal/" is omitted in the material.config (this is a way to use the constitutive_nonlocal model as a local dislocation based model)
2011-01-11 14:55:36 +00:00
Martin Diehl
ccc6aac10b
did not delete mpie_spectral2.f90 properly
2011-01-07 13:11:32 +00:00
Martin Diehl
71fb5eedf2
changed makefile: material subroutines are now compiled using openmp, enabled linux threads for fftw3 (also did some slight changes to enable that in the fortran source code)
...
renamed mpie_spectral2.f90 to mpie_spectral2d.f90 (testing file, not properly working at the moment)
changed file extension and variable names in mpie_spectral.f90 and mpie_spectral_interface.f90 from "mesh" to "geom". Removed direct output from mpie_spectral.f90, all output is now base on materialpoint_results(:,1,:)
2011-01-07 12:56:45 +00:00
Franz Roters
9447330ab0
ATTENTION repository has been moved to new server!
...
Now at musvn1:/home/svn/repos/cpfem
2011-01-05 16:11:51 +00:00
Franz Roters
096a4803b0
some polishing concerning openMP initialization
...
number of threads is now written to *.out file
2010-12-02 11:04:29 +00:00
Denny Tjahjanto
36f27edd75
1. Adding more comments
...
2. Changing 'subroutine' into 'function' for optimizing the computation time
2010-11-26 11:50:20 +00:00
Christoph Kords
6b199e7830
allow 2digit values to be read in for MPIE_NUM_THREADS
2010-11-25 10:34:55 +00:00
Christoph Kords
ea6a6c9503
* environment variable MPIE_NUM_THREADS now determines number of threads used in parallel regions
...
* default value of the OMP_NUM_THREADS variable has to be restored at the end of mpie subroutine, since marc also seems to use and change(!) this
* usage: "export MPIE_NUM_THREADS=<number of threads>" to set variable in shell, then restart mentat and compile with option 3 (at the moment this does only work on ws 6, since all other workstations use compiler option "-save"; this puts all local variables by default in static memory, which is a killer for parallelization!)
2010-11-19 17:45:27 +00:00
Christoph Kords
b9b226548c
* enclose wall time measurement for LpAndItsTangent and count of leapfrogbreaks by CRITICAL construct
...
* better use SINGLE (having an implicit barrier at the end) instead of MASTER construct
* deleted all explicit BARRIERs after do loops since parallel loop construct implies barrier at the end
2010-11-19 17:29:29 +00:00
Christoph Kords
15728d3305
enclose wall time measurement for dotState and dotTemperature function by CRITICAL construct
2010-11-19 17:19:03 +00:00
Christoph Kords
4f267f4375
parallelization now works properly (not yet tested extensively though):
...
* had to add some BARRIER constructs
* only the master thread is allowed to increase the state counter
yet parallelization seems not to give a significant decrease in calculation time with nonlocal model (because of too many CRITICAL statements?)
2010-11-11 16:16:05 +00:00
Christoph Kords
14594dc9e2
* OpenMP does not like unbounded array subscripts in function calls
...
* some write statements were still not enclosed by CRITICAL construct, some needed a MASTER construct
2010-11-11 13:14:53 +00:00
Christoph Kords
bca951325d
* cpfem will now produce a warning if all components of the stiffness tensor are close to zero
2010-11-04 18:18:01 +00:00
Philip Eisenlohr
54748bb6a5
cycleCounter reset was 0 now -1 ==> occurence of jacobian calculation is now correct, i.e. always calc at start of new increment
2010-11-04 18:15:50 +00:00
Christoph Kords
405d5529e7
* checked and corrected parallelization of code. compiles now successfully, but simply aborts computation with first parallel directive without any comment :-(((
...
* also put a call to constitutive_microstructure at the start of each crystallite_integration subroutine like it was before. need that for nonlocal model in case of crystallite cutback
2010-11-03 17:22:48 +00:00
Philip Eisenlohr
0dd99cb965
lattice: (re)introduced _symmetryType function to replace unsafe lookup array
...
numerics: polishing
mpie_cpfem_marc: polishing
..powerlaw: aware of symmetryType function
crystallite: aware of symmetryType function, smaller leapfrog acceleration
IO: new warning 101
CPFEM: range of odd stress is now -1e15...+1e15, H_sym is used for stiffness
2010-11-03 14:58:11 +00:00
Denny Tjahjanto
763c20b302
Introducing the capability to restart jobs that crashed in the middle of sims. At the moment, this feature is exclusive for Marc.
...
Major changes:
CPFEM.f90 =>
1. Moving the initialization out of CPFEM_general into a separate subroutine, which is directly called by the hypela2 (Beware, the Abaqus version must also be modified in order to adapt with this change).
2. Restore primary state variables in CPFEM_init from binary files when requested (Marc flag: restart read).
3. Writing primary state variables into binary files (Marc flag: restart write).
FEsolving.f90 =>
1. Adding functions to recognize Marc restart flags: read and write and the corresponding restart file (parent job).
2. Change the initial value of cycleCounter = -1 in conjuction with the change made the ping-pong scheme
homogenization_RGC.f90 =>
1. Just syntax polishing.
IO.f90 =>
1. Adding functions/subroutines to open binary files for writing the primary state variables for restart purpose.
mpie_cpfem_marc.f90
1. Modification of the general scheme for collection and calculation in order to accommodate the newly added restart feature.
2010-11-03 14:39:18 +00:00
Christoph Kords
4c20daa00d
state loop count was wrong for adaptive euler integration
2010-10-28 12:22:17 +00:00
Martin Diehl
17812c1f9e
added raw output, gmsh output is still included
2010-10-27 17:15:49 +00:00
Christoph Kords
9320d48305
in RKCK45 state integration: dotState was not saved in last Runge-Kutta step
2010-10-27 08:48:04 +00:00
Christoph Kords
f5f3ef5ecc
* have to reset dotState to zero before call to collectDotState (only important for nonlocal calculation)
...
* in Fixed Point Iteration: update dependent states after state preguess was missing; on the other hand, the first call to constitutive_microstructure was obsolete
2010-10-26 14:04:33 +00:00
Christoph Kords
4439282239
no change to previous version, just forget to mention one important change of the last revision:
...
* fluxes are now again calculated and distributed only! by the originating material point. this means that the central MP might change the dotState of its neighbor. have to see whether locks slow down parallel computation
2010-10-26 13:49:58 +00:00
Christoph Kords
62d06001ea
* corrected compatibility for screws (always positive)
...
* detection of grain boundary in constitutive_nonlocal_microstructure with the help of transmissivity
* enforce positive densities in constitutive_nonlocal_microstructure (needed because dotState does not create cutbacks for negative densities anymore)
* reset single mobile densities below certain threshold to zero (also done in constitutive_nonlocal_microstructure)
* constitutive_nonlocal_kinetics only gets local state variable as input, no need for the entire array here
* dv_dtau is always positive
* multiplication is only active when there is already some initial density of the respective type
2010-10-26 13:42:18 +00:00
Christoph Kords
366d52bd71
* former "relevantRho" and "relevantResistance" is renamed to "atol_rho" and "atol_resistance" and now used as an absolute tolerance for the state residuum. before it was used rather as significant state, so whenever the state dropped below that value it was considered converged. (In dislotwin and titanmod constitutive law there is only one value atol_rho which is used for all the states, though the state array consists not only of densities. We need further parameters here!)
...
* somewhat simplified convergence check for adaptive euler and runge-kutta
2010-10-26 13:16:37 +00:00