-- mesh_build_subNodeCoords
-- mesh_build_ipVolimes
-- mesh_build_ipAreas
new globals mesh_ipVolume and mesh_ipArea / mesh_ipAreaNormal contain the volume per IP, area of the interface to aach neighboring IP and the outward pointing unit normal vector of these interfaces
-- math_volTetrahedron: calc the volume of a tetrahedron from four vertices
-- math_vectorproduct: return vector product of two dim(3) vectors
rendered most of the math lib to be "pure" functions
I restructured the subroutine in view of non local constitutive models.
ATTENTION OpenMP parallelization does not work with this version, needs some more work.
ATTENTION CPFEM_GIA8.f90 is not addopted to the new scheme and will NOT work, should actually be renamed CPFEM_RGC.f90 ;-)
I removed crystallite.f90, the routines are now in CPFEM_*.f90.
I removed the marc2005 interface routine since it is outdated.
PROBLEM: [001] in tension does not have a symmetrical change of shape, which is definitely not good at all. I checked my implementation and I really do not see any errors. Could someone check it out? Can it comes from the numerical integration?
constitutive_dislo.f90 contains a modified version of Anxin's dislocation based model. As far as tested it, I consider it now error free. Mechanical twinning is NOT implemented YET.
mattex.mpie file is modified in accordance with the changes in constitutive_dislo.f90
It would be a great help if someone else can check the implementation. I may have overseen something.
this includes two files: concom_f90 and creeps_f90
so you either create links of that name to the new files concom2008r1 and creeps2008r1 or rename copies of those files accordingly
- added subroutine to detect symmetric solver
mesh.f90: - added subroutine call in mesh_init to detect symmetric solver during input file parsing
mpie_cpfem_marc2005r3.f90
mpie_cpfem_marc2007r1.f90
mpie_cpfem_marc2007r1_sequential.f90: - resorted include order of other source files
- symmetrize d in case a symmetric solver is used
constitutive_pheno.f90: - included code to output shear rates and shear activity as post results
CPFEM_GIA8.f90
CPFEM_Taylor.f90
CPFEM_Taylor_sequential.f90: - symmetrize H_bar
- generalized reference to CPFEM_results in call of SingleCrystallite
moved recording of temperature, ffn, and ffn1 into case of computation
mode 1,2 to be directly used in the subsequent (and now FE sequential)
call to MaterialPoint.
- model for stacking fault energy computation w.r.t temperature and orientation
- classical thermodynamical approach to twin nucleation (delta_E)
- rename some parameters
In crystallite:
- add msg='ok', even if components in consistent tangent are not re-computed
- allow for pseudo-convergence in the outer-loop (case of slow convergence of dislocation densities)
in mattex:
- add new parameters
added full check whether residuum in inner loop is NaN
SingleCrystallite now takes/stores Lp guess
CPFEM_Taylor (missing in GIA!!):
former fully plastic guess for Lp has been exchanged by keeping the last converged Lp (global array CPFEM_Lp) to serve as new best guess for the next time step. This speeds up the inner loop of TimeIntegration.
# improved SingleCrystallite to advance by true cutbacking (instead of improving guess and integrating always from t_0)
# module "crystal" renamed to "lattice" together with its prefix for variables
# extension of "computationMode" to deal with cutbacks (CPFEM_general).
# cutback and new inc detection for MARC is based on common block variable cptim (and inc), not incsub anymore!
# generalized GrainInterAction as new homogenization scheme
# two symbolic links are required: constitutive.f90 and CPFEM.f90
renamed CPFEM_stressIP to CPFEM_MaterialPoint
renamed CPFEM_stressCrystallite to CPFEM_Crystallite
introduced new global variables to keep track of FE state within module
FEsolving
renamed CPFEM_stressIP to CPFEM_MaterialPoint
renamed CPFEM_stressCrystallite to CPFEM_Crystallite
introduced new global variables to keep track of FE state within module
FEsolving
changed consistent tangent scheme to D.Tjahjanto Diss version
fixed nasty bug in decision when to calculate new values (CPFEM_general)
prec
precision values should now be on safe side.
time integration scheme changed to start from guessing of Lp.
Newton-Raphson algorithm now accelerates as long as residuum improves.
IO:
added error 650 for polar decomposition problems
prec:
some cleanup. Introduced "relevantStrain" for convergence checking in CPFEM
All subroutines were committed at once:
- constitutive_pheno works
- constitutive_dislo without twinning also works
This release should serve as reference
Schmid and transformations matrices for twin systemss are defined and constructed. Twin systems are specified using the type of variables as slip systems:
"MaxNTwin", "MaxMaxNtwin" ...