Topic: material modelling of superelastic material

Hi,

I am a new ATENA user. I am trying to define a material model for a super elastic material. I would like to define it for one dimensional objects only. For the material modeling, I have to store the strain-stress value for all load steps. Could anyone please let me know, how can I store the variable for complete load steps?

Thanks,
Amit

Re: material modelling of superelastic material

Dear Amit,
it is not clear from your question if you have already looked into the definition dialog for 1D reinforcement material with multilinear stress-strain law? And, if so, what you need/wish do and is not possible there?

Regards,
Dobromil

3 (edited by amitjn7042 2016-02-25 13:12:24)

Re: material modelling of superelastic material

No, I don't think so that I can model the material as multi-linear stress-strain law. Because material doesn't behave as perfectly elastic material. It is classified as a pseudo elastic material. The behavior is somewhat like in the figure 3(b) in http://what-when-how.com/mechanics-of-t … ry-alloys/.

Re: material modelling of superelastic material

I understand you think even the multilinear plastic model can not capture the effects of your interest.
Please make clear which effects you are interested in - temperature dependency? If so, I suggest to look at the CCReinforcementWithTempDepProperties prototype in the 1-D Reinforcement material dialog in ATENA-GiD.

Re: material modelling of superelastic material

No, for time being I would like to keep the constant temperature for the study. I just want to develop the mechanical behavior.

Re: material modelling of superelastic material

Could you please explain what mechanical effect you are interested in, but think they can not be captured by the multilinear law or the temperature-dependent reinforcement material?

Have you already looked at the cyclic reinforcement material model (Bauschinger/Menegotto-Pinto)?

Re: material modelling of superelastic material

No, I haven't looked into it as of now. I will look into it and let you know if I need more information. Thank you for the information.

Thanks,
Amit Jain

Re: material modelling of superelastic material

Hi,

I looked into the Bauschinger/Menegotto-Pinto model, but I don't think I can completely describe the behaviour using this model. Could you please let me know the following things-
1. Can I include a history variable in CCUserMaterialDLL file. I would like to include this variable to store all strain and corresponding stress that material have gone so far. I would like to use this variable to define further stress-strain relationship
2. How can I model 1-D reinforcement to see its behaviour under uniaxial loading. I tried to model a reinforcement but it could not run as it is not confined within any material. If I cannot model simple one dimensional reinforcement, then what are the other options to see this behavior?

Thanks,
Amit Jain

Re: material modelling of superelastic material

Dear Amit,
please explain which effects/influences you wish to consider - how the history influences the response?

Ad 1. You can define new data attributes as you wish and store into them what you like when creating your own  UserMaterialDLL.

Ad 2. Please see ATENA Troubleshooting, 2.1.9.1 Reinforcement buckling and 2.2.12.3 Unbonded segments for basic ideas on bars not fully embedded in a volume material.

With some extra care, it is also possible to directly support a bar (or cable), at least using the ATENA-GiD interface (I am not sure about the Engineering 3D and 2D GUEs).

Re: material modelling of superelastic material

i am modeling pseudo elastic behavior of SMA (shape memory alloys). A typical stress strain behavior can be seen as in figure (b) http://what-when-how.com/wp-content/upl … p10103.jpg. So at some intermediate strain level, the corresponding stress depends on whether the material is in loading state or unloading state. Therefore, I would like to store stress for all previous time steps. Please let me know how can I do that?

Thanks,
Amit Jain

Re: material modelling of superelastic material

I am doubt that how can I store the stress value for each time step using the usermaterial dll file. As per my understanding this dll file is called for each time step and the variable which i will create using this file would be a local variable. How would I be able to access it next time step.

Please correct me if I am wrong. Also please let me know a way to do it.

Thank you

Re: material modelling of superelastic material

As mentioned in a previous reply, you need to define new data attribute(s) (state variable(s)) in your material DLL - see also the User Material DLL manual, 1.2.1. Material Definition.

13 (edited by amitjn7042 2016-03-12 18:12:43)

Re: material modelling of superelastic material

Hi,

I have updated the code and created the .dll file for the user material. But I could not be able to implement it into ATENA. I am getting the following error, which says that ATENA could not be able to load the .dll file

(Thread 1) CCException: Cannot load DLL: 1D_SMA_DLL.dll
Source line: 259, file: ..\..\Sources\CCMaterial\CCElastIsotropic\CCUserMaterial\CCUserMaterial_Misc.cpp, last modified at: Wed Jul 23 15:10:18 2014

My implementation procedure is as follows:
1. I have created a model in ATENA 3D, similar to tensile testing of a cable. (The cable is connected with 3D-linear-elastic-isotropic steel cubes). At the first step, I am specifying cable to follow the linear elastic reinforcement material. The program runs well and gives the expected results.
2. Now I have exported the input file of the model and replace the following code

 
MATERIAL ID 335544322 NAME "Reinforcement"
TYPE "CCReinforcement"
   E       2.000000e+005
   ALPHA   1.200000e-005
   RHO     7.850000e-003
   COMPRESSION 1

with the code:

