I have isolated the error to minimum (not-) working example: The error 
occurs 
when Point and Boost functions are used at once in a dealii program.
I have observed that in the Point class there is usage of some boost 
functions, 
could it be that there is clash with that boost version and the below 
combing 
from the boost include file? 
usingBoostindealii.cc :

#include <boost/math/special_functions/spherical_harmonic.hpp>
#include <iostream>
#include <vector>
#include <cmath>

#include <deal.II/grid/tria.h>

#include <deal.II/grid/grid_generator.h>

#include <deal.II/grid/tria_accessor.h>
#include <deal.II/grid/tria_iterator.h>

#include <deal.II/fe/fe_values.h>
#include <deal.II/fe/fe_nothing.h>
#include <deal.II/base/quadrature_lib.h>

#include <deal.II/base/timer.h>

using namespace dealii;  

int main()
{
Point<3> evalPoint(1.0, 2.0, 0.0);
Point<3> evalPoint2(1.0, 1.0, 1.0);
std::vector<double> atomPos{0.0, 0.0, 0.0};

std::cout << evalPoint.distance_square(evalPoint2) << '\n'; // comment this 
to test the below too 
double sphericalHarmonicVal{}; 
double r{}, theta{}, phi{}; 

// std::vector<double> relativeEvalPoint(3, 0.0);
// // *** even with the below there is same error ***
// for (int i = 0; i < 3; ++i)
// {
// relativeEvalPoint[i] = evalPoint(i) - atomPos[i]; 
// // relativeEvalPoint[i] = evalPoint[i] - atomPos[i];
// }

sphericalHarmonicVal = boost::math::spherical_harmonic_i(0, 0, 0.0, 0.0);

std::cout << sphericalHarmonicVal << '\n';

return 0;
}

CMakeLists.txt : 

##
#  CMake script for the usingBoostindealii program:
##

# Set the name of the project and target:
SET(TARGET "usingBoostindealii")

# Declare all source files the target consists of. Here, this is only
# the one step-X.cc file, but as you expand your project you may wish
# to add other source files as well. If your project becomes much larger,
# you may want to either replace the following statement by something like
#    FILE(GLOB_RECURSE TARGET_SRC  "source/*.cc")
#    FILE(GLOB_RECURSE TARGET_INC  "include/*.h")
#    SET(TARGET_SRC ${TARGET_SRC}  ${TARGET_INC})
# or switch altogether to the large project CMakeLists.txt file discussed
# in the "CMake in user projects" page accessible from the "User info"
# page of the documentation.
SET(TARGET_SRC
  ${TARGET}.cc
  )

# Usually, you will not need to modify anything beyond this point...

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)

# FIND_PACKAGE(Boost REQUIRED)

FIND_PACKAGE(deal.II 9.2.0 QUIET
  HINTS ${deal.II_DIR} ${DEAL_II_DIR} ../ ../../ $ENV{DEAL_II_DIR}
  )
IF(NOT ${deal.II_FOUND})
  MESSAGE(FATAL_ERROR "\n"
    "*** Could not locate a (sufficiently recent) version of deal.II. 
***\n\n"
    "You may want to either pass a flag -DDEAL_II_DIR=/path/to/deal.II to 
cmake\n"
    "or set an environment variable \"DEAL_II_DIR\" that contains this 
path."
    )
ENDIF()

DEAL_II_INITIALIZE_CACHED_VARIABLES()
PROJECT(${TARGET})
DEAL_II_INVOKE_AUTOPILOT()

Best wishes,

Kishore

On Friday, May 14, 2021 at 9:49:52 PM UTC+5:30 Kishore Nori wrote:

> Dear Prof. Bangerth,
>
> Thank you for the reply, yes I was having some doubt on this. I removed 
> the 
> FIND_PACKAGE(Boost REQUIRED) in CMakeLists.txt but I still get the error.
>
> Could it be because of the boost include file? #include 
> <boost/math/special_functions/spherical_harmonic.hpp> 
> Does deal.II come with boost library included? If yes, how can I use it 
> for the access the above function? 
>
> Best wishes,
>
> Kishore
>
> On Friday, May 14, 2021 at 9:24:58 PM UTC+5:30 Wolfgang Bangerth wrote:
>
>> On 5/14/21 8:17 AM, Bruno Turcksin wrote:
>> > 
>> > Can you show the result of the command ldd, i.e. what do you see when 
>> you type 
>> > ldd ./my_code
>>
>> Could it be that you are linking against both the version of BOOST that 
>> comes 
>> with deal.II and against an external one? That would explain why things 
>> already go wrong while starting up the program. Try removing the 
>> FindBOOST 
>> call from your own project's CMakeLists.txt.
>>
>> Best
>> W.
>>
>>
>> -- 
>> ------------------------------------------------------------------------
>> Wolfgang Bangerth email: bang...@colostate.edu
>> www: http://www.math.colostate.edu/~bangerth/
>>
>>

-- 
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/bf6946b0-8a7f-4c54-9c4a-efaf1bfafd59n%40googlegroups.com.

Reply via email to