Hi Matthew,

Great, I’m glad to hear that! 

> So my last question is what is the difference between a flag being ON vs set 
> up with external dependencies ( which is what trilinos is set at now) 


When you set one of these flags to “ON”, you are demanding from CMake that this 
option be enabled and expect that the associated package must be set up 
correctly. Similarly, when the flag is set to “OFF” then the auto-detection for 
that package will be skipped (and, even if you tell deal.II where that library 
is by providing its path, it will ignore it anyway). When you leave flag this 
out altogether  you rely on the auto-detection mechanism to find the package 
and if it cannot be found (or there’s some detected compatibility issue) then 
you give CMake the leeway to disable and ignore this package. So, in summary, 
it just gives the granularity to say “Yes, I definitely want this dependency 
enabled” or “No, under all circumstances ignore this optional dependency” or 
“if you find it and it works, then I want this enabled".

When the package is said to be an "external dependency”, then it just means 
that the user or OS has provided said package. We bundle a few mandatory 
packages ourselves (e.g. the boost libraries), so that if the user hasn’t got 
them installed then we can fall back to these packages that are maintained 
within deal.II itself. 

> Will I be able to run those tutorials now? or is there still more work to be 
> done. 

For step-72 and step-33, I’d say yes
https://github.com/dealii/dealii/blob/master/examples/step-72/CMakeLists.txt#L40-L51
 
<https://github.com/dealii/dealii/blob/master/examples/step-72/CMakeLists.txt#L40-L51>
https://github.com/dealii/dealii/blob/master/examples/step-33/CMakeLists.txt#L43-L53
 
<https://github.com/dealii/dealii/blob/master/examples/step-33/CMakeLists.txt#L43-L53>

But to run step-71 you’ll also need to install SymEngine
https://github.com/dealii/dealii/blob/master/examples/step-71/CMakeLists.txt#L40-L54
 
<https://github.com/dealii/dealii/blob/master/examples/step-71/CMakeLists.txt#L40-L54>

I don’t think that there’s an Ubuntu package for that yet, but it’s not too 
hard to install by hand. You can take a look at their GitHub page for build 
instructions. At the bottom of the page there is their "Recommended options to 
build”, which you might want to take note of.
https://github.com/symengine/symengine <https://github.com/symengine/symengine>

Best,
Jean-Paul

