Commit Graph

1534 Commits

Author SHA1 Message Date
Martin Diehl de26e41684 some first steps to support debugging with the PGI compiler
norm2 and sum for initialization are not supported yet, need fixes
2019-02-09 15:02:07 +00:00
Martin Diehl 8167f09ec6 using functions as far as possible 2019-02-09 12:01:31 +01:00
Martin Diehl 5d9c3fcf27 finalize for write 2019-02-09 09:44:41 +01:00
Martin Diehl 73749dd788 merged also finalization 2019-02-09 09:38:49 +01:00
Martin Diehl d934f2b141 also modularize write 2019-02-09 09:03:31 +01:00
Martin Diehl c668260c37 avoiding code duplication 2019-02-09 08:05:29 +01:00
Martin Diehl 36662f8419 more generic formulation (works for all dimensions) 2019-02-09 07:50:33 +01:00
Martin Diehl 542ab946cc [skip ci] not needed 2019-02-04 19:05:02 +01:00
Martin Diehl 3f61c97ded don't support non-DAMASK materials 2019-02-04 18:58:36 +01:00
Martin Diehl 453f4556e5 bracket was missing 2019-02-04 00:12:27 +01:00
Martin Diehl 5320803842 bugfix: valid range for unit quaternion range is [-1,+1] 2019-02-04 00:06:38 +01:00
Martin Diehl a57aa7985a wrong name 2019-02-03 18:11:16 +01:00
Martin Diehl 59dd9b16e1 cleaning 2019-02-03 16:40:15 +01:00
Martin Diehl b0b1ea3b84 input argument not needed any more 2019-02-03 14:23:32 +01:00
Martin Diehl ec23fca057 it's a property of the element, not of the mesh 2019-02-03 14:22:06 +01:00
Martin Diehl 2d0c74d7d9 implicit dependencies made explicit 2019-02-03 14:22:06 +01:00
Martin Diehl 2aba6faf40 cleaning and making dependencies clear 2019-02-03 14:22:06 +01:00
Martin Diehl 91992debf2 Marc now works also with the module
reason, why it did NOT work earlier still not clear
2019-02-03 13:30:04 +01:00
Martin Diehl b9f93d5460 is now a subfunction 2019-02-03 11:22:23 +01:00
Martin Diehl d605adc92e avoid the use of global variables to make dependencies clear 2019-02-03 11:12:23 +01:00
Martin Diehl f45ba0ff5b functions specific for MSC.Marc and/or Abaqus
these functions are very specific for the input files and might be
better located in the respective mesh module
2019-02-03 08:27:20 +01:00
Martin Diehl 2c7553653b only used by MSC.Marc 2019-02-03 08:11:19 +01:00
Martin Diehl 40ad1aef2f was not used 2019-02-03 08:07:58 +01:00
Martin Diehl a92937a7e3 grid does reading in of geometry independently 2019-02-03 08:06:53 +01:00
Martin Diehl 1eb30f3ae7 re-ordered according to calling sequence 2019-02-02 20:49:15 +01:00
Martin Diehl bb135463c4 using data from theMesh instead of local variables 2019-02-02 20:45:19 +01:00
Martin Diehl 35c37ef9dc forgotten format specifier 2019-02-02 17:39:31 +01:00
Martin Diehl abedb5c3db ordered according to calling sequence 2019-02-02 17:24:18 +01:00
Martin Diehl 16cb9ebed9 no need to read homogenization info extra
but currently, it is not very elegant
2019-02-02 17:24:18 +01:00
Martin Diehl d51a379376 avoid jump labels 2019-02-02 17:24:18 +01:00
Martin Diehl 819ec40b44 clearer order:
1) parse file
2) set up element
3) set up mesh
2019-02-02 17:24:18 +01:00
Martin Diehl 07cca77fce left over jump marks 2019-02-02 17:19:12 +01:00
Martin Diehl 3edbfc1cb5 bugfix:
infinite loop for geom file without new line at end
also, a lot of cleaning
2019-02-02 15:10:35 +01:00
Martin Diehl 933136ec1e nNodes form element is used already 2019-02-02 13:10:21 +01:00
Martin Diehl b514bf78a5 avoiding duplicated variables 2019-02-02 12:31:07 +01:00
Martin Diehl 4f2a3d7f55 unused variables 2019-02-02 12:23:53 +01:00
Martin Diehl dcd16dda70 variables from mesh object 2019-02-02 12:15:05 +01:00
Martin Diehl 326cbd0398 Merge branch 'development' into 53-separate-mesh-for-different-solvers-3 2019-02-02 11:52:06 +01:00
Martin Diehl 8962635136 use new elem/mesh variables 2019-02-02 11:50:07 +01:00
Martin Diehl 94a24e45ee bugfixes:
theMesh%Nelems need to be set (using an intermediate function until a
routine does that)
spectral.geom file can have "N+n to N" (backwards counting)
2019-02-02 11:46:38 +01:00
Martin Diehl 3a5a50cb03 use variables from theMesh 2019-02-02 10:53:55 +01:00
Martin Diehl 7a8d98d135 using theMesh (object oriented mesh description) 2019-02-02 10:35:10 +01:00
Martin Diehl f0b5b9fd59 unused variable 2019-02-02 10:34:38 +01:00
Martin Diehl e17278a926 using new mesh structure (initial test) 2019-02-02 10:11:18 +01:00
Martin Diehl 9975048f29 better avoid jump marks: Abaqus, Part 2 2019-02-02 09:56:11 +01:00
Martin Diehl 5810dce618 better avoid jump marks 2019-02-02 09:29:58 +01:00
Martin Diehl 4a28284058 only parse geom file once 2019-02-02 09:18:01 +01:00
Martin Diehl 3d750e7933 overwriting of init did not work 2019-02-01 21:56:38 +01:00
Martin Diehl 9a4e9e62b6 using new rotation class 2019-02-01 20:28:51 +01:00
Martin Diehl 08009079ff avoiding numerical errors (if quaternion norm is > 1.)
use consistently "self" instead of "this"
function for misorientation
2019-02-01 20:27:29 +01:00
Martin Diehl feb87c7db8 same name as in the python module 2019-02-01 19:09:17 +01:00
Martin Diehl 407f94082f no need for orientation class at the moment
implement only if we need symmetry aware operations
2019-02-01 16:52:42 +01:00
Martin Diehl 8e0556fe3e [skip ci] nicer reporting 2019-02-01 12:43:14 +01:00
Martin Diehl 614a8d694c re-implement mesh reporting later on in mesh_base 2019-02-01 12:28:18 +01:00
Martin Diehl 5f8b110f63 initialize mesh and element 2019-02-01 12:24:23 +01:00
Martin Diehl b87a09a466 not needed 2019-02-01 11:22:06 +01:00
Martin Diehl 06f67ce500 orientations module was not compiled but is needed now 2019-02-01 10:24:10 +01:00
Martin Diehl 11a509970b some comments 2019-02-01 10:17:20 +01:00
Martin Diehl 9d25d677e6 using new orientation class
not sure if transpose is needed for initialization
2019-02-01 10:11:46 +01:00
Martin Diehl 53a95ea84f cleaned and documented 2019-02-01 10:01:54 +01:00
Martin Diehl 17a682e883 P/epsijk parameter has nothing to do with precision 2019-02-01 08:53:57 +01:00
Martin Diehl 8a2689da0a documentation was for a lot of things that are not in here
setting constants without truncation
2019-02-01 08:52:38 +01:00
Martin Diehl a260bd2d2b Merge branch 'development' into 10-consistent-orientation-conversions 2019-02-01 07:33:52 +01:00
Martin Diehl 721af0a9a9 plastic_nonlocal still has confusing state handling 2019-02-01 07:06:19 +01:00
Martin Diehl b9c834f86a missing use from IO 2019-01-31 17:01:26 +01:00
Martin Diehl ccb320fa6e central function for less depencies 2019-01-31 14:00:26 +01:00
Martin Diehl a3e61c82dc Merge branch 'development' into 32_NewStyleNonlocal-3 2019-01-31 12:42:35 +01:00
Martin Diehl bcd9908a88 all variables/functions were not used 2019-01-31 12:23:23 +01:00
Martin Diehl fbd8912237 Merge branch 'development' into 53-separate-mesh-for-different-solvers-3 2019-01-31 11:41:45 +01:00
Martin Diehl 6b66563be7 Merge branch '46-simplification-of-crystallite-f90-NEW5' into development 2019-01-31 11:40:23 +01:00
Martin Diehl 615b166992 removed unused stuff 2019-01-31 11:39:28 +01:00
Martin Diehl beb0ca01eb define functions where needed
only use solver specific element names
2019-01-31 11:29:56 +01:00
Martin Diehl aabd98bee9 no need to repeat the same code 2019-01-31 09:14:02 +01:00
Martin Diehl cbeb3dcff0 use the same formulation for convergence every where 2019-01-31 09:12:44 +01:00
Martin Diehl 5eaeb37ea4 just polishing 2019-01-31 06:04:49 +01:00
Martin Diehl 3b13a1af63 calculated convergence criteria wrongly 2019-01-30 17:04:58 +01:00
Martin Diehl e1c2747393 logic error for nonlocal 2019-01-30 16:06:14 +01:00
Martin Diehl fe88e5bf9c [skip ci] cleaning 2019-01-30 14:52:12 +01:00
Martin Diehl 1d88057ce4 avoid superflous variables 2019-01-30 13:24:35 +01:00
Martin Diehl 64b89484d2 logic better visible 2019-01-30 13:19:05 +01:00
Martin Diehl 39e766bba0 improved readability 2019-01-30 12:36:02 +01:00
Martin Diehl 3dd21177a0 no need to store relative residual pointwise 2019-01-30 11:28:41 +01:00
Martin Diehl fd069a96cd unifying name 2019-01-30 10:51:24 +01:00
Martin Diehl 4ec0fd70a2 only one variable needed 2019-01-30 10:48:59 +01:00
Martin Diehl 0876787e3c avoid loops 2019-01-30 10:46:53 +01:00
Martin Diehl 72c4f2b25f same names everywhere if possible 2019-01-30 10:37:18 +01:00
Martin Diehl 0745d7ebc2 convergence flag is set only later 2019-01-30 10:33:57 +01:00
Martin Diehl 46be595ea8 no need to store relative residual for all points 2019-01-30 10:28:47 +01:00
Martin Diehl 31906e3ebd no need for 2 loops 2019-01-30 09:21:50 +01:00
Martin Diehl df6ec59f76 use "s" for source 2019-01-30 09:21:50 +01:00
Martin Diehl ca7c105f36 only one loop needed 2019-01-30 09:21:50 +01:00
Martin Diehl 462b1b7c18 sorted according to importance 2019-01-30 06:47:36 +01:00
Martin Diehl 5908e3fd34 wrong tolerance selection 2019-01-30 06:44:26 +01:00
Martin Diehl 370b23d5da Merge branch '46-simplification-of-crystallite-f90-NEW5' into development 2019-01-30 06:29:41 +01:00
Martin Diehl 77f1f45c23 just figured out that RK4 integrator is totally broken
readable code helps ;)
2019-01-30 00:17:04 +01:00
Martin Diehl a09036ff48 on-the-fly initialization 2019-01-30 00:11:10 +01:00
Martin Diehl 1a66f976b7 common variable name 2019-01-30 00:01:40 +01:00
Martin Diehl 6a3dac1df2 still improving readability 2019-01-29 23:45:41 +01:00
Martin Diehl bdd193fbd7 now readable (kind of) 2019-01-29 23:31:26 +01:00
Martin Diehl eade54a68f consistent variable names 2019-01-29 23:04:50 +01:00
Martin Diehl 1408d66c0c s is used for source 2019-01-29 23:02:59 +01:00
Martin Diehl 0be05b3ee1 one variable is enough 2019-01-29 22:46:21 +01:00
Martin Diehl b4afc303be clearer logic 2019-01-29 22:40:18 +01:00
Martin Diehl 73f39136c4 taking over from old branch 2019-01-29 22:19:38 +01:00
Martin Diehl 38d8e429ff layout adjustments 2019-01-29 22:07:31 +01:00
Philip Eisenlohr 27b034eb76 fixed bug in recursiveRead that failed to properly {include} in the last line of a file 2019-01-29 12:32:11 -05:00
Martin Diehl 066c598203 wrong dot product in state damper 2019-01-29 10:52:00 +01:00
Martin Diehl 34f3c15552 no need for temp variables 2019-01-29 07:24:06 +01:00
Martin Diehl 41832fb554 no need for two variables
only resulted in confusing code
2019-01-29 07:24:06 +01:00
Martin Diehl a24d8b86bf convergence of plastic state can be done earlier 2019-01-29 07:24:06 +01:00
Martin Diehl 4a69032637 better readable 2019-01-29 07:24:06 +01:00
Martin Diehl 1e4da6fbdb nonlocal convergence check in function 2019-01-29 07:24:06 +01:00
Martin Diehl 3fdf8e19bb further simplifications 2019-01-29 07:24:06 +01:00
Martin Diehl 4967ac0132 need to check for significant stress only once 2019-01-29 07:22:56 +01:00
Martin Diehl 9892da717a bugfix: missing initialization 2019-01-29 07:06:16 +01:00
Martin Diehl c10922de2b vector notation easier to read 2019-01-29 07:06:01 +01:00
Martin Diehl a46b4a52a8 sanity checks in more sensible order 2019-01-29 06:41:27 +01:00
Martin Diehl 918860ab38 easier to store atomic volume instead of scaling factor 2019-01-29 06:14:58 +01:00
Martin Diehl ee586dfa0c avoid code duplication 2019-01-29 00:46:57 +01:00
Martin Diehl 2cf44f4060 shorter 2019-01-29 00:39:44 +01:00
Martin Diehl 2f9a571b96 no need for 2 variables 2019-01-29 00:38:18 +01:00
Martin Diehl b62232022b polishing 2019-01-29 00:27:58 +01:00
Martin Diehl cd3cbf473c Merge remote-tracking branch 'origin/46-simplification-of-crystallite-f90-NEW5' into development 2019-01-29 00:18:46 +01:00
Martin Diehl 346561beed fixed dependencies 2019-01-28 18:46:47 +01:00
Franz Roters 8a2524b5d2 requiredShape outdated: use requiredSize 2019-01-28 15:56:05 +01:00
Franz Roters cf3efaaa02 Merge remote-tracking branch 'remotes/origin/42-new-coding-style-for-homogenization-NEW' into development 2019-01-28 15:51:34 +01:00
navyanthkusam 09dc1041a5 variable attributes adjusted
compiles now
2019-01-28 14:36:44 +01:00
navyanthkusam 848a81fd39 :Merge branch '53-separate-mesh-for-different-solvers-3' of magit1.mpie.de:damask/DAMASK into 53-separate-mesh-for-different-solvers-3 2019-01-28 14:25:16 +01:00
navyanthkusam 5101a3796f tMesh_abaqus object extends tMesh
Functionality seperated for mesh_abaqus
2019-01-28 13:59:54 +01:00
navyanthkusam 3ebc0c2e37 tMesh_marc object extends tMesh
Functionality seperated for mesh_marc
2019-01-28 13:53:44 +01:00
Martin Diehl 9260af2eaa Merge branch 'development' into 53-separate-mesh-for-different-solvers-3 2019-01-28 12:53:09 +01:00
Martin Diehl ab93a86b3e initialize element where defined 2019-01-28 12:52:28 +01:00
Martin Diehl 95cb404f81 further cleaning 2019-01-28 11:49:24 +01:00
Martin Diehl 8c2d6400b1 cleaning 2019-01-28 11:28:46 +01:00
Martin Diehl ef06e7c4fd cleaning 2019-01-27 23:36:34 +01:00
Martin Diehl 3fb99b06ca avoid calculation in output routine 2019-01-27 22:13:45 +01:00
Martin Diehl 35972fbb8e output would need to be store on demand 2019-01-27 22:12:27 +01:00
Martin Diehl 6983718685 dst for "dependentState" 2019-01-27 22:08:36 +01:00
Martin Diehl 5630b38962 stress induced transformation was never really implemented 2019-01-27 22:06:08 +01:00
Martin Diehl 4b3efac4e5 simplified 2019-01-27 19:44:53 +01:00
Martin Diehl 5903e19e18 signature as in disloUCLA 2019-01-27 16:59:44 +01:00
Martin Diehl 3fcb7d72c8 shortened 2019-01-27 16:39:36 +01:00
Martin Diehl 3843bf599c removed
- accumulatedshear_twin: linearly depends on twin volume fraction
- output of further derived quantities
2019-01-27 15:14:50 +01:00
Martin Diehl aecb5f20bf shortened 2019-01-27 12:18:42 +01:00
Martin Diehl 8c18b29420 mutual unification 2019-01-27 11:37:50 +01:00
Martin Diehl fc9e80b3c2 using real name, not compatibility aliases 2019-01-27 10:48:27 +01:00
Martin Diehl 7484849b22 Merge remote-tracking branch 'origin/development' into 42-new-coding-style-for-homogenization-NEW 2019-01-27 08:44:46 +01:00
Martin Diehl 4b2da52e87 following example of disloUCLA 2019-01-27 08:35:07 +01:00
Martin Diehl 3b5a6b2877 have internal functions at the end of the module 2019-01-27 08:17:08 +01:00
Martin Diehl e9c1299a30 requiredShape makes no sense
the return value is always a 1D array, only its size might change
2019-01-26 09:02:44 +01:00
Martin Diehl e9087f83fe small improvements
checking size of arguments (not shape)
length of lattice structure not limited to 3 any more
2019-01-25 14:01:17 +01:00
Martin Diehl 99ef353446 more sanity checks
structure string can be now of arbitrary length (technically)
only fcc,hex,bcc,bct,ort are accepted labels
2019-01-25 13:42:38 +01:00
Martin Diehl f2882f195a fuction for convergence check
avoid code repetition
2019-01-25 07:20:05 +01:00
Martin Diehl 7f6408966b Merge branch '46-simplification-of-crystallite-f90-NEW5' into development 2019-01-25 06:49:43 +01:00
Satya Gupta 1c4dc2e05f material_allocatePlasticState now takes care of setting offsetDeltaState 2019-01-24 19:18:11 -05:00
Martin Diehl 42cc9b8d2b dependency was missing 2019-01-25 00:15:46 +01:00
Martin Diehl 13f66c9ca0 Merge branch '44-column-major-access-to-interaction-matrices' into 'development'
Resolve "column-major access to interaction matrices"

