Hi,
I am trying to compile a new Kranc thorn on a MacBook Pro (Sierra) and am getting an error
COMPILING arrangements/Carpet/CarpetLib/src/prolongate_3d_real8_tvd.F90 gfortran: warning: couldn’t understand kern.osversion ‘16.1.0 /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:128.11:
CHKIDX (i0 ,j0 ,k0 , srciext,srcjext,srckext, "src") 1 Error: Unclassifiable statement at (1) /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:129.11:
CHKIDX (i0+2,j0+2,k0+2, srciext,srcjext,srckext, "src") 1 Error: Unclassifiable statement at (1) /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:170.11:
CHKIDX (dstioff+i+1, dstjoff+j+1, dstkoff+k+1, dstiext,dstjext,dstke 1 Error: Unclassifiable statement at (1) make[4]: *** [prolongate_3d_real8_tvd.F90.o] Error 1 make[3]: *** [make.checked] Error 2 make[2]: *** [/Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/lib/libthorn_CarpetLib.a] Error 2 make[1]: *** [kranc] Error 2 make: *** [kranc-config] Error 2
I previously installed the simple example for OSX and that ran OK.
The attached file contains the ThornList that I am using.
Do you have any suggestions?
Thank you
Regards
Guy
On 31 Jan 2017, at 08:21, Guy Pitman guy.pitman@bigpond.com wrote:
Hi,
I am trying to compile a new Kranc thorn on a MacBook Pro (Sierra) and am getting an error
COMPILING arrangements/Carpet/CarpetLib/src/prolongate_3d_real8_tvd.F90 gfortran: warning: couldn’t understand kern.osversion ‘16.1.0 /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:128.11:
CHKIDX (i0 ,j0 ,k0 , srciext,srcjext,srckext, "src") 1Error: Unclassifiable statement at (1) /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:129.11:
CHKIDX (i0+2,j0+2,k0+2, srciext,srcjext,srckext, "src") 1Error: Unclassifiable statement at (1) /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:170.11:
CHKIDX (dstioff+i+1, dstjoff+j+1, dstkoff+k+1, dstiext,dstjext,dstke 1Error: Unclassifiable statement at (1) make[4]: *** [prolongate_3d_real8_tvd.F90.o] Error 1 make[3]: *** [make.checked] Error 2 make[2]: *** [/Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/lib/libthorn_CarpetLib.a] Error 2 make[1]: *** [kranc] Error 2 make: *** [kranc-config] Error 2
I previously installed the simple example for OSX and that ran OK.
The attached file contains the ThornList that I am using. <kranc.th>
Do you have any suggestions?
Hi guy,
Just as a data point: these seem to be problems with the fortran compiler, rather than Kranc. Probably a fortran expert needs to answer.
Hello all,
if the Fortran compiler sees the chkinx macro then it sounds to me as if the preprocessor is set incorrectly. Could you check whether in your options file (configs/kranc/config-info or the one you passed to make via options=) does either set FPP to cpp --traditional or does not set it at all?
Yours, Roland
----- Original Message ----- From: Ian Hinder ian.hinder@aei.mpg.de Sent: 2017-01-31 - 06:30 To: Guy Pitman guy.pitman@bigpond.com Subject: Re: [Users] Compile question
On 31 Jan 2017, at 08:21, Guy Pitman guy.pitman@bigpond.com wrote:
Hi,
I am trying to compile a new Kranc thorn on a MacBook Pro (Sierra) and am getting an error
COMPILING arrangements/Carpet/CarpetLib/src/prolongate_3d_real8_tvd.F90 gfortran: warning: couldn’t understand kern.osversion ‘16.1.0 /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:128.11:
CHKIDX (i0 ,j0 ,k0 , srciext,srcjext,srckext, "src") 1Error: Unclassifiable statement at (1) /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:129.11:
CHKIDX (i0+2,j0+2,k0+2, srciext,srcjext,srckext, "src") 1Error: Unclassifiable statement at (1) /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:170.11:
CHKIDX (dstioff+i+1, dstjoff+j+1, dstkoff+k+1, dstiext,dstjext,dstke 1Error: Unclassifiable statement at (1) make[4]: *** [prolongate_3d_real8_tvd.F90.o] Error 1 make[3]: *** [make.checked] Error 2 make[2]: *** [/Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/lib/libthorn_CarpetLib.a] Error 2 make[1]: *** [kranc] Error 2 make: *** [kranc-config] Error 2
I previously installed the simple example for OSX and that ran OK.
The attached file contains the ThornList that I am using. <kranc.th>
Do you have any suggestions?
Hi guy,
Just as a data point: these seem to be problems with the fortran compiler, rather than Kranc. Probably a fortran expert needs to answer.
-- Ian Hinder http://members.aei.mpg.de/ianhin
Users mailing list Users@einsteintoolkit.org http://lists.einsteintoolkit.org/mailman/listinfo/users
Hello Roland,
The config-info file contains
# CONFIGURATION : kranc # CONFIG-DATE : Tue Jan 31 07:07:04 2017 (GMT) # CONFIG-HOST : Guy-Pitman.local # CONFIG-STATUS : 0 # CONFIG-OPTIONS : PROMPT=no THORNLIST=kranc.th http://kranc.th/
I assume that the example in https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users uses a fortran compiler-
I can successfully compile it using ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=manifest/einsteintoolkit.th but I am not clear where the compiler switches reside and why my Kranc example is failing.
Regards
Guy
On 31 Jan. 2017, at 10:36 pm, Roland Haas rhaas@illinois.edu wrote:
Hello all,
if the Fortran compiler sees the chkinx macro then it sounds to me as if the preprocessor is set incorrectly. Could you check whether in your options file (configs/kranc/config-info or the one you passed to make via options=) does either set FPP to cpp --traditional or does not set it at all?
Yours, Roland
----- Original Message ----- From: Ian Hinder ian.hinder@aei.mpg.de Sent: 2017-01-31 - 06:30 To: Guy Pitman guy.pitman@bigpond.com Subject: Re: [Users] Compile question
On 31 Jan 2017, at 08:21, Guy Pitman guy.pitman@bigpond.com wrote:
Hi,
I am trying to compile a new Kranc thorn on a MacBook Pro (Sierra) and am getting an error
COMPILING arrangements/Carpet/CarpetLib/src/prolongate_3d_real8_tvd.F90 gfortran: warning: couldn’t understand kern.osversion ‘16.1.0 /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:128.11:
CHKIDX (i0 ,j0 ,k0 , srciext,srcjext,srckext, "src") 1Error: Unclassifiable statement at (1) /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:129.11:
CHKIDX (i0+2,j0+2,k0+2, srciext,srcjext,srckext, "src") 1Error: Unclassifiable statement at (1) /Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/build/CarpetLib/prolongate_3d_real8_tvd.f90:170.11:
CHKIDX (dstioff+i+1, dstjoff+j+1, dstkoff+k+1, dstiext,dstjext,dstke 1Error: Unclassifiable statement at (1) make[4]: *** [prolongate_3d_real8_tvd.F90.o] Error 1 make[3]: *** [make.checked] Error 2 make[2]: *** [/Users/Guy/Documents/Einsteintoolkit/Cactus/configs/kranc/lib/libthorn_CarpetLib.a] Error 2 make[1]: *** [kranc] Error 2 make: *** [kranc-config] Error 2
I previously installed the simple example for OSX and that ran OK.
The attached file contains the ThornList that I am using. <kranc.th>
Do you have any suggestions?
Hi guy,
Just as a data point: these seem to be problems with the fortran compiler, rather than Kranc. Probably a fortran expert needs to answer.
-- Ian Hinder http://members.aei.mpg.de/ianhin
Users mailing list Users@einsteintoolkit.org http://lists.einsteintoolkit.org/mailman/listinfo/users
-- My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from http://keys.gnupg.net.
Hello Guy,
The config-info file contains
# CONFIGURATION : kranc # CONFIG-DATE : Tue Jan 31 07:07:04 2017 (GMT) # CONFIG-HOST : Guy-Pitman.local # CONFIG-STATUS : 0 # CONFIG-OPTIONS : PROMPT=no THORNLIST=kranc.th http://kranc.th/
If this is all there is, then no, no fortran compiler was set at all.
I assume that the example in https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users uses a fortran compiler-
It does, you need to however take care to use simfactory/bin/sim setup (in the tutorial) passing it a correct option list. If not, then there are no useful options set.
The error that you reported is not from within Kranc but from within Carpet. Not that your file above list a configuration "kranc" while simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=manifest/einsteintoolkit.th built a configuration "sim".
So when you compiled the kranc configuration (using just make?) you need to make sure to pass it a proper option file, somthing like
make kranc options=simfactory/mdb/optionlists/whatnot.cfg
or (assuming the configuration sim worked, you can steal it from there):
make kranc options=configs/sim/config-info
though this is not really very clean.
Yours, Roland
Hello again Roland,
I tried make kranc options=configs/sim/config-info THORNLIST=kranc.th PROMPT=no
but I got the same error as before?
I attach the config-info file.
Regards
Guy
On 1 Feb. 2017, at 8:55 am, Roland Haas rhaas@illinois.edu wrote:
Hello Guy,
The config-info file contains
# CONFIGURATION : kranc # CONFIG-DATE : Tue Jan 31 07:07:04 2017 (GMT) # CONFIG-HOST : Guy-Pitman.local # CONFIG-STATUS : 0 # CONFIG-OPTIONS : PROMPT=no THORNLIST=kranc.th http://kranc.th/
If this is all there is, then no, no fortran compiler was set at all.
I assume that the example in https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users uses a fortran compiler-
It does, you need to however take care to use simfactory/bin/sim setup (in the tutorial) passing it a correct option list. If not, then there are no useful options set.
The error that you reported is not from within Kranc but from within Carpet. Not that your file above list a configuration "kranc" while simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=manifest/einsteintoolkit.th built a configuration "sim".
So when you compiled the kranc configuration (using just make?) you need to make sure to pass it a proper option file, somthing like
make kranc options=simfactory/mdb/optionlists/whatnot.cfg
or (assuming the configuration sim worked, you can steal it from there):
make kranc options=configs/sim/config-info
though this is not really very clean.
Yours, Roland
-- My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from http://keys.gnupg.net.
Sorry I attached the wrong file - it is
On 1 Feb. 2017, at 9:18 am, Guy guy.pitman@bigpond.com wrote:
Hello again Roland,
I tried make kranc options=configs/sim/config-info THORNLIST=kranc.th http://kranc.th/ PROMPT=no
but I got the same error as before?
I attach the config-info file.
<config-info>
Regards
Guy
On 1 Feb. 2017, at 8:55 am, Roland Haas <rhaas@illinois.edu mailto:rhaas@illinois.edu> wrote:
Hello Guy,
The config-info file contains
# CONFIGURATION : kranc # CONFIG-DATE : Tue Jan 31 07:07:04 2017 (GMT) # CONFIG-HOST : Guy-Pitman.local # CONFIG-STATUS : 0 # CONFIG-OPTIONS : PROMPT=no THORNLIST=kranc.th http://kranc.th/ <http://kranc.th/ http://kranc.th/>
If this is all there is, then no, no fortran compiler was set at all.
I assume that the example in https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users <https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users https://docs.einsteintoolkit.org/et-docs/Simplified_Tutorial_for_New_Users> uses a fortran compiler-
It does, you need to however take care to use simfactory/bin/sim setup (in the tutorial) passing it a correct option list. If not, then there are no useful options set.
The error that you reported is not from within Kranc but from within Carpet. Not that your file above list a configuration "kranc" while simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=manifest/einsteintoolkit.th http://einsteintoolkit.th/ built a configuration "sim".
So when you compiled the kranc configuration (using just make?) you need to make sure to pass it a proper option file, somthing like
make kranc options=simfactory/mdb/optionlists/whatnot.cfg
or (assuming the configuration sim worked, you can steal it from there):
make kranc options=configs/sim/config-info
though this is not really very clean.
Yours, Roland
-- My email is as private as my paper mail. I therefore support encrypting and signing email messages. Get my PGP key from http://keys.gnupg.net http://keys.gnupg.net/.
Users mailing list Users@einsteintoolkit.org http://lists.einsteintoolkit.org/mailman/listinfo/users
Hi Guy,
Is there a reason you are not using simfactory to build your kranc configuration? The reason that simfactory has support for building Cactus is that building it using just "make" can be quite complicated, depending on the machine. I recommend to use simfactory to build the configuration, since that is what has worked for you in the past.
Hi Ian,
I was following the method used in the Kranccode.org http://kranccode.org/ tutorial - I didn’t realise that you could just replace the Thornlist file in the command ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th
- that seems to work! Thank you very much.
Regards
Guy
On 1 Feb. 2017, at 8:24 pm, Ian Hinder ian.hinder@aei.mpg.de wrote:
Hi Guy,
Is there a reason you are not using simfactory to build your kranc configuration? The reason that simfactory has support for building Cactus is that building it using just "make" can be quite complicated, depending on the machine. I recommend to use simfactory to build the configuration, since that is what has worked for you in the past.
-- Ian Hinder http://members.aei.mpg.de/ianhin http://members.aei.mpg.de/ianhin
On 1 Feb 2017, at 12:29, Guy guy.pitman@bigpond.com wrote:
Hi Ian,
I was following the method used in the Kranccode.org tutorial - I didn’t realise that you could just replace the Thornlist file in the command ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th
- that seems to work! Thank you very much.
I should add a comment to the tutorial suggesting that you can use simfactory if you are familiar with it. For the simple kranc example, which doesn't need fortran etc or any complicated thorns, it is close to working out of the box with just plain "make" on some systems, which is why I didn't want to introduce the additional layer of complexity that is simfactory.
Hi Ian,
Thanks for you reply-one more question:
The Kranccode example seems to imply that by adding a pointer at the bottom of the Thornlist which refers to the Kranc thorn Example, that the compilation will include that code in the simulation. The simfactory thornlist (einsteintoolkit.th http://einsteintoolkit.th/) doesn’t have a pointer at the end, so I assume that all of the thorns are combined in the simulation. Without knowing what all of the individual thorns are doing, is there a risk that the thornlist that I made up for my Kranccode example (which I did by gradually adding groups of thorns based on error messages) could be incompatible? Is there a document that explains what all the thorns do and how they can be combined?
Thanks and regards
Guy
On 1 Feb. 2017, at 10:07 pm, Ian Hinder ian.hinder@aei.mpg.de wrote:
On 1 Feb 2017, at 12:29, Guy <guy.pitman@bigpond.com mailto:guy.pitman@bigpond.com> wrote:
Hi Ian,
I was following the method used in the Kranccode.org http://kranccode.org/ tutorial - I didn’t realise that you could just replace the Thornlist file in the command ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th http://kranc.th/
- that seems to work! Thank you very much.
I should add a comment to the tutorial suggesting that you can use simfactory if you are familiar with it. For the simple kranc example, which doesn't need fortran etc or any complicated thorns, it is close to working out of the box with just plain "make" on some systems, which is why I didn't want to introduce the additional layer of complexity that is simfactory.
-- Ian Hinder http://members.aei.mpg.de/ianhin http://members.aei.mpg.de/ianhin
On 2 Feb 2017, at 12:53, Guy guy.pitman@bigpond.com wrote:
Hi Ian,
Thanks for you reply-one more question:
The Kranccode example seems to imply that by adding a pointer at the bottom of the Thornlist which refers to the Kranc thorn Example, that the compilation will include that code in the simulation.
Hi Guy,
Yes, the thornlist is simply the list of thorns that are compiled into the configuration. By adding a new thorn to the thornlist, it will be included in the final executable built from that thornlist.
The simfactory thornlist (einsteintoolkit.th) doesn’t have a pointer at the end, so I assume that all of the thorns are combined in the simulation.
I'm not sure I understand what you mean by "pointer". The thornlist is just the list of thorns that are included.
Without knowing what all of the individual thorns are doing, is there a risk that the thornlist that I made up for my Kranccode example (which I did by gradually adding groups of thorns based on error messages) could be incompatible?
I think I'm not following. What are you trying to achieve? If you want to follow along the Kranc tutorial, then you only need the thornlist in that tutorial; you shouldn't need any extra thorns. Since Cactus doesn't compile out-of-the-box on Mac OS, the only change you should need to make is to compile with simfactory instead of with make. This doesn't mean using the einsteintoolkit.th thornlist; you would still use the thornlist from the tutorial. For example, you could replace
make kranc-config THORNLIST=kranc.th PROMPT=no
with
sim build kranc --thornlist kranc.th
Is there a document that explains what all the thorns do and how they can be combined?
I think you don't need this, but if you want to know what a given thorn does, your best bet is the documentation, which you can find at
https://einsteintoolkit.org/documentation/ThornDoc/
Hi Ian,
Thanks for your reply- please see below.
On 3 Feb. 2017, at 3:05 am, Ian Hinder ian.hinder@aei.mpg.de wrote:
On 2 Feb 2017, at 12:53, Guy guy.pitman@bigpond.com wrote:
Hi Ian,
Thanks for you reply-one more question:
The Kranccode example seems to imply that by adding a pointer at the bottom of the Thornlist which refers to the Kranc thorn Example, that the compilation will include that code in the simulation.
Hi Guy,
Yes, the thornlist is simply the list of thorns that are compiled into the configuration. By adding a new thorn to the thornlist, it will be included in the final executable built from that thornlist.
The simfactory thornlist (einsteintoolkit.th) doesn’t have a pointer at the end, so I assume that all of the thorns are combined in the simulation.
I'm not sure I understand what you mean by "pointer". The thornlist is just the list of thorns that are included.
By pointer I meant the path to the KrancExample SimpleWave was added at the end of the Thornlist
echo 'KrancNumericalTools/GenericFD KrancExamples/SimpleWave' >> kranc.th I can understand that this compiles this Example , together with some required thorns.
Without knowing what all of the individual thorns are doing, is there a risk that the thornlist that I made up for my Kranccode example (which I did by gradually adding groups of thorns based on error messages) could be incompatible?
I think I'm not following. What are you trying to achieve? If you want to follow along the Kranc tutorial, then you only need the thornlist in that tutorial; you shouldn't need any extra thorns. Since Cactus doesn't compile out-of-the-box on Mac OS, the only change you should need to make is to compile with simfactory instead of with make. This doesn't mean using the einsteintoolkit.th thornlist; you would still use the thornlist from the tutorial. For example, you could replace
make kranc-config THORNLIST=kranc.th PROMPT=no
with
sim build kranc --thornlist kranc.th
I guess I am trying to understand the relationship between Kranc thorns as in the examples and other thorns - now that I know where to look for the latter I will probably be able to work it out - presumably it only makes sense to combine certain combinations of thorns , and the example Kranc thorns require specific thorns to be present, but if you add others in to the Thornlist this may change behaviour. I am trying to understand how one would go about building a new simulation combining existing thorns and new Kranc thorns that would work together. For example would it make sense to combine more than one Kranc thorn in the thornlist?
Is there a document that explains what all the thorns do and how they can be combined?
I think you don't need this, but if you want to know what a given thorn does, your best bet is the documentation, which you can find at
https://einsteintoolkit.org/documentation/ThornDoc/
-- Ian Hinder http://members.aei.mpg.de/ianhin
Regards
Guy
On 3 Feb 2017, at 00:34, Guy guy.pitman@bigpond.com wrote:
By pointer I meant the path to the KrancExample SimpleWave was added at the end of the Thornlist
echo 'KrancNumericalTools/GenericFD KrancExamples/SimpleWave' >> kranc.th I can understand that this compiles this Example , together with some required thorns.
Yes. The thornlist is a file containing a list of the thorns to include in the configuration.
Without knowing what all of the individual thorns are doing, is there a risk that the thornlist that I made up for my Kranccode example (which I did by gradually adding groups of thorns based on error messages) could be incompatible?
I think I'm not following. What are you trying to achieve? If you want to follow along the Kranc tutorial, then you only need the thornlist in that tutorial; you shouldn't need any extra thorns. Since Cactus doesn't compile out-of-the-box on Mac OS, the only change you should need to make is to compile with simfactory instead of with make. This doesn't mean using the einsteintoolkit.th thornlist; you would still use the thornlist from the tutorial. For example, you could replace
make kranc-config THORNLIST=kranc.th PROMPT=no
with
sim build kranc --thornlist kranc.th
I guess I am trying to understand the relationship between Kranc thorns as in the examples and other thorns - now that I know where to look for the latter I will probably be able to work it out - presumably it only makes sense to combine certain combinations of thorns , and the example Kranc thorns require specific thorns to be present, but if you add others in to the Thornlist this may change behaviour.
Yes.
I am trying to understand how one would go about building a new simulation combining existing thorns and new Kranc thorns that would work together. For example would it make sense to combine more than one Kranc thorn in the thornlist?
Absolutely; Cactus is extremely modular. Note that just because a thorn is in the thornlist, and hence in the executable, that doesn't mean that it will be activated at runtime. That depends on the parameter file. The parameter file that you give to cactus described which thorns to activate (the ActiveThorns lines), and those are the ones that run as part of the simulation. Usually, a large number of thorns are needed. For example, there will probably be a thorn to set initial data, another to evolve the equations, and maybe some thorns to compute analysis quantities. Depending on the application, these may all be in one thorn, or they may be distributed. For example, for a binary black hole evolution, the TwoPunctures thorn computes the initial data, ML_BSSN evolves the metric, and WeylScal4 computes the gravitational radiation via Psi4. Both ML_BSSN and WeylScal4 are actually Kranc thorns.
Hi Ian,
I ran the following command ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th http://kranc.th/ with the attached Thornlist, which included the CT_Dust Kranc thorn, and then ran ./simfactory/bin/sim submit static_tov --parfile=par/static_tov_small.par --procs=1 --walltime=8:0:0 with the attached parameter file, which also includes CT_Dust , but when I look at the output in ~/simulations/static_tov/output-0003, the static_tov_small.par which I assume has been copied from the par directory has CT_Dust removed? The static_tov.out file also has no reference to CT_Dust. Can you see what I am doing wrong?
Regards Guy
On 6 Feb 2017, at 7:21 am, Ian Hinder ian.hinder@aei.mpg.de wrote:
On 3 Feb 2017, at 00:34, Guy <guy.pitman@bigpond.com mailto:guy.pitman@bigpond.com> wrote:
By pointer I meant the path to the KrancExample SimpleWave was added at the end of the Thornlist
echo 'KrancNumericalTools/GenericFD KrancExamples/SimpleWave' >> kranc.th http://kranc.th/ I can understand that this compiles this Example , together with some required thorns.
Yes. The thornlist is a file containing a list of the thorns to include in the configuration.
Without knowing what all of the individual thorns are doing, is there a risk that the thornlist that I made up for my Kranccode example (which I did by gradually adding groups of thorns based on error messages) could be incompatible?
I think I'm not following. What are you trying to achieve? If you want to follow along the Kranc tutorial, then you only need the thornlist in that tutorial; you shouldn't need any extra thorns. Since Cactus doesn't compile out-of-the-box on Mac OS, the only change you should need to make is to compile with simfactory instead of with make. This doesn't mean using the einsteintoolkit.th http://einsteintoolkit.th/ thornlist; you would still use the thornlist from the tutorial. For example, you could replace
make kranc-config THORNLIST=kranc.th http://kranc.th/ PROMPT=no
with
sim build kranc --thornlist kranc.th http://kranc.th/
I guess I am trying to understand the relationship between Kranc thorns as in the examples and other thorns - now that I know where to look for the latter I will probably be able to work it out - presumably it only makes sense to combine certain combinations of thorns , and the example Kranc thorns require specific thorns to be present, but if you add others in to the Thornlist this may change behaviour.
Yes.
I am trying to understand how one would go about building a new simulation combining existing thorns and new Kranc thorns that would work together. For example would it make sense to combine more than one Kranc thorn in the thornlist?
Absolutely; Cactus is extremely modular. Note that just because a thorn is in the thornlist, and hence in the executable, that doesn't mean that it will be activated at runtime. That depends on the parameter file. The parameter file that you give to cactus described which thorns to activate (the ActiveThorns lines), and those are the ones that run as part of the simulation. Usually, a large number of thorns are needed. For example, there will probably be a thorn to set initial data, another to evolve the equations, and maybe some thorns to compute analysis quantities. Depending on the application, these may all be in one thorn, or they may be distributed. For example, for a binary black hole evolution, the TwoPunctures thorn computes the initial data, ML_BSSN evolves the metric, and WeylScal4 computes the gravitational radiation via Psi4. Both ML_BSSN and WeylScal4 are actually Kranc thorns.
-- Ian Hinder http://members.aei.mpg.de/ianhin http://members.aei.mpg.de/ianhin
On 6 Feb 2017, at 02:08, Guy Pitman guy.pitman@bigpond.com wrote:
Hi Ian,
I ran the following command ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th with the attached Thornlist, which included the CT_Dust Kranc thorn, and then ran ./simfactory/bin/sim submit static_tov --parfile=par/static_tov_small.par --procs=1 --walltime=8:0:0 with the attached parameter file, which also includes CT_Dust , but when I look at the output in ~/simulations/static_tov/output-0003, the static_tov_small.par which I assume has been copied from the par directory has CT_Dust removed? The static_tov.out file also has no reference to CT_Dust. Can you see what I am doing wrong?
Hi,
sim submit not only creates a new simulation, but also continues existing simulations. The fact that you have an output-0003 means this is the 4th time you have submitted the same simulation. In that case, I don't know whether simfactory tries to update the parameter file. It really shouldn't accept the option without an error if it's just going to ignore it, but I wouldn't be surprised if it did. I suggest to delete the whole simulation and try again. You can also use
sim purge static_tov
which will do the deletion.
Thanks Ian,
I did a sim purge static_tov and tried rebuilding with ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th http://kranc.th/ (I needed to add a couple more thorns into kranc.th after submitting and getting error messages) but now I get an error
Formaline: Pushing to master git repository... Formaline: ERROR during: Pushing to master git repository Pushing to /Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git Total 0 (delta 0), reused 0 (delta 0) remote: error: cannot lock ref 'refs/heads/config-sim-Guy-Pitman.local-Users-Guy-Documents-EinsteinToolkit-Cactus': is at ca3fd643c45d8b1a29e9cbace4d149036b6534a3 but expected 883ab226b3bd16363cdf557c0752a9d97ccfb396 To /Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git = [up to date] master -> master ! [remote rejected] config-sim-Guy-Pitman.local-Users-Guy-Documents-EinsteinToolkit-Cactus -> config-sim-Guy-Pitman.local-Users-Guy-Documents-EinsteinToolkit-Cactus (failed to update ref) error: failed to push some refs to '/Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git'
I have googled the git errors, but nothing seems to help- can I reinitialise the repositories some how to get over this error?
Thanks and regards
Guy
On 6 Feb 2017, at 7:12 pm, Ian Hinder ian.hinder@aei.mpg.de wrote:
On 6 Feb 2017, at 02:08, Guy Pitman <guy.pitman@bigpond.com mailto:guy.pitman@bigpond.com> wrote:
Hi Ian,
I ran the following command ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th http://kranc.th/ with the attached Thornlist, which included the CT_Dust Kranc thorn, and then ran ./simfactory/bin/sim submit static_tov --parfile=par/static_tov_small.par --procs=1 --walltime=8:0:0 with the attached parameter file, which also includes CT_Dust , but when I look at the output in ~/simulations/static_tov/output-0003, the static_tov_small.par which I assume has been copied from the par directory has CT_Dust removed? The static_tov.out file also has no reference to CT_Dust. Can you see what I am doing wrong?
Hi,
sim submit not only creates a new simulation, but also continues existing simulations. The fact that you have an output-0003 means this is the 4th time you have submitted the same simulation. In that case, I don't know whether simfactory tries to update the parameter file. It really shouldn't accept the option without an error if it's just going to ignore it, but I wouldn't be surprised if it did. I suggest to delete the whole simulation and try again. You can also use
sim purge static_tov
which will do the deletion.
-- Ian Hinder http://members.aei.mpg.de/ianhin http://members.aei.mpg.de/ianhin
On 7 Feb 2017, at 04:16, Guy guy.pitman@bigpond.com wrote:
Thanks Ian,
I did a sim purge static_tov and tried rebuilding with ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th (I needed to add a couple more thorns into kranc.th after submitting and getting error messages) but now I get an error
Formaline: Pushing to master git repository... Formaline: ERROR during: Pushing to master git repository Pushing to /Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git Total 0 (delta 0), reused 0 (delta 0) remote: error: cannot lock ref 'refs/heads/config-sim-Guy-Pitman.local-Users-Guy-Documents-EinsteinToolkit-Cactus': is at ca3fd643c45d8b1a29e9cbace4d149036b6534a3 but expected 883ab226b3bd16363cdf557c0752a9d97ccfb396 To /Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git = [up to date] master -> master ! [remote rejected] config-sim-Guy-Pitman.local-Users-Guy-Documents-EinsteinToolkit-Cactus -> config-sim-Guy-Pitman.local-Users-Guy-Documents-EinsteinToolkit-Cactus (failed to update ref) error: failed to push some refs to '/Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git'
I have googled the git errors, but nothing seems to help- can I reinitialise the repositories some how to get over this error?
Hi,
It sounds like something went wrong with the git repository that stores the source code for all builds of Cactus (in case you want to go back later and see what code was used to build a given simulation executable). It's possible that a build was interrupted at a particularly bad time, so that the git repository became inconsistent. I have never seen this error before, however.
A git expert could probably do some forensics and recover the repository, but I suggest to just delete it:
rm -rf cactusjar.git
and try to build again.
If that doesn't work, you can remove Formaline from your thornlist and rebuild with
./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th
Thanks Ian,
I tried deleting the repository as you suggested, but then the push error changed to /usr/local/bin/git --git-dir='/Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git/.git' push -v -f --all '/Users/Guy/Documents/EinsteinToolkit/Cactus/../CactusSourceJar.git’
from
/usr/local/bin/git --git-dir='/Users/Guy/Documents/EinsteinToolkit/Cactus/configs/sim/configjar.git/.git' push -v -f --all '/Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git’ (the configjar.git was somehow recreated here)
I then tried deleting both cactusjar.git and configjar.git, but the same thing happened.
I then tried removing Formaline from the thornlist and it ran OK. I am not sure if I will need the repositories?
Regards
Guy
On 7 Feb 2017, at 7:22 pm, Ian Hinder ian.hinder@aei.mpg.de wrote:
On 7 Feb 2017, at 04:16, Guy <guy.pitman@bigpond.com mailto:guy.pitman@bigpond.com> wrote:
Thanks Ian,
I did a sim purge static_tov and tried rebuilding with ./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th http://kranc.th/ (I needed to add a couple more thorns into kranc.th http://kranc.th/ after submitting and getting error messages) but now I get an error
Formaline: Pushing to master git repository... Formaline: ERROR during: Pushing to master git repository Pushing to /Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git Total 0 (delta 0), reused 0 (delta 0) remote: error: cannot lock ref 'refs/heads/config-sim-Guy-Pitman.local-Users-Guy-Documents-EinsteinToolkit-Cactus': is at ca3fd643c45d8b1a29e9cbace4d149036b6534a3 but expected 883ab226b3bd16363cdf557c0752a9d97ccfb396 To /Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git = [up to date] master -> master ! [remote rejected] config-sim-Guy-Pitman.local-Users-Guy-Documents-EinsteinToolkit-Cactus -> config-sim-Guy-Pitman.local-Users-Guy-Documents-EinsteinToolkit-Cactus (failed to update ref) error: failed to push some refs to '/Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git'
I have googled the git errors, but nothing seems to help- can I reinitialise the repositories some how to get over this error?
Hi,
It sounds like something went wrong with the git repository that stores the source code for all builds of Cactus (in case you want to go back later and see what code was used to build a given simulation executable). It's possible that a build was interrupted at a particularly bad time, so that the git repository became inconsistent. I have never seen this error before, however.
A git expert could probably do some forensics and recover the repository, but I suggest to just delete it:
rm -rf cactusjar.git
and try to build again.
If that doesn't work, you can remove Formaline from your thornlist and rebuild with
./simfactory/bin/sim build --mdbkey make 'make -j2' --thornlist=kranc.th http://kranc.th/
-- Ian Hinder http://members.aei.mpg.de/ianhin http://members.aei.mpg.de/ianhin
On 8 Feb 2017, at 00:27, Guy Pitman guy.pitman@bigpond.com wrote:
Thanks Ian,
I tried deleting the repository as you suggested, but then the push error changed to /usr/local/bin/git --git-dir='/Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git/.git' push -v -f --all '/Users/Guy/Documents/EinsteinToolkit/Cactus/../CactusSourceJar.git’
from
/usr/local/bin/git --git-dir='/Users/Guy/Documents/EinsteinToolkit/Cactus/configs/sim/configjar.git/.git' push -v -f --all '/Users/Guy/Documents/EinsteinToolkit/Cactus/cactusjar.git’ (the configjar.git was somehow recreated here)
I then tried deleting both cactusjar.git and configjar.git, but the same thing happened.
I then tried removing Formaline from the thornlist and it ran OK. I am not sure if I will need the repositories?
Hi Guy,
I wouldn't worry - most people never look at them.
users@lists.einsteintoolkit.org