GithubHelp home page GithubHelp logo

crystalplasticity's People

Contributors

dcelisgarza avatar eralpdemir avatar ngrilli avatar tarletongroup avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crystalplasticity's Issues

Back stress model for cyclic response

Dear Erlap,
Thank you so much for sharing the code. Can you tell the references of the back stress model in the code. In addition, can the current version calculate the cyclic fatigue load response?

Thanks again.
mike John

monotonic hardening and cyclic softening behavior

Dear Eralp,
I am deeply grateful for your generosity in sharing your code, which has served as an invaluable platform for our crystal plasticity research. We had previously delved into the matter of simulating cyclic loading using a backstress model, and I eagerly anticipate the publication of your work in this area.

Furthermore, I am curious to know if this code can be utilized to simulate the monotonic hardening and cyclic softening behavior of Inconel 718. If so, would there be a need to select a particular computational model? Your advice and suggestions in this matter would be of immense value to us.

Thank you for your time and assistance.

Best regards,
John

Where is the file "STATEV_legend.txt"?

Hi Erlap,

In the .log file, it seems there is a "STATEV_legend.txt" file for our reference. But I couldn't find the file in the Abaqus temporary folder. I ran the simulation via the Job model in Abaqus CAE, could you tell me where can I find the file?

Bests,
Feiyu

Query related to phenomenological and dislocation models

I had a query related to the understanding of the hardening models.

  1. The voce hardening model (hardening model = 1) is considered to be a phenomenological model. Is the Kocks-Mecking model (hardening model = 3 and 4) considered a dislocation-based model or a phenomenological model? Some literature mentions it as a dislocation-based model; however, some consider it to be a phenomenological model, as dislocation densities are calculated using the Taylor equation.

  2. After calibrating the model to fit the stress-strain response the same as the experimental tensile curve for both models (1 and 4), the field output distribution of stress, strain, and total slip per system on the RVE appears to be more or less the same. What differences could be expected in the results from both models?

Regards,
Ajay

issue regarding to hardening model 4

Dear Dr. Demir, thank you for sharing the CPFEM packages online and that is a great contribution to the community. When I was trying to use the latest version for hardening model 4 (the other hardening model works well), the segmentation error persists although I tried different methods such as reduce the time step, set initial value for dislocation densities including rho_0, rhofor_0, rhosub_0, change the material properties, input the number of the elements explicitly etc (please see attached for the inp and codes).
Could you please have a look at it when your are available? Thank you so much for your help and your contribution to the whole community.
TEST.zip

Questions Regarding Hardening Models 3 and 4

Dear Erlap,I'd like to express my sincerest gratitude for your generosity in sharing this invaluable UMAT code. As someone new to the field of crystal plasticity theory, I've come across a few theoretical questions while delving into the documentation and code. I'm hopeful that you can provide some clarifications:

In "slipmodel2," a constant term referred to as the "reference slip rate" is utilized. However, as I've noticed in the relevant literature, this should be related to the evolution of dislocation density. So, I'm considering modifying it to "ραbv0." However, I'm uncertain about what adjustments need to be made in the slip increment calculation process. Additionally, there's some confusion in the documentation regarding dislocation density. For instance, "hardeningmodel3" and "hardeningmodel4" are both related to Kocks-Mecking. Despite reviewing the references you've provided, I've observed that "hardeningmodel4" calculates only the total substructure density as the total dislocation density, excluding forest dislocations. Whereas in "hardeningmodel3," the total dislocation density is equivalent to the total SSD density, and SSD calculations include forest dislocations (assuming GND OFF). I'm curious as to why forest density isn't included in the total dislocation density calculation for "hardeningmodel4".

Furthermore, I've encountered some challenges while using "usermaterials.f." Although the documentation mentions predefined parameters for "alpha-uranium," I've noticed that the "hardeningmodel" for alpha-uranium in "usermaterials.f" is consistently set to 0. Consequently, I've been manually inputting material properties into "PROPS" to use these models. Unfortunately, this approach has resulted in iterative failures in nearly every job run. I would greatly appreciate it if you could provide an example within "usermaterials.f" to demonstrate how to configure material parameters using "hardeningmodel3" and "hardeningmodel4."

Thank you for your assistance.

Warmest regards,
Soula

Reference about the backstress model

Hi Erlap,

Could you give me some reference to the backstress model in your code? including both the local and nonlocal backstress models.

Thank you for your help,

Best regards,
Feiyu

Hardening Model 4

Hi Eralp,
I hope this message finds you well. I'd like to express my gratitude for sharing the code; it has been incredibly helpful in my work. As I was going through the code and the equations related to hardeningmodel = 4, I came across a discrepancy between the equation presented in the code documentation and the one cited in the reference (https://doi.org/10.1016/j.actamat.2010.06.021). The equation in the documentation and code is:
Screenshot 2023-10-26 144018
The equation mentioned in the cited paper is:
Screenshot 2023-10-26 144355

Specifically, it appears that "b" is missing in the code documentation's equation when compared to the cited paper. I wanted to confirm whether I might be overlooking something or if there's an error or modification involved in the code.