See merge request damask/DAMASK!55
2019-01-24 23:14:16 +01:00
Martin Diehl f4fef6448d stress integration for all points in one function 2019-01-24 17:59:38 +01:00
Martin Diehl 5c2020c3b4 initialize element 2019-01-24 16:17:20 +01:00
Martin Diehl 7d3ae1673f not needed 2019-01-24 16:16:41 +01:00
Martin Diehl cda85b0d2d might be needed somewhere 2019-01-24 15:51:03 +01:00
Martin Diehl 738114bc27 clean and initialize element 2019-01-24 15:19:17 +01:00
Martin Diehl 7e039dff67 verbose initialization 2019-01-24 15:18:53 +01:00
Martin Diehl 8f106ca8c4 base class for mesh
no functions defined yet, only common variables
2019-01-24 14:53:23 +01:00
Martin Diehl fcdab21565 avoid flush of full array
more clear logic
2019-01-24 14:15:26 +01:00
Martin Diehl 30dc8b4831 delta state update for all points
replaced stateJump, which works only on one point
2019-01-24 11:33:04 +01:00
Martin Diehl badf9e9cca object oriented element definitions 2019-01-24 10:24:10 +01:00
Martin Diehl 55845d222d function was removed 2019-01-24 10:13:40 +01:00
Martin Diehl f6cd37f11a removing non-grid(spectral) related functionality 2019-01-24 10:12:27 +01:00
Martin Diehl 012759d036 remove non-marc specific code 2019-01-24 10:04:43 +01:00
Martin Diehl 612fa31188 preparing solver-specific mesh functionality 2019-01-24 09:52:18 +01:00
Martin Diehl 558a610df1 underscore for separation 2019-01-24 09:49:21 +01:00
Martin Diehl c3b48c3484 WIP: update_deltaState 2019-01-24 07:34:30 +01:00
Martin Diehl a8a5c8eec0 preparing function for deltaState
essential a "stateJump" over all points
2019-01-24 07:12:20 +01:00
Martin Diehl a458dc831b prepare for consistent use of full tensor representation 2019-01-24 06:56:43 +01:00
Martin Diehl 1cccd761cd variables were not used 2019-01-23 23:18:14 +01:00
Martin Diehl ae931c49a1 more "building block" separation 2019-01-23 23:02:21 +01:00
Martin Diehl c60bb2edd3 function for update of dependent state
not introduced everywhere
2019-01-23 18:04:19 +01:00
Martin Diehl 0a6bcadafe using a function for state update
avoids a lot of code repetition
2019-01-23 11:51:43 +01:00
Martin Diehl b1522b1b9d common function to update dot state 2019-01-23 06:14:19 +01:00
Martin Diehl ac9d49f6be state = subState0 + doState * dt
this is the usual state update used in all other integrators. also
in-line with logic in crystallite_stress
2019-01-22 23:23:48 +01:00
Martin Diehl 443519be72 cleaning
no reason to assume that the math functions are not thread safe
2019-01-19 10:02:04 +01:00
Martin Diehl 1be4426dc5 not needed 2019-01-19 09:54:37 +01:00
Martin Diehl 6fe099b978 [skip ci] re-ordered functions
internal/private functions at the end
2019-01-19 09:35:45 +01:00
Martin Diehl 30f28c9f4e do concurrent causes problems on some Intel compilers
use forall instead.
Mandel/Plain prefixes not needed any more
2019-01-18 23:20:44 +01:00
Martin Diehl 695b331db0 takeover from old 46-XXX branch 2019-01-18 23:09:46 +01:00
Martin Diehl 221c587362 using separate functions for stress and tangent
extensively tested in 46-simplification-of-crystallite-f90-NEW3 already
2019-01-18 15:30:50 +01:00
Martin Diehl 406a2cc542 further separation
still using old combined function
2019-01-18 14:42:44 +01:00
Martin Diehl e433aea193 preparing for separation of stress calculation and tangent calculatin 2019-01-18 12:18:13 +01:00
Philip Eisenlohr f81c25bb58 [skip ci] allow strain softening in phenopowerlaw, i.e. xi_sat might be less than xi_0 2019-01-17 17:51:38 -05:00
Martin Diehl 11e0297bf6 Merge branch '46-simplification-of-crystallite-f90-NEW4' into development 2019-01-16 15:33:14 +01:00
Martin Diehl c39b642a7d Merge remote-tracking branch 'origin/46-simplification-of-crystallite-f90-NEW4' into development 2019-01-16 08:36:59 +01:00
Martin Diehl 854afb7107 removed on output too much 2019-01-15 15:54:05 +01:00
Martin Diehl c231c808da Merge branch 'tensor-conversion-rename' into development 2019-01-15 11:43:45 +01:00
Martin Diehl 6049e292c1 no need to store converged tangent 2019-01-15 08:04:50 +01:00
Martin Diehl 80dca6d304 also not needed
was a remainder from time syncinc
2019-01-15 07:52:01 +01:00
Martin Diehl efb07e0b93 only output direct quantities
derived quantities can be easily calculated during post processing
2019-01-15 04:55:40 +01:00
Martin Diehl daaa7cc2ba internal (private) functions at the end
ordered state integrators according to their id
2019-01-15 04:27:57 +01:00
Martin Diehl 54bb6a5eb6 more verbose name
credits to Franz
2019-01-14 16:36:08 +01:00
Martin Diehl 43f9d043d2 removed time syncing 2019-01-14 12:56:46 +01:00