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
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
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
Franz Roters
02f092492e
updated copyright header
2013-03-22 17:35:05 +00:00
Pratheek Shanthraj
07ff1f7c93
reporting current time for most module inits
2013-02-25 16:34:59 +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
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
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
Philip Eisenlohr
32a416e298
fixed memory leak associated to accumulated shear storage.
2013-02-08 13:33:25 +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
Martin Diehl
6cd6172c0c
fixed bug in dotState causing strange hardening for certain parameters
2013-02-01 15:44:50 +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
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
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
19d86ca06a
removed unnecsessary omp statements, removed one transpose in constitutitve
2013-01-08 11:09:20 +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
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
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
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
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
4d09ef0648
changed variable name "debug_what" to "debug_level"
2012-07-05 09:54:50 +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
Martin Diehl
9a92d343dc
added Onurs modified description for tausat in j2 law.
...
Polishing phenopowerlaw
2012-04-11 14:01:02 +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
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
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
79663a7f76
polishing: adding pInt, removing unused use-statements etc
2012-02-21 16:00:00 +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
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
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
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
Franz Roters
515986c4d6
renamed w0 and w0_slip to a and a_slip
2011-11-23 14:48:39 +00:00
Martin Diehl
9d3f74ce5f
polishing
2011-10-18 14:46:07 +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
Franz Roters
7d84a0911e
removed unused variables
2011-04-13 14:16:22 +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
Franz Roters
fcdb805225
added copyright text to all f90 (free) format files
2011-04-04 14:09:54 +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
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
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
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