> On 7. Jul 2021, at 20:49, Matthew Rich <mjric...@gmail.com> wrote:
> 
> Thanks that worked! 
> 
> I needed to install the full trilinos-all-dev to get all the packages. I also 
> needed to install libptscotch-dev. 
> 
> So my last question is what is the difference between a flag being ON vs set 
> up with external dependencies ( which is what trilinos is set at now) 
> 
> Will I be able to run those tutorials now? or is there still more work to be 
> done. 
> 
> Thank you for all your help resolving this issue. 
> 
> 
> 
> On Wednesday, 7 July 2021 at 14:36:36 UTC-4 Jean-Paul Pelteret wrote:
> Hi again Matthew,
> 
> I’ve also found this build log for the Debian deal.II apt package
> https://buildd.debian.org/status/fetch.php?pkg=deal.ii&arch=all&ver=9.2.0-3&stamp=1606990185&raw=0
>  
> <https://buildd.debian.org/status/fetch.php?pkg=deal.ii&arch=all&ver=9.2.0-3&stamp=1606990185&raw=0>
> and you can see that in amongst all of the dependencies are listed the 
> "trilinos-all-dev” and " trilinos-dev” packages. They are meta-packages for 
> all of the development files for Trilinos 
> <https://packages.ubuntu.com/groovy/trilinos-all-dev>. I reckon that you 
> should install these packages, and then give it another try. 
> 
> Best,
> Jean-Paul
> 
> 
>> On 7. Jul 2021, at 20:15, Jean-Paul Pelteret <jppel...@gmail.com 
>> <applewebdata://EF9AF8BB-D001-46D7-905A-61AC8A8349E8>> wrote:
>> 
>> Hi Matthew,
>> 
>> If you look at either log file, then you’ll see that Trilinos was in fact 
>> not detected for some reason.
>> 
>>> DEAL_II_WITH_TRILINOS = OFF
>> 
>> 
>> I’m no longer experienced in building deal.II using apt packages, but it 
>> might be that you have to install the entire trilinos-dev to get all of the 
>> headers. Some of the modules that Trilinos provides are mandatory, and some 
>> like Sacado are optional. It could be that some of the other necessary 
>> headers aren’t there for the mandatory modules, and so the configure-time 
>> checks for core Trilinos packages cannot pass.
>> 
>> Try that, and if it fails then you can also add this
>> -DDEAL_II_WITH_TRILINOS=ON -DTRILINOS_DIR=“/usr"
>>  to the cmake command to explicitly state that you want Trilinos enabled. 
>> Then if it doesn’t detect it CMake should emit an error and you’ll know for 
>> sure that there’s still something wrong. From these lines
>> https://github.com/dealii/dealii/blob/master/cmake/configure/configure_2_trilinos.cmake#L58-L68
>>  
>> <https://github.com/dealii/dealii/blob/master/cmake/configure/configure_2_trilinos.cmake#L58-L68>
>> there should also be some messages that indicate exactly which modules it 
>> could not find.
>> 
>> I hope that this helps.
>> 
>> Best,
>> Jean-Paul
>> 
>> 
>>> On 7. Jul 2021, at 19:43, Matthew Rich <mjri...@gmail.com 
>>> <applewebdata://EF9AF8BB-D001-46D7-905A-61AC8A8349E8>> wrote:
>>> 
>>> Hi 
>>> 
>>> Thanks for the prompt reply.
>>> 
>>> Yes I built deal.II from source but libtrilinos-sacado-dev was installed 
>>> via the debian package and apt (log files attached). I have all the headers 
>>> in my /usr/include/trilinos directory. Just skimming the summary file it 
>>> appears that deal.II did not detect sacado. Not sure why not though. 
>>> 
>>> Thanks for the tip on the new tutorials. I will check them out once I get 
>>> this working. 
>>> 
>>> Matt
>>> 
>>> On Wednesday, 7 July 2021 at 12:51:26 UTC-4 Jean-Paul Pelteret wrote:
>>> Hi Matthew,
>>> 
>>> I don’t quite understand exactly how you installed deal.II and Trilinos. 
>>> Perhaps you can provide some more explicit details so that we can help you 
>>> out.
>>> 
>>> * Is Trilinos installed using the apt package, and deal.II installed from 
>>> source? If you built deal.II from source, may you please attach the build 
>>> logs (summary.log and detailed.log) for us to look at.
>>> 
>>> * Did you install the Trilinos development packages (e.g. trilinos-dev or 
>>> libtrilinos-sacado-dev), which should install the headers into a central 
>>> location?
>>> 
>>> * When you built deal.II, and it detects Trilinos and Sacado, the following 
>>> two variable is defined in config.h (this is also output to the console 
>>> during configuration):
>>> $ cat include/deal.II/base/config.h | grep SACADO
>>>   #define DEAL_II_TRILINOS_WITH_SACADO
>>> Do you see it there? If not, then deal.II did not successfully detect 
>>> Sacado during configuration, and does not support it. If you try to 
>>> configure step-33, an error should be emitted that expresses this.
>>> 
>>> When you #include <Sacado.hpp> then the compiler first looks for this 
>>> header in the default location for the system, which I think is  
>>> /usr/include. If it doesn’t find it there then it looks in some other 
>>> specific locations that deal.II (through the configured packages) suggests 
>>> that it goes looking in.
>>> 
>>> As a side note, there are two new tutorials (step-71 
>>> <https://www.dealii.org/current/doxygen/deal.II/step_71.html> and step-72 
>>> <https://www.dealii.org/current/doxygen/deal.II/step_72.html>) that cover 
>>> the topic of auto-differentiation as well. You might want to consider 
>>> looking at those before step-33. Step-33 uses Sacado at a low-level, and 
>>> these two new tutorials introduce some wrappers that we’ve implemented 
>>> inside the library that make using Sacado a bit more tractable.
>>> 
>>> Best,
>>> Jean-Paul
>>> 
>>> 
>>> 
>>>> On 7. Jul 2021, at 17:41, Matthew Rich <mjri...@gmail.com <>> wrote:
>>>> 
>>> 
>>>> Hi all,
>>>> 
>>>>  I am a bit confused on step-33 which uses the differentiation of sacado. 
>>>> I installed the latest version. 9.3 which has trilinios in it, and 
>>>> therefore sacado. Browsing that directory I see other header files for the 
>>>> package but not sacado.hpp
>>>> 
>>>> The tutorial has the line
>>>> #include <Sacado.hpp>
>>>> 
>>>> Was this file renamed or something? I am on Debian and I have installed 
>>>> the trilinios through their package, which does have the header file. 
>>>> However I cannot get the program to work properly.
>>>> 
>>>> I am looking for guidance on this issue of getting the right headers in 
>>>> the program so I can run this tutorial and others leveraging the sacado 
>>>> package.
>>>> 
>>>> Thanks in advance,
>>>> 
>>>> Maty
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>>> -- 
>>>> The deal.II project is located at http://www.dealii.org/ 
>>>> <http://www.dealii.org/>
>>>> For mailing list/forum options, see 
>>>> https://groups.google.com/d/forum/dealii?hl=en 
>>>> <https://groups.google.com/d/forum/dealii?hl=en>
>>>> --- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "deal.II User Group" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to dealii+un...@googlegroups.com <>.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/dealii/CAN3OR9oH-Za8weU3xHrMs5H86VeJffqtnrNxo_xh%3DddjMhc88g%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/d/msgid/dealii/CAN3OR9oH-Za8weU3xHrMs5H86VeJffqtnrNxo_xh%3DddjMhc88g%40mail.gmail.com?utm_medium=email&utm_source=footer>.
>>> 
>>> 
>>> -- 
>>> The deal.II project is located at http://www.dealii.org/ 
>>> <http://www.dealii.org/>
>>> For mailing list/forum options, see 
>>> https://groups.google.com/d/forum/dealii?hl=en 
>>> <https://groups.google.com/d/forum/dealii?hl=en>
>>> --- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "deal.II User Group" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to dealii+un...@googlegroups.com 
>>> <applewebdata://EF9AF8BB-D001-46D7-905A-61AC8A8349E8>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/dealii/e81216d4-e6bd-4a66-9196-1cd5d40d436an%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/dealii/e81216d4-e6bd-4a66-9196-1cd5d40d436an%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>> <summary.log><detailed.log>
>> 
> 
> 
> -- 
> The deal.II project is located at http://www.dealii.org/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <https://groups.google.com/d/forum/dealii?hl=en>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to dealii+unsubscr...@googlegroups.com 
> <mailto:dealii+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/222ae623-b8a1-4e2d-9ae7-8b442111611dn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/dealii/222ae623-b8a1-4e2d-9ae7-8b442111611dn%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/5CEB04D0-5E94-4F33-A4E1-DA7F7D61CDDC%40gmail.com.

Reply via email to