Request for Guidance on Plastic Multiplier Calculation for Constitutive Model in FLAC3D

Dear Colleagues,
I am currently developing a new constitutive model that incorporates a curved yield surface, conceptually similar to the Drucker-Prager criterion. My current challenge lies in determining the plastic multiplier for this nonlinear yield surface within FLAC3D, as the manual does not provide explicit guidance for such cases.
I understand that a Newton-Raphson iterative scheme is a potential approach for estimating the plastic multiplier. However, I am concerned about the potential for numerical instability and significantly increased computational time that this method might introduce.
Therefore, I would greatly appreciate any guidance or insights you could offer on the most effective and stable methods for calculating the plastic multiplier in this context. If anyone has experience with a similar implementation or could provide a relevant code snippet, it would be immensely helpful.

Thank you for your time and assistance.
Sincerely,

Mojtaba

In FLAC3D, usually the time step is small due to the requirement of global level (the level higher than the constitutive level) of an explicit algorithm. So even the yield surface is non-linear, one iteration Newton-Raphson scheme is usually okay with a balance between numerical accuracy and computational time. However, this is not absolutely right but depending on the specific constitutive model.

Another approach is using the tangent surface at the current stress state also based on the assumption that time step is small sufficient. An example is the Hoek-Brown model implementation.

You can still use multiple-iteration of Newton-Raphson scheme if you think the numerical accuracy is more important. The best way is to examine if the iteration number is sensitive. If not, just set iteration number to one to save calculation time.

When developing a creep constitutive model (an elasto-viscoplastic constitutive model), I find that the Euler method has relatively low accuracy, leading to significant errors. Furthermore, when the constitutive model is complex, certain parameters have a substantial impact on the overall stress of the model (when these parameters exceed certain values, the stress and strain “explode”). May I ask how I can implement more stable and accurate methods in Visual Studio, such as the “central difference method”?Thanks!

are two sets of velocity curves of the creep constitutive model developed by myself.

The green line represents the simulation curve, and the blue line represents the theoretical curve. This is what I consider a relatively normal simulation scenario.I would greatly appreciate it if you could offer me some guidance.@cheng

We do not know the details of source codes nor the datafile so it is hard for us to comment. I just guess and have some suggestions:
(1) On implementation of ‘central difference method’: see an example of Maxwell model.
(2) You can also try the iteration method (see an example of Munson-Dawson model). Usually, the global FLAC3D requirement of of small time steps allow maximum iteration step of 1 to work for most cases. In other words, the global FLAC3D requirement of of small load steps usually makes the forward difference method work as well.
(3) For a creep model, (1) we need to set a maximum allowable time step. This is a requirement for all creep models; (2) we usually start from a very small time step (e.g., 1e-10, to even 1e-20) and then we can gradually increase it.
(4) If you use load/stress control in your simulation, a ramp method (gradually increasing load/stress) may be required. Or, try displacement/velocity control starting from a very small time step.

Finally and again, we cannot offer more helps since the source codes and datafile are not available to us.

Okay, thank you so much for taking the time out of your busy schedule to help me with my questions. I will revise and optimize according to your suggestions.

If it’s acceptable to you, would it be possible for me to send my complete code and related files to your email (the official email address provided on the website)? I will include a detailed explanation to minimize any inconvenience.

Thank you once again for your assistance!!! :handshake: :handshake: :handshake:

Please send it with complete details to flac3dsupport@itascacg.com.

Thank you for your help. I will take some time to organize the relevant documents.