Furthermore, I found another paper (https://doi.org/10.1016/j.ijplas.2019.09.002) where the authors have used the same hardening model, but in this case, "f" is missing for the same equation. The rest of the model appears to be quite similar to the one cited in the documentation.
Screenshot 2023-10-26 145753

My goal is to obtain a stress-strain curve for IN718. I have applied a strain of 1% in the x-direction, and I'm using slipmodel = 3 and hardeningmodel = 4. I have created a new custom material 11 by copying material 2 and commenting out Hintmat1 calculations. I've taken the material parameters from the paper (https://doi.org/10.1016/j.ijplas.2019.09.002). I got this as a response for S11 vs. LE11:

Screenshot 2023-10-26 165326

However, the response I'm getting is a straight line. I'm uncertain whether plotting S11 vs. LE11 is an accurate representation of the stress-strain curve. Is it happening due to parameter values or something else?

Thank you for all your help. I hope to hear back from you soon!

Best,
Ajay

There are questions about Hcp and creep.

Dear Eralp
Thank you very much for sharing this CrystalPlasticity code, it helps me a lot.
Q1:
When I use the HCP model you provided, that is, case(3) in usermaterials.f, the program will terminate and the following error message will appear.
INCREMENT 1 STARTS. ATTEMPT NUMBER 1, TIME INCREMENT 1.000E-02
***ERROR: Analysis is being terminated from a user subroutine

Q2:When I use case(2) like the tutorial you provided, everything works as usual,
but when I use the creep model provided in the program, the program will report an error as follows:
CONTACT FORCE ERROR TOLERANCE FOR CONVERT SDI=YES 1.00

Among them, the creep parameters I used are as follows:
! Obtain creep parameters
! reference creep rate (1/s)
creepparam(1) = 10.d-8
! creep stress multiplier (1/MPa)
creepparam(2) = 0.
! activation energy for creep (J/mol)
creepparam(3) = 650.d3
! reference damage rate (1/s)
creepparam(4) = 0.
! damage stress multiplier (1/MPa)
creepparam(5) = 0.
! activation energy for damage (J/mol)
creepparam(6) = 0.
Would you happen to know where the problem should be? All the comments and suggestions are a tremendous help to me.

Sincerely,
Xusheng

Coupled thermal-stress analysis using UMATv2.9

Hello Eralp,

I hope you are doing well. I was trying the coupled temp-displacement step module using UMAT_v2.9 for one element case. However, this module uses the C3D8T element type, and the current UMAT version doesn't support this element type. I was interested in simulating behavior under variable temperature and variable strain loading conditions. Is there any way to perform this type of analysis using the current UMAT?
Also, I would appreciate it if you could provide references for CMSX-4 temperature-dependent properties used in the user material file.

Any leads would be very helpful. Thanks!

Issue caused by units

Hi,
In the globalvariables.f, the Boltzmann constant is set to 1.380649d-23 [m2 kg s-2 K-1].
And in hardening.f, line 298, the codes for calculating k2 are as follows:
k2 = k1Xb/g*(1.-KBT/D/b**3*dlog(pdot/pdot0))
In the answers to other questions, the use of μm and MPa was mentioned. So, after putting the parameter from the Document into the code:
图片
I feel that the part of the calculation that the Boltzmann constant is involved in is problematic due to the unit mismatch
图片
I look forward to hearing from you, thank you very much

Best regards!
Louis

A question about getting the statev_gmatinv

Dear Enralp:
I raised a question yesterday about getting the 9 components of gmatinv matrix below your video on the Youtube. Thank you very much for your response. I checked the number of DEPVAR and tried again. I found that I could get the SDVs I wanted successfully if I used usermaterials.f, but if I set PROPS manually, the issue happened again that only total slip per slip system was recorded in the odb file. I wonder whether there are any other parameters in these files I need to modify to get other SDVs I want if I define the material properties using PROPS instead of using "usermaterials.f".

I have attached the files I simulated to pinpoint my issues.

Thank you in advance and I am looking forward to your reply.

Best wishes

Zeng Chenq
test.zip

issue of parallelization computation by abaqus

Hello Enralp,
Thank you for sharing your work
There seems to be an error that the solution does not converge when I try to do the calculation through the CPU parallelization computing supported by ABAQUS.
If I don't do parallel calculations with the exact same input file, it works fine, but if I do it in parallel, it iterates in the first step and stops with an error.
I'm guessing it's because the nodes are distributed per CPU core, but do you have any experience with parallel computation?
Thank you

Question about slipmodel=2

I've tried to use slipmodel2 in two ways, but I'm having problems with both. The model I used is from‘Example-Polycrystal with PROPS’
(1) I modified the slip model in case2 and changed it to slipmodel=2 with the corresponding parameter slipparam(1) = 2.54d6
slipparam(2) = 0.85,slipparam(3) = 1.36,slipparam(4) = 1.6d-19
(2) I changed the Material ID into 7, and try to use this material that inherently contains slipmodel2
However, in both cases there were problems and I didn't know how to fix them.
wrong

Umat and XFEM

Dear Erlap,

We intend to combine CP and XFEM to simulate crack propagation. For simplicity, the MAXPS criteria embedded in abaqus are used. When CPFE and XFEM were tested separately, the program ran normally. But when combining both, an error occurs.
abaqus/standard rank 0 encountered a segmentation violation referencing loacation.
---------- RUNTIME EXCEPTION HAS OCCURED ----------
ABAQUS/standard rank 0 terminated by signal 11
*** ERROR CATEGORY: INITIAL STRESS.
Any suggestions are very appreciated.

inp codes: (abaqus 2020)
...
*Elset, elset=_PICKEDSET24, internal, instance=TESS-1, generate
1, 50653, 1
** Constraint:
***Note: Eqn-1 for applying tension displacement
*Equation
2
SET-2, 1, 1.
SET-1, 1, -1.
*Enrichment, name=CRACK-1, type=PROPAGATION CRACK, elset=_PICKEDSET24, interaction=IntProp-1
*End Assembly
**
** MATERIALS
**
** MATERIALS
*Material, name=MATERIAL-GRAIN1
*Damage Initiation, criterion=MAXPS
1000.,
*Damage Evolution, type=DISPLACEMENT
1,
*Damage Stabilization
1e-06
*Depvar
125,
*User Material, constants=6
59.5614, 125.136, -21.5391, 1., 11., 0.
*Material, name=MATERIAL-GRAIN2
*Damage Initiation, criterion=MAXPS
1000.,
*Damage Evolution, type=DISPLACEMENT
1,
*Damage Stabilization
1e-06
*Depvar
125,
*User Material, constants=6
-55.9356, 57.2808, 199.753, 2., 11., 0.
...
** INTERACTION PROPERTIES
**
*Surface Interaction, name=IntProp-1
1.,
*Friction, slip tolerance=0.005
0.115,
*Surface Behavior, pressure-overclosure=LINEAR
100000.,
*Initial Conditions, type=ENRICHMENT
TESS-1.47933, 1, CRACK-1, -0.540541, 0.0777657
TESS-1.47933, 2, CRACK-1, 1e-06, 0.0777657
TESS-1.47933, 3, CRACK-1, 1e-06, 0.170132
TESS-1.47933, 4, CRACK-1, -0.540541, 0.170132
TESS-1.47933, 5, CRACK-1, -0.540541, -0.44067
TESS-1.47933, 6, CRACK-1, 1e-06, -0.44067
TESS-1.47933, 7, CRACK-1, 1e-06, -0.212088
TESS-1.47933, 8, CRACK-1, -0.540541, -0.212088
TESS-1.47970, 1, CRACK-1, -0.540541, 0.170132
TESS-1.47970, 2, CRACK-1, 1e-06, 0.170132
TESS-1.47970, 3, CRACK-1, 1e-06, 0.552352
TESS-1.47970, 4, CRACK-1, -0.540541, 0.552352
TESS-1.47970, 5, CRACK-1, -0.540541, -0.212088
TESS-1.47970, 6, CRACK-1, 1e-06, -0.212088
TESS-1.47970, 7, CRACK-1, 1e-06, 0.170132
TESS-1.47970, 8, CRACK-1, -0.540541, 0.170132
TESS-1.49339, 1, CRACK-1, -0.540541, -0.212088
TESS-1.49339, 2, CRACK-1, 1e-06, -0.212088
TESS-1.49339, 3, CRACK-1, 1e-06, 0.170132
TESS-1.49339, 4, CRACK-1, -0.540541, 0.170132
TESS-1.49339, 5, CRACK-1, -0.540541, -0.44067
TESS-1.49339, 6, CRACK-1, 1e-06, -0.44067
TESS-1.49339, 7, CRACK-1, 1e-06, 0.0777653
TESS-1.49339, 8, CRACK-1, -0.540541, 0.0777653
TESS-1.49302, 1, CRACK-1, -0.540541
TESS-1.49302, 2, CRACK-1, 1e-06
TESS-1.49302, 3, CRACK-1, 1e-06
TESS-1.49302, 4, CRACK-1, -0.540541
TESS-1.49302, 5, CRACK-1, -0.540541
TESS-1.49302, 6, CRACK-1, 1e-06
TESS-1.49302, 7, CRACK-1, 1e-06
TESS-1.49302, 8, CRACK-1, -0.540541
** ----------------------------------------------------------------
**
** STEP: Step-1
**
*Step, name=Step-1, nlgeom=YES, inc=10000
*Static
1., 10., 1e-06, 0.1
**
** BOUNDARY CONDITIONS
**
** Name: Disp-BC-1 Type: Displacement/Rotation
*Boundary
"X=0", 1, 1
** Name: Disp-BC-2 Type: Displacement/Rotation
*Boundary
"Y=0", 2, 2
** Name: Disp-BC-3 Type: Displacement/Rotation
*Boundary
"Z=0", 3, 3
** Name: Disp-BC-4 Type: Displacement/Rotation
*Boundary
SET-1, 1, 1, 2.
**
** INTERACTIONS
**
** Interaction: Int-1
*Enrichment Activation, name=CRACK-1, activate=ON
**
** OUTPUT REQUESTS

open() and read() do not match in readfiles subroutine of initializations.f

Hello Erlap,

I want to ask a question about the unit of open() and read() are not the same. The code located in readfiles subroutine of initializations.f.

In line99: open(200,file=foldername // '/' // voxfilename,action='read', status='old')
In line107: read(100,*) dummy(1:8)

Should the unit in read() is 200 to be consistent with the unite in open()? If the unit in read() choice of 100 a specific choice, could you be kindly tell me the reason.

Best regards,
Li Bofeng

can new version consider cohesive and twin?

Dear authors,

Thanks very much for your sharing. I remember the old code can consider the cohesive element and the effect of twin, but the new code deleted these functions. Is it ok for these functions in the old code?
Best regards,
Mike

question about gmsh

Hello Enrlalp,Thank you for your email reply. I still have some questions after reading your youtube videos.
1.The parameters in the gnd model 3 in your example file do not correspond to those in your excel. I think it is because you added several empty parameters after the output parameter,right
2.The python script I used to assign material properties can run under the C3D8 unit (under the polycrystalline material inp file you gave), but the result does not convergence under the grid type of C3D4 divided by gmsh(Because I am not familiar with gmsh, I can only divide C3D4 units) in the model I created using naper. May I ask why?
3.You mentioned in your youtube video that if the gnd model is used, the number of grids and the type of grids must be determined in the userinput file, but I did not find the option of cell type in your latest userinput file, whether to add it or not?
4.If I use gnd3 model to modify the options in the subroutine, can you tell me what to pay attention to.

The executable standard.exe aborted with system error code 1073741819

I simulated uniaxial tensile according to the video introduction, but an error occurred.
The executable standard.exe aborted with system error code 1073741819. Please check the .dat, .msg, and .sta files for error messages if the files exist. If there are no error messages and you cannot resolve the problem, please run the command "abaqus job=support information=support" to report and save your system information. Use the same command to run Abaqus that you used when the problem occurred. Please contact your local Abaqus support office and send them the input file, the file support.log which you just created, the executable name, and the error code.
Could you help me? Thanks

Question about C3D8R

Dear Eralp,
I am deeply grateful for your sharing code, which provides lots of help for our crystal plasticity research.

I have developed a finite element model with C3D8R element, and it works well with UMAT V2.7. But it failed with UMAT v2.20, which shows severe small DFGRD1 and not converge in the first increment. Would there be a need to give necessary change in meshprop?

Thank you for your suggestions!

Best regards,
Chen

Creep

Hi Erlap,
Thanks for sharing the code, It really helps me a lot.
I have a problem when I test the creep.f in version 2.4. According to the defination of creep, we should test it under a constant load, therefore I apply a constant pressure on the model during Visco analysis step and run it with case(7) in version 2.4. From the result, it seems like there aren't any creep contribution to the slip deformation. I checked the code and the contribution of creep is indeed considered in the code.I'm confused as to why I don't see the corresponding contribution in the results.
Looking forward to your reply.
Best wishes
Yvfei Nie

Issue of material property?

Dear Eralp,

Recently,I generated a RVE with 3 grains and set different material property(hardeningparam1)to them,see following figure and “!!!Sum.xlsx” in attached link.

image

I found that the Mises stress extracted from Grain 3 (element 910) in Job8-1 and Job10-1 have the same value (see following figure and “!!!Sum.xlsx” in attached link), despite the difference of material property.

image

I don’t know whether it is the issue of the code. The sim files are attached in the following link.

https://doi.org/10.5281/zenodo.8385099

Bests,
Guofeng

Why the stress field is non uniform under periodic boundary conditions when considering GND

Hi Eralp,

I'm testing the periodic boundary conditions (PBC) by using a single crystal tensile case.

In the first case, I use the power law model, Voce hardening model, GND model (no backstress model). Everything goes well at the elastic and the small plastic period (Figure a); the stress field is uniform. However, the stress gradually becomes nonuniform with the increasing plastic strain. At first, the difference between the maximum and minimum stress is neglectable (<1e-3 MPa in Figure b), while the difference will increase to 1MPa with the increase of plastic strain. Obviously, this result is wrong because the stress field should be uniform under the PBC. I have also tried the Explicit/Implicit method, and the stress field are both nonuniform.

image

To understand what happened, I ran the second simulation with the same model setting, except the GND model was off. To my surprise, the result I obtained is a uniform stress field.

I'm curious about what happened to the GND model that led to a nonuniform stress field. Based on the model I selected, the GND is not involved in the slip and hardening model, so the calculation of the GND will not influence the slip and hardening process. Could you advise me on obtaining a uniform stress field under PBC with GND?

Bests,
Feiyu

ABAQUS/standard rank 0 terminated by signal 6 (Aborted)

I tried to run the single crystal case from the youtube video https://www.youtube.com/watch?v=T1bCw61qMLw
UMAT.f file compile successfully.
However, the job returns error as follows:

*** ABAQUS/standard rank 0 terminated by signal 6 (Aborted)

*** ERROR CATEGORY: ELEMENT LOOP

I attach here the files for troubleshooting.
Job-1.log

Following is the content of message file:

STEP 1 INCREMENT 1 STEP TIME 0.00

                    S T E P       1     S T A T I C   A N A L Y S I S


                                                                                      

 AUTOMATIC TIME CONTROL WITH -
      A SUGGESTED INITIAL TIME INCREMENT OF                1.000E-02
      AND A TOTAL TIME PERIOD OF                            1.00    
      THE MINIMUM TIME INCREMENT ALLOWED IS                1.000E-05
      THE MAXIMUM TIME INCREMENT ALLOWED IS                 1.00    

 LINEAR EQUATION SOLVER TYPE         DIRECT SPARSE

CONVERGENCE TOLERANCE PARAMETERS FOR FORCE
CRITERION FOR RESIDUAL FORCE FOR A NONLINEAR PROBLEM 5.000E-03
CRITERION FOR DISP. CORRECTION IN A NONLINEAR PROBLEM 1.000E-02
INITIAL VALUE OF TIME AVERAGE FORCE 1.000E-02
AVERAGE FORCE IS TIME AVERAGE FORCE
ALTERNATE CRIT. FOR RESIDUAL FORCE FOR A NONLINEAR PROBLEM 2.000E-02
CRITERION FOR ZERO FORCE RELATIVE TO TIME AVRG. FORCE 1.000E-05
CRITERION FOR RESIDUAL FORCE WHEN THERE IS ZERO FLUX 1.000E-05
CRITERION FOR DISP. CORRECTION WHEN THERE IS ZERO FLUX 1.000E-03
CRITERION FOR RESIDUAL FORCE FOR A LINEAR INCREMENT 1.000E-08
FIELD CONVERSION RATIO 1.00
CRITERION FOR ZERO FORCE REL. TO TIME AVRG. MAX. FORCE 1.000E-05
CRITERION FOR ZERO DISP. RELATIVE TO CHARACTERISTIC LENGTH 1.000E-08

 VOLUMETRIC STRAIN COMPATIBILITY TOLERANCE FOR HYBRID SOLIDS       1.000E-05
 AXIAL STRAIN COMPATIBILITY TOLERANCE FOR HYBRID BEAMS             1.000E-05
 TRANS. SHEAR STRAIN COMPATIBILITY TOLERANCE FOR HYBRID BEAMS      1.000E-05
 SOFT CONTACT CONSTRAINT COMPATIBILITY TOLERANCE FOR P>P0          5.000E-03
 SOFT CONTACT CONSTRAINT COMPATIBILITY TOLERANCE FOR P=0.0         0.100    
 CONTACT FORCE ERROR TOLERANCE FOR CONVERT SDI=YES                 1.00    
 DISPLACEMENT COMPATIBILITY TOLERANCE FOR DCOUP ELEMENTS           1.000E-05
 ROTATION COMPATIBILITY TOLERANCE FOR DCOUP ELEMENTS               1.000E-05

EQUILIBRIUM WILL BE CHECKED FOR SEVERE DISCONTINUITY ITERATIONS

TIME INCREMENTATION CONTROL PARAMETERS:
FIRST EQUILIBRIUM ITERATION FOR CONSECUTIVE DIVERGENCE CHECK 4
EQUILIBRIUM ITERATION AT WHICH LOG. CONVERGENCE RATE CHECK BEGINS 8
EQUILIBRIUM ITERATION AFTER WHICH ALTERNATE RESIDUAL IS USED 9
MAXIMUM EQUILIBRIUM ITERATIONS ALLOWED 16
EQUILIBRIUM ITERATION COUNT FOR CUT-BACK IN NEXT INCREMENT 10
MAXIMUM EQUILIB. ITERS IN TWO INCREMENTS FOR TIME INCREMENT INCREASE 4
MAXIMUM ITERATIONS FOR SEVERE DISCONTINUITIES 50
MAXIMUM ATTEMPTS ALLOWED IN AN INCREMENT 5
MAXIMUM DISCON. ITERS IN TWO INCREMENTS FOR TIME INCREMENT INCREASE 50
MAXIMUM CONTACT AUGMENTATIONS FOR *SURFACE BEHAVIOR,AUGMENTED LAGRANGE 50
CUT-BACK FACTOR AFTER DIVERGENCE 0.2500
CUT-BACK FACTOR FOR TOO SLOW CONVERGENCE 0.5000
CUT-BACK FACTOR AFTER TOO MANY EQUILIBRIUM ITERATIONS 0.7500
CUT-BACK FACTOR AFTER TOO MANY SEVERE DISCONTINUITY ITERATIONS 0.2500
CUT-BACK FACTOR AFTER PROBLEMS IN ELEMENT ASSEMBLY 0.2500
INCREASE FACTOR AFTER TWO INCREMENTS THAT CONVERGE QUICKLY 1.500
MAX. TIME INCREMENT INCREASE FACTOR ALLOWED 1.500
MAX. TIME INCREMENT INCREASE FACTOR ALLOWED (DYNAMICS) 1.250
MAX. TIME INCREMENT INCREASE FACTOR ALLOWED (DIFFUSION) 2.000
MINIMUM TIME INCREMENT RATIO FOR EXTRAPOLATION TO OCCUR 0.1000
MAX. RATIO OF TIME INCREMENT TO STABILITY LIMIT 1.000
FRACTION OF STABILITY LIMIT FOR NEW TIME INCREMENT 0.9500
TIME INCREMENT INCREASE FACTOR BEFORE A TIME POINT 1.000
GLOBAL STABILIZATION CONTROL IS NOT USED

      PRINT OF INCREMENT NUMBER, TIME, ETC., EVERY    1  INCREMENTS

 THE MAXIMUM NUMBER OF INCREMENTS IN THIS STEP IS                     100

      LARGE DISPLACEMENT THEORY WILL BE USED

 LINEAR EXTRAPOLATION WILL BE USED

 CHARACTERISTIC ELEMENT LENGTH     0.500    

 DETAILS REGARDING ACTUAL SOLUTION WAVEFRONT REQUESTED

 DETAILED OUTPUT OF DIAGNOSTICS TO DATABASE REQUESTED

 PRINT OF INCREMENT NUMBER, TIME, ETC., TO THE MESSAGE FILE EVERY     1  INCREMENTS

 COLLECTING MODEL CONSTRAINT INFORMATION FOR OVERCONSTRAINT CHECKS

 COLLECTING STEP CONSTRAINT INFORMATION FOR OVERCONSTRAINT CHECKS

INCREMENT 1 STARTS. ATTEMPT NUMBER 1, TIME INCREMENT 1.000E-02

NUMBER OF EQUATIONS = 81 NUMBER OF RHS = 1
NUMBER OF FLOATING PT. OPERATIONS = 4.83E+04

 CHECK POINT   START OF SOLVER    

 CHECK POINT  END OF SOLVER       

   ELAPSED USER TIME (SEC)      =   0.0000    
   ELAPSED SYSTEM TIME (SEC)    =   0.0000    
   ELAPSED TOTAL CPU TIME (SEC) =   0.0000    
   ELAPSED WALLCLOCK TIME (SEC) =          0

           CONVERGENCE CHECKS FOR EQUILIBRIUM ITERATION     1

AVERAGE FORCE 0.136 TIME AVG. FORCE 0.136
LARGEST RESIDUAL FORCE 4.407E-04 AT NODE 11 DOF 3
INSTANCE: PART-1-1
LARGEST INCREMENT OF DISP. 1.000E-04 AT NODE 1 DOF 1
INSTANCE: PART-1-1
LARGEST CORRECTION TO DISP. 1.000E-04 AT NODE 1 DOF 1
INSTANCE: PART-1-1
DISP. CORRECTION TOO LARGE COMPARED TO DISP. INCREMENT

NUMBER OF EQUATIONS = 81 NUMBER OF RHS = 1
NUMBER OF FLOATING PT. OPERATIONS = 4.83E+04

 CHECK POINT   START OF SOLVER    

 CHECK POINT  END OF SOLVER       

   ELAPSED USER TIME (SEC)      =   0.0000    
   ELAPSED SYSTEM TIME (SEC)    =   0.0000    
   ELAPSED TOTAL CPU TIME (SEC) =   0.0000    
   ELAPSED WALLCLOCK TIME (SEC) =          0

           CONVERGENCE CHECKS FOR EQUILIBRIUM ITERATION     2

AVERAGE FORCE 0.136 TIME AVG. FORCE 0.136
LARGEST RESIDUAL FORCE -1.858E-08 AT NODE 13 DOF 2
INSTANCE: PART-1-1
LARGEST INCREMENT OF DISP. 1.000E-04 AT NODE 1 DOF 1
INSTANCE: PART-1-1
LARGEST CORRECTION TO DISP. 5.996E-09 AT NODE 7 DOF 2
INSTANCE: PART-1-1
THE FORCE EQUILIBRIUM EQUATIONS HAVE CONVERGED

---------- RUNTIME EXCEPTION HAS OCCURED ----------

ABAQUS/standard rank 0 terminated by signal 6 (Aborted)

Output total GND

Hi Erlap,

I'm trying to output the total GND with the power law slip model, Voce type hardening model, and the GND model. I set the 6th State-variable output (Total statistically-stored dislocation density) to 1, but it is strange that the SDV I got is all zero even when the GND is non-zero. I didn't use the SSD model because I only care about the GND, so the statev_ssdtot should be the total GND. Is that right? Is there something that I was missing? Or how can I export the total GND?

Bests,
Feiyu

Incorporating FIPs in the codes

Hey Eralp,

I wanted to output the FIPs (image attached - ref: https://onlinelibrary.wiley.com/doi/full/10.1111/ffe.13685).

image

I am not sure where to make the changes in the codes to get these as output. Can you please help me out?
I know it is too much to ask but if you have time, can you incorporate these changes? I am not familiar with Fortran, and it might take me a lot of time to figure it out. If it is not possible, can you please let me know where to make the changes to get these FIPs as output.

Thanks for your continuous support.

Regards,
Ajay

2D EBSD data reconstruction by Dream3d,and generate Abaqus input files

Hi eralp,
Thanks a lot for your helpful code. I am importing 2D Oxford EBSD Data (.ctf) into Dream3d , to realize the reconstruction and mesh of model, then generate Abaqus input files. Do you know how to set up dream3d to achieve this? I would be extremely grateful for any insights, advice, or recommended resources you can offer.

Best,
Mengchong Ren

Question about negative GND density

Dear Eralp,
First of all, thanks for updating the codes about hardeningmodel=2, it works now. As mentioned in your paper, positive and negative values appear in SDV of TotalGND. But I'm confused about the negative sign.
(1) A. ARSENLIS and D. M. PARKS specified that positive shear gradients corresponded to 'negative edge dislocations' and 'positive screw dislocations', and this was adopted in the code. If only the edge dislocation is considered, it seems that the positive or negative shear gradient can be determined from the positive or negative dislocation density in the result. However, if both edge and screw dislocations are considered, this judgment becomes confused. So what are the benefits of this regulation?
(2) Could you give some advice on the output of all positive GND? Can I modify this part of Straingradient.f to achieve all positive GND?
图片
Looking forward to your reply.

Best Regards,
Aaron

Creep

Dear Eralp
Thank you very much for sharing this CrystalPlasticity code, it helps me a lot.
In creep.f, the second parameter you provided is expressed as bc = creepparam(5).
Have you ever used creep when using the code?
! Obtain creep parameters
! reference creep rate (1/s)
gammadotc = creepparam(1)
! creep stress multiplier (1/MPa)
bc = creepparam(5)
! activation energy for creep (J/mol)
Qc = creepparam(3)
! reference damage rate (1/s)
gammadotd = creepparam(4)
! damage stress multiplier (1/MPa)
bd = creepparam(5)
! activation energy for damage (J/mol)
Qd = creepparam(6)
!

all stresses are zero

Dear authors,

We try to a tensile test including only one element and one grain based on UMAT v1.33. We output STRESS and Sigma in the Umat.f. The displacement is correct, but all values are zero during tension. The material properties were used as the same as the testcase.inp.
Any comments are very appreciated.

How to call the external functions involved in the subroutines?

When I tried to use the UMAT subroutine(Abaqus2020 + Visual studio 2019 + Intel Fortran 2020 on the Windows), the function subroutine "lapverse" in the file "utils.f" called the external functions "DGETRF" and "DGETRI". And they also called more external functions, perplexingly.

I looked for these external functions and it seems that come from the function library "LAPACK", but I don't know how to call the functions in "LAPACK" when running the UMAT subroutine.

Looking forward to your reply, thanks.

Questions about creep

Hello, excuse me to bother you:
You know that creep is not only related to temperature and stress, but also time is an indispensable factor. In the static analysis of ABAQUS, time is a variable with no practical significance, and no variables related to time are found in creep.f. So how do I use the UMAT subroutine to obtain a result that often appears in the literature!

image

Grain size effect

Dear code developer,
We tired a serial of simulations to study the grain size effect (for exampel HP rule). Two cases were simulated firstly. The RVE includes 200 grains and the average grain size is about 30 micrometer or 300 micrometer (These two cases have exactly the same Euler Angle distributions). FCC copper is used (MatID=5 in the code) for verification. In my input and usermaterials.f, Units of stress is MPa. Dimension units are micrometers The RVE generators also generate models with micrometer dimensions.
According to HP rule, the strength of 30 micron grains should be much higher than that of 300 micron grains. But in our simulations, the calculated results do show that the macroscopic stress-strain curves of the two cases basically coincide.
Did we neglect to modify any parameters? Any suggestions are very appreciated.

Best regards,
Mike Jiang

Could you possibly tell me the OSS license on the repository?

Excuse me for my sudden mail.
I really appreciate your belief in sharing codes in crystal plasticity in detail as OSS. I would like to follow your research and make some papers by improving your code on the repository, and I'll share the improved code on it.
Especially because of the above context, I would like to specify this license.
If there are no licenses, I think it's good for you, the first author, to make some OSS licenses (ex., MIT) on the repository.

Best regards,

question about parameter setting

Hello Enrlalp,I used your subroutine, but I did a lot of trial and error to fit the parameters, but I still couldn't get the desired stress-strain curve correctly, the GND3 model I used and the hardened model 3,would be highly appreciated if you could give me some suggestions on my parameters.
nj27.zip
4fbfb7dbc492e1564f65e10109499d26

Is it possible to support element C3D8R?

Dear Eralp:

Thanks a lot for sharing this code, and it deepens my understanding to crystal plasticity.

I want to know, is it possible to add element C3D8R in this code?

When I run this code with element C3D8 (element number is 128X128X128=2097152), it requires a very large RAM (about 300GB) to operate, it is also a time-consuming work (46h with 48 cpus, Intel(R) Xeon(R) CPU E5-4640 v3 @ 1.90GHz) and the .odb file is quite large (about 33GB). Attached are my simulation files.

It would be great if the element C3D8R could be supported in this CrystalPlasticity code.

sim_file.zip

Kind regards,

Guofeng

Output SSD (sdv 27) during tension

Dear Eralp,.

We try to output the contour of SSD (SDV 27) during tension. But we found that all SSD are zero. In page 26 of the documentation, "In this case, the initial dislocation density (SSD density) shall have a non-zero value in order to end up with non-zero values for the activation volume and hence slip". This means that we should set a non-zero value for rho_0(1:nslip), for example "rho_0(1:nslip) = 1." in usermaterials.f Is it right.
thanks very much if any suggestions.
John WG.

NEPER2Abaqus-C3D4 element- SEGMENTATION FAULT

Dear Eralp

Thank you very much for sharing the CrystalPlasticity codes; it is beneficial.
When I followed your Video Tutorials, everything went well except the C3D4 model.
It went well when I simulated the C3D8 models from DREAM3D and NEPER.
When running the C3D4 model, I did change the element number and element type in the userinputs.f file.
The msg file shows the following error. Would you happen to know where the problem should be?
All the comments and suggestions are a tremendous help to me.

Sincerely,
Ta-Te

   Abaqus 2022                                  Date 10-8-2023   Time 10:31:09
   For use by TOKAI under license from Dassault Systemes or its subsidiary.

                                                                                 
                                                                                 
 STEP    1     INCREMENT     1     STEP TIME    0.00    


                        S T E P       1     S T A T I C   A N A L Y S I S


                                                                                          

     AUTOMATIC TIME CONTROL WITH -
          A SUGGESTED INITIAL TIME INCREMENT OF                1.000E-02
          AND A TOTAL TIME PERIOD OF                            100.    
          THE MINIMUM TIME INCREMENT ALLOWED IS                1.000E-05
          THE MAXIMUM TIME INCREMENT ALLOWED IS                 1.00    

     LINEAR EQUATION SOLVER TYPE         DIRECT SPARSE

 CONVERGENCE TOLERANCE PARAMETERS FOR FORCE    
     CRITERION FOR RESIDUAL FORCE     FOR A NONLINEAR PROBLEM          5.000E-03
     CRITERION FOR DISP.    CORRECTION IN A NONLINEAR PROBLEM          1.000E-02
     INITIAL VALUE OF TIME AVERAGE FORCE                               1.000E-02
     AVERAGE FORCE     IS TIME AVERAGE FORCE    
     ALTERNATE CRIT. FOR RESIDUAL FORCE     FOR A NONLINEAR PROBLEM    2.000E-02
     CRITERION FOR ZERO FORCE     RELATIVE TO TIME AVRG. FORCE         1.000E-05
     CRITERION FOR RESIDUAL FORCE     WHEN THERE IS ZERO FLUX          1.000E-05
     CRITERION FOR DISP.    CORRECTION WHEN THERE IS ZERO FLUX         1.000E-03
     CRITERION FOR RESIDUAL FORCE     FOR A LINEAR INCREMENT           1.000E-08
     FIELD CONVERSION RATIO                                             1.00    
     CRITERION FOR ZERO FORCE     REL. TO TIME AVRG. MAX. FORCE        1.000E-05
     CRITERION FOR ZERO DISP.    RELATIVE TO CHARACTERISTIC LENGTH     1.000E-08

     VOLUMETRIC STRAIN COMPATIBILITY TOLERANCE FOR HYBRID SOLIDS       1.000E-05
     AXIAL STRAIN COMPATIBILITY TOLERANCE FOR HYBRID BEAMS             1.000E-05
     TRANS. SHEAR STRAIN COMPATIBILITY TOLERANCE FOR HYBRID BEAMS      1.000E-05
     SOFT CONTACT CONSTRAINT COMPATIBILITY TOLERANCE FOR P>P0          5.000E-03
     SOFT CONTACT CONSTRAINT COMPATIBILITY TOLERANCE FOR P=0.0         0.100    
     CONTACT FORCE ERROR TOLERANCE FOR CONVERT SDI=YES                 1.00    
     DISPLACEMENT COMPATIBILITY TOLERANCE FOR DCOUP ELEMENTS           1.000E-05
     ROTATION COMPATIBILITY TOLERANCE FOR DCOUP ELEMENTS               1.000E-05

 EQUILIBRIUM WILL BE CHECKED FOR SEVERE DISCONTINUITY ITERATIONS

 TIME INCREMENTATION CONTROL PARAMETERS:
     FIRST EQUILIBRIUM ITERATION FOR CONSECUTIVE DIVERGENCE CHECK              4
     EQUILIBRIUM ITERATION AT WHICH LOG. CONVERGENCE RATE CHECK BEGINS         8
     EQUILIBRIUM ITERATION AFTER WHICH ALTERNATE RESIDUAL IS USED              9
     MAXIMUM EQUILIBRIUM ITERATIONS ALLOWED                                   16
     EQUILIBRIUM ITERATION COUNT FOR CUT-BACK IN NEXT INCREMENT               10
     MAXIMUM EQUILIB. ITERS IN TWO INCREMENTS FOR TIME INCREMENT INCREASE      4
     MAXIMUM ITERATIONS FOR SEVERE DISCONTINUITIES                            50
     MAXIMUM ATTEMPTS ALLOWED IN AN INCREMENT                                  5
     MAXIMUM DISCON. ITERS IN TWO INCREMENTS FOR TIME INCREMENT INCREASE      50
     MAXIMUM CONTACT AUGMENTATIONS FOR *SURFACE BEHAVIOR,AUGMENTED LAGRANGE   50
     CUT-BACK FACTOR AFTER DIVERGENCE                                 0.2500    
     CUT-BACK FACTOR FOR TOO SLOW CONVERGENCE                         0.5000    
     CUT-BACK FACTOR AFTER TOO MANY EQUILIBRIUM ITERATIONS            0.7500    
     CUT-BACK FACTOR AFTER TOO MANY SEVERE DISCONTINUITY ITERATIONS   0.2500    
     CUT-BACK FACTOR AFTER PROBLEMS IN ELEMENT ASSEMBLY               0.2500    
     INCREASE FACTOR AFTER TWO INCREMENTS THAT CONVERGE QUICKLY        1.500    
     MAX. TIME INCREMENT INCREASE FACTOR ALLOWED                       1.500    
     MAX. TIME INCREMENT INCREASE FACTOR ALLOWED (DYNAMICS)            1.250    
     MAX. TIME INCREMENT INCREASE FACTOR ALLOWED (DIFFUSION)           2.000    
     MINIMUM TIME INCREMENT RATIO FOR EXTRAPOLATION TO OCCUR          0.1000    
     MAX. RATIO OF TIME INCREMENT TO STABILITY LIMIT                   1.000    
     FRACTION OF STABILITY LIMIT FOR NEW TIME INCREMENT               0.9500    
     TIME INCREMENT INCREASE FACTOR BEFORE A TIME POINT                1.000    
     GLOBAL STABILIZATION CONTROL IS NOT USED

          PRINT OF INCREMENT NUMBER, TIME, ETC., EVERY    1  INCREMENTS

     THE MAXIMUM NUMBER OF INCREMENTS IN THIS STEP IS                   10000

          LARGE DISPLACEMENT THEORY WILL BE USED

     LINEAR EXTRAPOLATION WILL BE USED

     CHARACTERISTIC ELEMENT LENGTH     0.189    

     DETAILS REGARDING ACTUAL SOLUTION WAVEFRONT REQUESTED

     DETAILED OUTPUT OF DIAGNOSTICS TO DATABASE REQUESTED

     PRINT OF INCREMENT NUMBER, TIME, ETC., TO THE MESSAGE FILE EVERY     1  INCREMENTS

     COLLECTING MODEL CONSTRAINT INFORMATION FOR OVERCONSTRAINT CHECKS

     COLLECTING STEP CONSTRAINT INFORMATION FOR OVERCONSTRAINT CHECKS


  INCREMENT     1 STARTS. ATTEMPT NUMBER  1, TIME INCREMENT  1.000E-02
 
	SYMMETRIC DIRECT SPARSE SOLVER RUNNING ON
 	1 HOST:        1 MPI RANK  x 1 THREAD
 	NUMBER OF EQUATIONS:     2649
 	NUMBER OF RHS:           1
 	NUMBER OF FLOPS:         7.698e+07

     CHECK POINT   START OF SOLVER    

     CHECK POINT  END OF SOLVER       

       ELAPSED USER TIME (SEC)      =   0.0000    
       ELAPSED SYSTEM TIME (SEC)    =  0.10000    
       ELAPSED TOTAL CPU TIME (SEC) =  0.10000    
       ELAPSED WALLCLOCK TIME (SEC) =          0

               CONVERGENCE CHECKS FOR EQUILIBRIUM ITERATION     1


 AVERAGE FORCE                      7.999E-05   TIME AVG. FORCE       7.999E-05
 LARGEST RESIDUAL FORCE             6.741E-09   AT NODE        344   DOF  3
   INSTANCE: NEPER-1                                                                         
 LARGEST INCREMENT OF DISP.         1.000E-06   AT NODE         38   DOF  1
   INSTANCE: NEPER-1                                                                         
 LARGEST CORRECTION TO DISP.        1.000E-06   AT NODE         38   DOF  1
   INSTANCE: NEPER-1                                                                         
          DISP.    CORRECTION TOO LARGE COMPARED TO DISP.    INCREMENT
 
	SYMMETRIC DIRECT SPARSE SOLVER RUNNING ON
 	1 HOST:        1 MPI RANK  x 1 THREAD
 	NUMBER OF EQUATIONS:     2649
 	NUMBER OF RHS:           1
 	NUMBER OF FLOPS:         7.698e+07

     CHECK POINT   START OF SOLVER    

     CHECK POINT  END OF SOLVER       

       ELAPSED USER TIME (SEC)      =   0.0000    
       ELAPSED SYSTEM TIME (SEC)    =   0.0000    
       ELAPSED TOTAL CPU TIME (SEC) =   0.0000    
       ELAPSED WALLCLOCK TIME (SEC) =          0

               CONVERGENCE CHECKS FOR EQUILIBRIUM ITERATION     2


 AVERAGE FORCE                      7.999E-05   TIME AVG. FORCE       7.999E-05
 LARGEST RESIDUAL FORCE             8.755E-13   AT NODE        857   DOF  1
   INSTANCE: NEPER-1                                                                         
 LARGEST INCREMENT OF DISP.         1.000E-06   AT NODE         38   DOF  1
   INSTANCE: NEPER-1                                                                         
 LARGEST CORRECTION TO DISP.        8.147E-13   AT NODE          1   DOF  2
   INSTANCE: NEPER-1                                                                         
          THE FORCE     EQUILIBRIUM EQUATIONS HAVE CONVERGED

---------- RUNTIME EXCEPTION HAS OCCURRED ----------
*** ERROR: ABAQUS/standard rank 0 encountered a SEGMENTATION FAULT

Boundary Condition of Testcase.inp-ABAQUS error

Dear Eralp
Thank you very much for sharing this CrystalPlasticity code, it helps me a lot.
The testcase.inp dosen't have boundary condition, so I add boundary condition according to your video tutorials, but I got an error:

Too many attempts made for this increment.
Abaqus/Standard 2021 DATE 14-8-2023 TIME 11:47:12
SUMMARY OF JOB INFORMATION:
STEP INC ATT SEVERE EQUIL TOTAL TOTAL STEP INC OF DOF IF
DISCON ITERS ITERS TIME/ TIME/LPF TIME/LPF MONITOR RIKS
ITERS FREQ
1 1 1U 0 1 1 0.00 0.00 0.01000
1 1 2U 0 1 1 0.00 0.00 0.005000
1 1 3U 0 1 1 0.00 0.00 0.002500
1 1 4U 0 1 1 0.00 0.00 0.001250
1 1 5U 0 1 1 0.00 0.00 0.0006250

THE ANALYSIS HAS NOT BEEN COMPLETED

Would you happen to know where the problem should be? All the comments and suggestions are a tremendous help to me.

Sincerely,
zz123

1
2

The `file` in open() function need to be a full path

Hi, Eralp

The file parameter is defined as a relative path in open() function of write_statev_legend subroutine of useroutput.f., It is:
open(100,file='../STATEV_legend.txt',action='write', status='replace')

However, when a file is opened in a user subroutine, ABAQUS assumes that it is located in the scratch directory created for the simulation; therefore, full path names must be used in the OPEN statements in the subroutine to specify the location of the files.

Could you insert a comment upon that open() function or write it as a full path.

Best regards,
Li Bofeng

Questions about stress curves

Dear Eralp
When I use case(3) in usermaterials.f, the stress curve I extracted is as shown in the figure below. In my opinion, the normal stress curve should not have this period of decline.The boundary conditions are imposed consistent with the case you provided. I would like to know which parameter affects this stress result.

job-2-STRESS

the output file

Hi Eralp,
When I'm printing "Crystal to Sample tranformation: statev_gmatinv" that is data statev_outputs(1),a problem was encountered . The 9 parameters of the rotation matrixwere indeed non-zero, corresponding to the last frame output after load. But the initial rotation matrix of the polycrystalline model with Euler Angle information had 9 zeros. I have the euler Angle and rotation matrix information of the initial polycrystalline model. How can I get the real final Euler Angle information through the SDV 1-9 output by abaqus? Is it through the rotation matrix output by abaqus plus the identity matrix, and then multiplied by the initial Euler Angle rotation matrix, or by other ways?
I would be extremely grateful for any insights, advice, or recommended resources you can offer.

Uploading initial transformation matrix output by abaqus.csv…

Best,
Mengchong Ren

Issue of hardeningmodel3 in hardening.f

Hi,
The evolution for SSD density should be like this:
图片
and the annihilation constant has a relationship with k1:
图片
However, in hardening.f line 304, 'dssd' is calculated by the following codes:
dssd(is) = (k1/b dsqrt(rhofor(is))-k2ssd(is))*absgammadot(is)*dt
k1 probably shouldn't be divided by b.

Best regards,
Louis

What are the re-calculate elastic constants in the code?

Dear Erlap,

Thank you for sharing the code.

In CPFEM, the elastic constants are necessary parameters for simulation, such as C11, C12, and C44 for cubic crystal, or C11, C12, C44, C13, and C33 for hcp. But in the usermaterials.f, you did a re-calculate elastic constants, for example: e1 = (C11**2 + C11*C12 - 2.*C12**2)/(C11 + C12), v12 = C12/(C11 + C12), g12 = C44. Moreover, in hcp material, no single C** is given; only e1, e3, and g12 are found.

What are those re-calculate elastic constants meaning in the code? Why the C** is not needed in the hcp material?

The next question is, if I want to define some fully elastic materials, i.e., α and β pure Titanium, should I only define the C11~C44 regardless of the so-called re-calculate elastic constants, and turn off all the additional models such as the slip and Harding model.

At last, how can I calculate the elastic strain energy through the UMAT?

Thanks for your kind help,
Best,
Feiyu

Questions about using your code in the article

Dear Eralp,

I hope this message finds you well. I am reaching out to you regarding the use of your codes in my study.

Your program is immensely valuable and essential for my research. As a matter of academic integrity and to ensure proper acknowledgment of your work, I wanted to inquire if you have any specific citation requirements or if there are any particular articles of yours you would prefer me to reference in my paper regarding the use of your program. If there are any specific terms of use or licenses associated with the program, i would be glad to comply with them accordingly. Your guidance or any specific requirements you might have regarding citation in my paper would be immensely helpful for me.

Once again, thank you for your generosity in providing this resource to the academic community. Your assistance has been immensely appreciated and has significantly enriched our study.
I eagerly await your response. If you require any further information or have any queries, please feel free to reach out.

Best regards,
Ren Mengchong

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.