One mistake reminded repeatedly

solid-solid phase transformations, influence of stresses and strains
Post Reply
tatalemon
Posts: 20
Joined: Tue Oct 22, 2013 10:46 am
anti_bot: 333

One mistake reminded repeatedly

Post by tatalemon » Mon Nov 13, 2023 11:17 am

Hi,
I am making a simple oxidation simulation, but the following mistakes always appear repeatedly, I do not know what's the problem is ? and how
should I adjust the program script to avoid it, could you please give me some help or tips?
thanks a lot.
ERROR:
Time t = 0.0000000 s
CPU-time: 10 s
Current phase-field solver time step = 3.78E-15 s
Average conc. of comp. 1 = 15.0000000 at%
Average conc. of comp. 2 = 11.2500000 at%
Average conc. of comp. 3 = 48.3750000 at%
Temperature at the bottom = 1423.0 K
Temperature gradient = 0.00000 K/cm
Average number of iterations for stress solver = 0
Best solution (last call stress solver) for 0 iterations
Residual of stress solver = .32819E-09
Number of convergence mismatches = 0
Average number of strain iterations = 1.00
Displacement [%] of corner 1 = 0.00000 , 0.00000
Displacement [%] of corner 2 = -0.00000 , 0.00000
Displacement [%] of corner 3 = -0.00000 , -0.00000
Displacement [%] of corner 4 = 0.00000 , -0.00000
Normal Stress in x: 0.00000
Normal Stress in z: 0.00000
Fraction of phase 0: 0.00000
Fraction of phase 1: 0.75000
Fraction of phase 2: 0.00000
Fraction of phase 3: 0.25000
Fraction of phase 4: 0.00000
forrtl: error (73): floating divide by zero
Image PC Routine Line Source
libtq-linux-x86_6 00007F46DBEC5499 Unknown Unknown Unknown
libtq-linux-x86_6 00007F46DBEC3D6E Unknown Unknown Unknown
libtq-linux-x86_6 00007F46DBE8BEAF Unknown Unknown Unknown
libtq-linux-x86_6 00007F46DBE38D8F Unknown Unknown Unknown
libtq-linux-x86_6 00007F46DBE3D8C9 Unknown Unknown Unknown
libpthread.so.0 00007F46DB3926D0 Unknown Unknown Unknown
libtq-linux-x86_6 00007F46DBA17F99 qdycal1_ 5976 eq_cal.F
libtq-linux-x86_6 00007F46DBA0CF96 qthiss_ 688 eq_cal.F
libtq-linux-x86_6 00007F46DBA0BAD2 qequil_ 153 eq_cal.F
libtq-linux-x86_6 00007F46DB89AEFB tqce_ 2043 tqface.F
MICRESS_TQ 0000000000B812AF Unknown Unknown Unknown
MICRESS_TQ 0000000000B77B8D Unknown Unknown Unknown
MICRESS_TQ 0000000000B601BF Unknown Unknown Unknown
MICRESS_TQ 0000000000BA5897 Unknown Unknown Unknown
MICRESS_TQ 0000000000A23FB5 Unknown Unknown Unknown
MICRESS_TQ 000000000079E4D1 Unknown Unknown Unknown
MICRESS_TQ 0000000000407A86 Unknown Unknown Unknown
libc.so.6 00007F46DACD6445 Unknown Unknown Unknown
MICRESS_TQ 0000000000407979 Unknown Unknown Unknown

Bernd
Posts: 1505
Joined: Mon Jun 23, 2008 9:29 pm

Re: One mistake reminded repeatedly

Post by Bernd » Mon Nov 13, 2023 1:59 pm

Hi tatalemon,

Seems to be a problem deep inside the Thermo-Calc TQ-library, which may be due to bug or to errors in your input file. Can you please share your driving file and your .ges5-file if possible?

Bernd

Bernd
Posts: 1505
Joined: Mon Jun 23, 2008 9:29 pm

