[aspect-devel] The output of nonadiabatic_temperature

Wolfgang Bangerth bangerth at tamu.edu
Mon Oct 31 18:34:15 PDT 2016

> When I run my new aspect, I got errors like
> ****************************************************
> *** Timestep 100:  t=1.18035e+08 years
>    Solving temperature system... 16 iterations.
>    Solving C_1 system ... 16 iterations.
>    Rebuilding Stokes preconditioner...
>    Solving Stokes system...
>    Postprocessing:
 > [...]
> I put my 3 modified file
> at https://github.com/NanZHANG-cuboulder/aspect_development/
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_NanZHANG-2Dcuboulder_aspect-5Fdevelopment_&d=CwMFaQ&c=ODFT-G5SujMiGrKuoJJjVg&r=KkOrCga5IcWjxrpeTIn1nmQG6jJSnwzdZwfNniMeeCc&m=6_zs8lkRTl_7cBGlAWG99lVacBabuXWVn3Ko7lFCJ5Y&s=gonlTfzncua-2YtGNGDv7GDd7smM2LSpONCu0H3zzE0&e=>.
> The modifications are marked with nanzhang. I wonder if you guys could help me
> find the problem?

Nan -- you need to learn to use a debugger so you can figure out in what line 
of your code the problem happens and, possibly, why.

That said, your problem is (as far as I can tell) caused by the fact that you 
declare the ::aspect::ave_temp as 'static' in the header file. It would 
require a lengthy email to describe what exactly that entails, but in short 
what you need to do is mark it as 'extern' instead, i.e., in visualization.h, 
   extern std::vector<double> ave_temp;

Then, in visualization.cc, write
   std::vector<double> ave_temp;
within namespace aspect at the top of the file. I think this will probably do.


Wolfgang Bangerth          email:                 bangerth at colostate.edu
                            www: http://www.math.colostate.edu/~bangerth/

More information about the Aspect-devel mailing list