MATERIAL ID 335544322 NAME "SMA"
TYPE "CC3DUserMaterial"
UserMaterialDLL "OneDimSMA.dll"
   Ea       67000   // UserMaterialParams
   Em      26300  // UserMaterialParams
   Ca       8          // UserMaterialParams
   Cm      13.5     // UserMaterialParams
   Ms       18.4     // UserMaterialParams
   Mf       9          // UserMaterialParams
   As       34.5     // UserMaterialParams
   Af        49       // UserMaterialParams
   epsL    0.067  // UserMaterialParams
   T         53       // UserMaterialParams

I have tested the OneDimSMA.dll file by importing its function in another C++ program. In that program the required functions are getting imported from .dll file and runs as expected.

Please let me know, where am I doing mistake.

Thanks,
Amit Jain

Re: material modelling of superelastic material

Dear Amit Jain,
it seems you are probably running the analysis for another Input (.inp) file than intended - the message reports "1D_SMA_DLL.dll", in the .inp quote I see "OneDimSMA.dll"?

Regards.

Re: material modelling of superelastic material

Dear Dpryl,

I don't know why I got different file name in message. But I tried to do it again and now I am getting the same file name in message file as I specified in .inp file. Could you please let me know where am I doing wrong.

The message I received is as follows:
(Thread 1) CCException: Cannot find function UserDLLCalculateResponse in DLL: OneDimSMA.dll : The specified procedure could not be found.

Source line: 289, file: ..\..\Sources\CCMaterial\CCElastIsotropic\CCUserMaterial\CCUserMaterial_Misc.cpp, last modified at: Wed Jul 23 15:10:18 2014

As I said earlier that I could able to run this program with the in-build 1-D material definition.

Thanks,
Amit Jain

Re: material modelling of superelastic material

Dear Amit Jain,
I assume you have defined the Calculate Response function. The next typical reason is name mangling/decorating, i.e., the additional characters the compiler+linker add to function names according to the parameters' and return value types. Please check the compiler settings and/or the strings in your compiled .dll.

With the Microsoft compilers (VC 2012 etc.), use the option
__declspec(dllexport)
to make your functions accessible through undecorated names. See https://msdn.microsoft.com/en-us/library/a90k134d.aspx for more information.

If you can not identify the name difference, please send us your .dll including the sources + information about which compiler you use.

Regards.

17 (edited by amitjn7042 2016-03-16 13:22:35)

Re: material modelling of superelastic material

Could you please give me your email address or please give me a test mail to amitjn7042@gmail.com .

Yes I am exporting the .dll file with "__declspec(dllexport)" keyword before the declaration of the function. An example of the same is as follows:

__declspec(dllexport) UINT CDECL UserDLLCalculateResponse(
      double deps[], double teps[], double sigma[], double UserMaterialParams[], double UserMaterialState[]
){
/*...*/
}

I will send you the .dll file once I will receive an email address. I am using Visual Studio Express 2013 to compile the program and to generate the .dll file. I have also written a program to use the generated .dll file. I am able use the functions from .dll file. I don't know why I am getting this error while using .inp file.

Please let me know what other information should I provide you with .dll file.

Re: material modelling of superelastic material

Please follow ATENA Troubleshooting, 2.1.1 to send us your model etc.

Re: material modelling of superelastic material

I have sent you the required files and information. Please let me know if you need any more information.

Thanks,
Amit Jain

Re: material modelling of superelastic material

Hi,
I have completed the material model and it is working nicely on my PC. When I tried to run the same input file on another PC after pasting .dll file in program directory, it is showing error that .dll file is not found.

What should be the error?

Thanks,
Amit Jain

Re: material modelling of superelastic material

Hello, the most likely reason is that some runtime libraries used by your .DLL are missing on the other computer. For example, if you use the Microsoft Visual C++ or Intel FORTRAN compiler to create your .DLL, you need to install the Visual C++ runtime or the Intel FORTRAN runtime (of course, version corresponding to your compiler). You also need to include the runtime DLLs of any additional libraries used in your .DLL.
Regards.

Re: material modelling of superelastic material

Hello,

I had developed the material model with your help and it now running well, but there are some issues:

1. Each time I run the ATENA on different computer, I need to create .dll file using Visual Studio. Is there anyway I can create .dll file once and it run on all computer?

2. As of now, I am working on a 64bit machine. I pasted the .dll file at both paths "C:\Program Files (x86)\CervenkaConsulting" and  "C:\Program Files\CervenkaConsulting\AtenaV5x64". When I try to run ATENA Studio for 64 bit. It gives me following error:

(Thread 1) CCException: Cannot load DLL: OneDimSMA.dll
Source line: 259, file: ..\..\Sources\CCMaterial\CCElastIsotropic\CCUserMaterial\CCUserMaterial_Misc.cpp, last modified at: Wed Jul 23 15:10:18 2014

Could you please help in solving these issues.

Thank you.

Re: material modelling of superelastic material

Hello amitjn7042,
ad 1.: please see the documentation of your compiler (e.g., Visual Studio 2015 or Intel Fortran) and any libraries used from your DLL (e.g., MKL) to find out which redistributables (runtime libraries) you need to install/copy with your .DLL.

Ad 2.: To use your material from the 64-bit ATENA version, you of course need to compile your .DLL as x64.