Re: One mistake reminded repeatedly

Post by Bernd » Tue Nov 14, 2023 12:36 pm

Dear tatalemon,

Thanks for sending me your input and .ges5-files. Your setup contains a Ni-based fcc-phase which is in contact with a gas phase. 2 oxide phases, (Corundum and Benisite) shall be nucleated at the interface between gas and fcc.

When running the simulation using MICRESS Version 6.4, the first problem I encounter is that diffusion data for fcc and gas, as obtained from the database, are extremely high (~1E+4 cm2/s), and Pt showing even a large negative value in fcc! So, my first question is from which data(base) the .ges5-file has been created, and whether the mobility data is perhaps incompatible.

Another question is why you have chosen the element O as matrix component. Given that the fcc-phase probably is the phase where all the transport has to go through, and the presumably very low solubility of O in fcc, I expect numerical problems. Why don't you use Ni as matrix component? All other phases need to be treated as fully stoichiometric anyway.

I did not get your error perhaps because due the huge diffusion coefficients it would take longer to get there...

Bernd

tatalemon
Posts: 20
Joined: Tue Oct 22, 2013 10:46 am
anti_bot: 333

Re: One mistake reminded repeatedly

Post by tatalemon » Wed Nov 15, 2023 11:08 am

Dear Bernd,

Thanks for your kind reply, I have followed your suggestion to check the original TDB files for thermodynamic and diffusion,for
the present system, it is a bit complicated, in order to find out the problem, I have actually change a simple binary system to test, which have compatible assessment.
I change the matrix component from original O as Ni, but when I test the driving file, the stoichmetric phase reminds ERROR for corundum phase,which I will also send you as attached file.
When I delete this line, the program worked, but the same ERROR as before appears again.
I have sent you the drving file and GES file for the simple system by private message.
could you please help me check it ? I am really wondering what the problem is...

best regards,
tatalemon

Bernd
Posts: 1505
Joined: Mon Jun 23, 2008 9:29 pm

Re: One mistake reminded repeatedly

Post by Bernd » Wed Nov 15, 2023 7:40 pm

Dear tatalemon,

The simulation does not behave exactly as you describe, but there are some catastrophic errors:

1.) When I run the files you sent me using MICRESS version 6.402, the code stops during input in section "Phase Diagram - input data" because it does not allow defining the matrix component stoichiometric:
...
4 0
...
Instead, you should define all dissolved elements as stoichiometric:
...
4 1 2
...
2.) The stress solver immediately diverges, probably because the elasticity data is not valid. Please do not use stress coupling for the moment, because it makes things unnecessarily more difficult. If you need it for the gamma-prime morphology, you may add it later with reasonable data.

3.) Obtaining diffusion data from the database gives 0 values, which means that no diffusion data is available. You should instead define diffusion manually ("diagonal d") for O in fcc and gas as well as for Al in fcc, gamma-prime and gas. I tried values of 1.E-5 cm2/s for Al and O in gas and O in fcc, and 1.E-8 cm2/s for Al in fcc and gamma-prime. For all other elements in other phases there is no solubility range, and hence, there cannot be diffusion.

Furthermore, there are other problems which occur later:

4.) The GAS phase should be defined as stoichiometric in all elements for numerical reasons. This has the consequence that no interactions of gas can be calculated with the oxide phases and with gamma prime, i.e. there will be no "gas deposition" of these phases. If this side-effect turns out to be crucial at some point, you should try to carefully remove this stoichiometric condition later.

5.) You have put the interface mobility for all phase interactions to a very small value of 2.5E-11. As a consequence, the system only approaches local equilibrium very slowly. It makes more sense to assume diffusion limited growth kinetics by using "normal mob_corr" in connection with the redistribution control flag (in "Phase interaction data"). I would do that for all interfaces as long as you don't have any evidence of other kinetic limitations.

