Commit Graph

136 Commits

Author SHA1 Message Date
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
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
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
Martin Diehl a6d1e5c911 now deleted old _single files 2011-02-25 12:49:18 +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 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 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
Martin Diehl 9927cd7adb changed format of resolution. instead of reading exponent of two, now the number given equals directly to the number of FPs. Allows us to use arbitrary number of FPs.
example:
OLD: reading 5 results in 2^5=32 FPs
NEW: reading 33 results in 33 FPs
2010-10-01 10:42:15 +00:00
Philip Eisenlohr b259fbd9c6 1) added distribution of leapfrog breaks
2) lattice_symmetryType is now a function (former lookup array was buggy)
3) stricter check of state var values (>0!) and memory deallocation done
2010-09-30 07:31:53 +00:00
Christoph Kords 7d4c7f7fa7 corrected bug in debug: stressloop info was erroneous
mesh init now showing much more ip statistics in verbose mode
2010-09-07 09:06:02 +00:00
Philip Eisenlohr bb9899e7de 1) added element type 57 (C3D20R) reduced quadratic hexahedral
2) need discussion about the present omission of the FE_nodesAtIP for type 8 --> added comment into source code
2010-08-16 22:53:24 +00:00
Philip Eisenlohr 298cecbfec corrected syntax errors (long lines, line continuation by \) and logical mistake in mpie_cpfem_marc / abq_std which went unnoticed in ifort. Using SunStudio f90 surfaced those... 2010-08-03 23:47:00 +00:00
Philip Eisenlohr 4d110126da adopted improvements done by Arun Prakash.
mesh:
elemType identification based on lower case
Abaqus now reports more errors

IO:
new function to inquire whether inputfile contains "parts"
new function to assemble multiply included inputfile into a flat one
awareness of range generation in element numbers
error reporting
2010-07-13 10:26:07 +00:00
Martin Diehl 661bb97800 corrected some problems in building mesh 2010-07-01 15:20:39 +00:00
Philip Eisenlohr 8ea52ac495 mpie_spectral now can read loadcase data
adapted error codes
2010-06-10 14:51:10 +00:00
Christoph Kords 19b6fae88b added a missing exclamation mark in front of an $OMP directive 2010-05-18 08:07:55 +00:00
Franz Roters 483584ceb3 improved version of general I/O functions
renamed module cpfem_interface to mpie_interface
2010-05-11 06:57:15 +00:00
Philip Eisenlohr 0416c9a616 reworked build_ipNeighborhood
added C3D8R reduced integration hexahedral element
2010-05-10 14:54:59 +00:00
Philip Eisenlohr 97f206d0bc new errors regarding Spectral method input file parsing
mesh setup from Spectral input file
$Id$ in FEsolving activated
2010-05-06 16:40:47 +00:00
Franz Roters e8719cb6b8 Table driven input works wirh 2010!
That leaves DDM to do for tomorrow ;-)
2010-04-29 09:43:31 +00:00
Christoph Kords 1730a90e12 corrected ip numbers in FE_ipNeighbor for element type 21; used to get wrong neighborhood for this element type 2010-04-06 11:45:23 +00:00
Denny Tjahjanto 40b1478dac the latest RGC model + corrections for "element homogeneous" feature 2010-03-24 13:20:12 +00:00
Philip Eisenlohr c3cd75c2c2 small polishing 2010-02-18 10:12:45 +00:00
Franz Roters 9c63005c8f allow for longer pathes when openening files
corrected error messages concerning file openening
2010-02-18 08:29:57 +00:00
Christoph Kords ac080e0b52 corrected small mistake in calculation for ip center of gravity / ip coordinates; used to ignore subnodes that had coordinates (0.0, 0.0, 0.0) 2009-12-22 13:23:20 +00:00
Philip Eisenlohr 7f84961c93 less debug clutter... 2009-10-14 13:23:52 +00:00
Philip Eisenlohr 21cad32137 # new interface for Abaqus
# IO has some additional functionality for Abaqus parsing
# ping pong scheme in FE interface now similar (and more human understandable) in both versions
# mesh has better splitting of different tasks, plus operation on database whenever possible
# FEsolver as new global var to indicate FEM solver type
# computation mode reshuffling: 6 is now Marc special case of recycling...
2009-10-12 16:01:49 +00:00
Christoph Kords 4ff497e5ba mesh_build_sharedElems does not need an input argument anymore 2009-10-08 09:23:15 +00:00
Philip Eisenlohr e7247551f0 changed "build_sharedElements" to use (then existing) internal element data structure instead of reading again from the input file. The data structure is already established by "build_elements"... 2009-10-08 09:01:59 +00:00
Franz Roters 2029b23f98 added version information to all files
do NOT edit text like this:
$Id: constitutive_phenopowerlaw.f90 406 2009-08-31 14:13:10Z MPIE\f.roters $
2009-08-31 15:09:15 +00:00
Christoph Kords 2aae7b7574 added dislocation multiplication to dotState in constitutive_nonlocal.f90
cleaned up debugging output statements to *.out file
2009-08-12 11:22:02 +00:00
Christoph Kords 8ed3ddc03b now with first draft of nonlocal constitutive law
debugging memory leak closed
debugging counters corrected

center of gravity stored in mesh

state updated is now split into a collecting loop and an execution

updateState and updateTemperature fill sequentially separate logicals and evaluate afterwards to converged

added 3x3 transposition function, norm for 3x1 matrix and 33x3 matrix multiplication in math

non-converged crystallite triggers materialpoint cutback (used to respond elastically)

non-converged materialpoint raises terminal illness which in turn renders whole FE increment useless by means of odd stress/stiffness and thus waits for FE cutback
2009-08-11 16:31:57 +00:00
Franz Roters a6ccfe2e44 restructured the repository: renamed trunk into code, moved documentation one directory up, therefore you can now checkout either code or documentation only if you like 2009-06-25 07:17:59 +00:00