Homec4science

fixed pull-back for MaterialHyperElastoPlastic1

Authored by junge on Mon, Jan 7, 16:46.

Description

fixed pull-back for MaterialHyperElastoPlastic1

Summary:
Initializing before starting plastic slip rates loop

started rotator addition

dummy rotator implementation (not yet functional)

Initialized implementation of plastic slip rate loop

Merge branch 'master' into feat/crystal_plasticity_finite

Merge branch 'master' into feat/crystal_plasticity_finite

started working on resolved shear stress update

Finished plastic slip loop, started implementing consistent tangent

Finished very first version of fft crystal plasticity code !!!

Merge branch 'master' into feat/crystal_plasticity_finite

rotator checks partly out

rotator works for default ZXYTaitBryan rotation order

Fixed clang memory bug

returning an eigen expression in clang results in uninitialised return value

Made MaterialCrystalPlasticityFinite compile. No tests yet

started stub of tests

added accumulation of plastic slip γᵅ

writing tests for MaterialCrystalPlasticityFinite

Elastic tangent for crystal plasticity wrong

intermediate state

Elastic part of CP fully tested now

Fixed alignment bug for material crystal plasticity

Modified MaterialCrystalPlasticityFinite for single slip system

Functional python binding for crystal plasticity, not yet tested

debugging stress-strain curve

still debugging

plots to discuss with francesco

Crystal plasticity stress behaviour is correct, however,

Tests still in notebook, not yet in test suite

Checks for saturation values for stress added

Use of MaterialCrystalPlasticityFinite seems now safe when only
stresses are required (not tangents)

Intermediate state, debugging numerical tangent computations

intermediate debugging

Numerical tangent computations functional and tested

Tests for tangents in place, but tangent still incorrect

Bug Fix: Missing capture

Missing capture

numerical tangent not correct way to check *visco* plastic law?

added hyperelastoplastic python binding

debugging tangent for material_hyper_elasto_plastic

Possibly found bug

Seems that now I get term by term the same expression as the reference
for ∂τ/∂F. The errors came from use of odot instead of dot42

overall ∂P/∂F si still incorrect, however. I can think of 2 hiding
places:

  1. I got bit by the right-transposed formulation of Geers again
  2. The pull-back is implemented wrong

Now there is a factor 2 between the 2 stiffnesses, argh

Problem seems corrected, now cleanup of tests, print statements, etc

during cleanup, a weird transpose along the columns appeared

Weird state:

Final resulting stiffness tensor matches the one from numpy, but
intermediate results have one transposed dimension (ijkl vs ijlk)

Finally exact values back, but there is a transposition, see ipynb

finally consistent state

Simple plasticity tested and functional

solved mystery about weird transpose on last two dimensions

intermediate

new intermediate

stopping debugging for now

debugging

Exact adherence to reference implementation confirmed

Fixed bug in linearisation of logarithmic Finger tensor

writing exact plastic comparison case

debugging

debugging

before reformulation of Kirchhoff stress linearisation

debugging stiffness tensor after save_history_variables

refactored statefield in order to create common base type

harmonised statefields with fields in fieldcollections

in the middle of adding polymorphic getters to statefields for python

Polymorphic getters compile

Adding Python bindings to fields and collections

statefield integration, fielcollection-pybind (tests incomplete)

statefield integrated with regular fields, wrapped in python

Fix for old compilers

Older compilers (debian stable) had problems with templated member
functions of members of test fixtures (tests/test_field_collections_3.cc).

Statefields integrated with regular fields + python bindings

Fields, StateFields and FieldCollections now accessible to Python
closes T2090

harmonised statefields with fields in fieldcollections

in the middle of adding polymorphic getters to statefields for python

Polymorphic getters compile

Adding Python bindings to fields and collections

statefield integration, fielcollection-pybind (tests incomplete)

statefield integrated with regular fields, wrapped in python

Fix for old compilers

Older compilers (debian stable) had problems with templated member
functions of members of test fixtures (tests/test_field_collections_3.cc).

Fixed name clash

Merge branch 'feat/statefield_integration_T2090' into feat/crystal_plasticity_finite

before packing up for wccm

adding dynamic field maps

dynamically sized field maps will allow to iterate over TypedField's
or to write a python binding for maps

Dynamic fieldmap functional

added get_map() functionality to dynamic fields

Merge branch 'master' into feat/crystal_plasticity_finite

Intermediate step that compiles tests, but tests incomplete

Intermediate: error located in derivative of tentative log strain

fixed consistent tangent and verified: Error located in pull-back

No fix: split material includes and bindings for quicker compilation

Error still located in pull-back

fixed missing includes for tests, no fix for tangent yet

getting closer

computer switch

switch back

dropped annoying tuple_array, replaced with better-behaved RefArray

nailed down the full fuzzing test for MaterialHyperElastoPlastic1

Merge branch 'master' into feat/crystal_plasticity_finite

a bit lost in debugging materialhyperelastoplastic1

Reached consistent standalone and in-µSpectre stress (not yet K)

exact comparison to deGeus now works for MaterialHyperElastoPlastic1

standalone case now also works

workaround for g++-8's internal compiler error

docker file fix

dockerfile fix

dockerfile fix

jenkins unicode handling and deleted redundant test

typo

fixed clang optimization bug

trying to understand jenkins error

killed non-ascii characters from test output for jenkins

trying to identify the tests that crash jenkins

rolling back the changes to see which one messes up Jenkins

rolling back the changes to see which one messes up Jenkins 2

rolling back the changes to see which one messes up Jenkins 3

rolling back the changes to see which one messes up Jenkins 4

revert unnecessary cancelling of utf8 output

Probably mergeable fix for MaterialHyperElastoPlastic1

trigger

Test Plan: Jenkins passes

Reviewers: RLeute

Reviewed By: RLeute

Maniphest Tasks: T2090

Differential Revision: https://c4science.ch/D224

Details

Committed
jungeMon, Jan 7, 16:47
Pushed
jungeMon, Jan 7, 16:47
Reviewer
RLeute
Differential Revision
Restricted Differential Revision
Parents
rMUSPECTREee949b1469ba: ENH: added MaterialLinearElasticGeneric2
Branches
Unknown
Tags
Unknown
References
HEAD -> master
Tasks
T2090: Fully integrate StateFields into FieldCollection

Event Timeline

Restricted Application completed building Restricted Buildable.Mon, Jan 7, 17:24