6.) You have implicitly removed any sort of relinearisation (updating of thermodynamic interaction data) by using the "automatic" option. Please note that this option only works when temperature changes. You should use "manual" updating here, e.g. all 1.0 seconds.

7.) As already mentioned above, there cannot be any phase interaction between stoichiometric phases! This means you MUST switch off the interaction between phases 2/4, 2/5, and 4/5 to "no_phase_interaction". As I also recommended above to set the GAS phase stoichiometric, this is also necessary for 3/4, 3/5 and 2/3.

8.) To avoid pseudo-demixing due to multi_binary redistribution, you should switch to diagonal redistribution (keyword "diagonal" in section "Phase Diagram - input data").

Further, for reasons of performance, I recommend

9.) to use the "global" relinearisation option for all interfaces (section "Phase Diagram - input data")

10.) reduce the interface thickness to 3 or 4 cells only


Best wishes and good luck!

Bernd

tatalemon
Posts: 20
Joined: Tue Oct 22, 2013 10:46 am
anti_bot: 333

Re: One mistake reminded repeatedly

Post by tatalemon » Thu Nov 23, 2023 7:37 am

Dear Bernd,

Thanks for your patient kind suggestions, I have revised the driving file then and get some initial result, then it interrupted again :( ,
I really do not know the reason, the corresponding updated driving file have sent you.
could you please help me check it again ? Many thanks for your time and looking forward to your reply.

best regards,
tatalemon

Bernd
Posts: 1505
Joined: Mon Jun 23, 2008 9:29 pm

Re: One mistake reminded repeatedly

Post by Bernd » Thu Nov 23, 2023 11:38 pm

Dear tatalemon,

I have run your two driving files which you have sent me by PM, but I do not get the problems which you have faced ("floating divide by zero" and "floating overflow", resp.). One of the examples runs reasonably well (at least technically) with all solid phases appearing. The second one does not do anything because there is no diffusion, but it runs to the very end without crashing!

I don't understand why you experience these crashes while I do not. Which is the exact version of MICRESS and the TQ-library which you are using?

Bernd

tatalemon
Posts: 20
Joined: Tue Oct 22, 2013 10:46 am
anti_bot: 333

Re: One mistake reminded repeatedly

Post by tatalemon » Sat Nov 25, 2023 4:17 am

Dear Bernd,

I am now using the MICRESS version as MICRESS-6.402 which is installed in the work station of our university.
Actually, I always come accross the same problem even in other simulation cases.Attached is the information for TQ library.

Could you please help me solve this problem if possible ? Thanks a lot^^
best regards,
TQ library.jpg
TQ library.jpg (135.14 KiB) Viewed 150750 times

admin
Site Admin
Posts: 56
Joined: Fri Jun 13, 2008 4:03 pm

Re: One mistake reminded repeatedly

Post by admin » Wed Nov 29, 2023 4:49 pm

Dear tatalemon,

I now have been able to reproduce your error when running your input files with MICRESS_6.402 under Linux (before I was trying under WINDOWS). This leads me to the conclusion that what we see (floating divide by zero) is probably an old bug of the TQ-library (one of those we constantly removed together with Thermo-Calc in the past years), which here seemingly only appears with Linux and not with Windows, and which may be influenced by the different compilers having been used by Thermo-Calc people for the TQ-Library.

Unfortunately, there is no chance to fix old TQ-versions from 2017. The best solution would be to use more recent MICRESS versions (ideally the latest version 7.2) or to switch to Windows with your current version. We are sorry for that!

Bernd

tatalemon
Posts: 20
Joined: Tue Oct 22, 2013 10:46 am
anti_bot: 333

Re: One mistake reminded repeatedly

Post by tatalemon » Thu Nov 30, 2023 4:05 am

Dear Bernd,

Thanks for your kind reply anyway :) , I will try maybe the windows version in our another plaform.

It is a pity that the latest version 7.2 is still not available now in our present plaform.

Thanks, best regards,
tatalemon

Post Reply