diff --git a/CMakeLists.txt b/CMakeLists.txt index fd6f53a137628e92a0c3127dc71012e83f9ebd2f..a2a18ce081039e32df522b993c3a60e9e5e78514 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -327,9 +327,6 @@ find_library( set(TURTLE_LIBS ${FFTW_MPI} ${TURTLE_LIBS}) ##################################################################################### -#list(APPEND TURTLE_LIBS "${MPI_CXX_LIBRARIES}") -#list(APPEND TURTLE_LIBS "${OpenMP_CXX_LIB_NAMES}") - ##################################################################################### ## Get the links and include from deps @@ -338,193 +335,11 @@ get_property(ALL_LINK_DIRS DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY LINK_D ##################################################################################### ##################################################################################### -## Build the lib +## Add sources include_directories(${PROJECT_SOURCE_DIR}/cpp) -#file(GLOB_RECURSE cpp_for_lib ${PROJECT_SOURCE_DIR}/*.cpp) -set(cpp_for_lib - ${PROJECT_SOURCE_DIR}/cpp/full_code/code_base.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/direct_numerical_simulation.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSE.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVE.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/static_field.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/kraichnan_field.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/joint_acc_vel_stats.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/pressure_stats.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/filter_test.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/field_test.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/write_filtered_test.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/dealias_test.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/Gauss_field_test.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/symmetrize_test.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/field_output_test.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/phase_shift_test.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test_tracer_set.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/get_rfields.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/get_velocity.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/get_3D_correlations.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/write_rpressure.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/bandpass_stats.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/field_single_to_double.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/resize.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVE_field_stats.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/native_binary_to_hdf5.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/postprocess.cpp - ${PROJECT_SOURCE_DIR}/cpp/base.cpp - ${PROJECT_SOURCE_DIR}/cpp/field.cpp - ${PROJECT_SOURCE_DIR}/cpp/kspace.cpp - ${PROJECT_SOURCE_DIR}/cpp/field_layout.cpp - ${PROJECT_SOURCE_DIR}/cpp/hdf5_tools.cpp - ${PROJECT_SOURCE_DIR}/cpp/fftw_tools.cpp - ${PROJECT_SOURCE_DIR}/cpp/vorticity_equation.cpp - ${PROJECT_SOURCE_DIR}/cpp/field_binary_IO.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n0.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n1.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n2.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n3.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n4.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n5.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n6.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n7.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n8.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n9.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n10.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/Lagrange_polys.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/field_tinterpolator.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/particle_set.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/rhs/tracer_rhs.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/rhs/tracer_with_collision_counter_rhs.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particle_solver.cpp - ${PROJECT_SOURCE_DIR}/cpp/scope_timer.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test_interpolation.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVEparticles.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVEcomplex_particles.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVE_Stokes_particles.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVEp_extra_sampling.cpp - ${PROJECT_SOURCE_DIR}/cpp/particles/inner/particles_inner_computer.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/ornstein_uhlenbeck_process.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/ou_vorticity_equation.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test_interpolation_methods.cpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test_particle_integration.cpp) - -set(hpp_for_lib - ${PROJECT_SOURCE_DIR}/cpp/full_code/code_base.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/direct_numerical_simulation.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSE.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVE.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/static_field.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/kraichnan_field.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/joint_acc_vel_stats.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/pressure_stats.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/filter_test.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/dealias_test.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/Gauss_field_test.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/field_test.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/write_filtered_test.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/symmetrize_test.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/field_output_test.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/phase_shift_test.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test_tracer_set.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/get_rfields.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/get_velocity.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/get_3D_correlations.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/write_rpressure.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/bandpass_stats.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/field_single_to_double.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/resize.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVE_field_stats.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/native_binary_to_hdf5.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/postprocess.hpp - ${PROJECT_SOURCE_DIR}/cpp/field.hpp - ${PROJECT_SOURCE_DIR}/cpp/kspace.hpp - ${PROJECT_SOURCE_DIR}/cpp/field_layout.hpp - ${PROJECT_SOURCE_DIR}/cpp/hdf5_tools.hpp - ${PROJECT_SOURCE_DIR}/cpp/fftw_tools.hpp - ${PROJECT_SOURCE_DIR}/cpp/vorticity_equation.hpp - ${PROJECT_SOURCE_DIR}/cpp/field_binary_IO.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n0.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n1.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n2.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n3.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n4.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n5.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n6.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n7.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n8.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n9.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/spline_n10.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/Lagrange_polys.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/abstract_particle_set.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/particle_set.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/field_tinterpolator.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/abstract_particle_rhs.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/rhs/tracer_rhs.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/rhs/deformation_tensor_rhs.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/rhs/tracer_with_collision_counter_rhs.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particle_solver.hpp - ${PROJECT_SOURCE_DIR}/cpp/scope_timer.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test_interpolation.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVEparticles.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVEcomplex_particles.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVE_Stokes_particles.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVEp_extra_sampling.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/inner/particles_inner_computer.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/inner/particles_inner_computer_2nd_order.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/inner/particles_inner_computer_empty.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/abstract_particles_input.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/abstract_particles_output.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/abstract_particles_system.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/abstract_particles_system_with_p2p.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/alltoall_exchanger.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/lock_free_bool_array.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/p2p/p2p_computer_empty.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/p2p/p2p_computer.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/p2p/p2p_ghost_collisions.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/p2p/p2p_distr_mpi.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/p2p/p2p_tree.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_adams_bashforth.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_distr_mpi.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/particles_field_computer.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/interpolation/particles_generic_interp.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_input_hdf5.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_output_hdf5.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_output_mpiio.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_output_sampling_hdf5.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_sampling.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_system_builder.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_system.hpp - ${PROJECT_SOURCE_DIR}/cpp/particles/particles_utils.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/main_code.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/codes_with_no_output.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVE_no_output.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/NSVEparticles_no_output.hpp - ${PROJECT_SOURCE_DIR}/cpp/base.hpp - ${PROJECT_SOURCE_DIR}/cpp/env_utils.hpp - ${PROJECT_SOURCE_DIR}/cpp/fftw_interface.hpp - ${PROJECT_SOURCE_DIR}/cpp/turtle_timer.hpp - ${PROJECT_SOURCE_DIR}/cpp/omputils.hpp - ${PROJECT_SOURCE_DIR}/cpp/shared_array.hpp - ${PROJECT_SOURCE_DIR}/cpp/spectrum_function.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/ornstein_uhlenbeck_process.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/ou_vorticity_equation.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test_interpolation_methods.hpp - ${PROJECT_SOURCE_DIR}/cpp/full_code/test_particle_integration.hpp) - -if(GSL_FOUND) - LIST(APPEND cpp_for_lib ${PROJECT_SOURCE_DIR}/cpp/particles/rhs/deformation_tensor_rhs.cpp) - LIST(APPEND hpp_for_lib ${PROJECT_SOURCE_DIR}/cpp/particles/rhs/deformation_tensor_rhs.hpp) -endif() - -#file(GLOB_RECURSE hpp_for_lib ${PROJECT_SOURCE_DIR}/*.hpp) -LIST(APPEND source_files ${hpp_for_lib} ${cpp_for_lib}) - -target_sources(TurTLE - PRIVATE - ${source_files}) +add_subdirectory(cpp) install(TARGETS TurTLE EXPORT TURTLE_EXPORT DESTINATION lib/ ) install(DIRECTORY ${PROJECT_SOURCE_DIR}/cpp/ DESTINATION include/TurTLE/ FILES_MATCHING PATTERN "*.h*") diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..6421dd5c13ccd7b17a3c65f239d6e0eda1f50294 --- /dev/null +++ b/cpp/CMakeLists.txt @@ -0,0 +1,210 @@ +####################################################################### +# # +# Copyright 2019 Max Planck Institute # +# for Dynamics and Self-Organization # +# # +# This file is part of TurTLE. # +# # +# TurTLE is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published # +# by the Free Software Foundation, either version 3 of the License, # +# or (at your option) any later version. # +# # +# TurTLE is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with TurTLE. If not, see <http://www.gnu.org/licenses/> # +# # +# Contact: Cristian.Lalescu@ds.mpg.de # +# # +####################################################################### + + + +set(cpp_for_lib + ${CMAKE_CURRENT_LIST_DIR}/full_code/code_base.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/direct_numerical_simulation.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSE.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVE.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/static_field.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/kraichnan_field.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/joint_acc_vel_stats.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/pressure_stats.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/filter_test.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/field_test.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/write_filtered_test.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/dealias_test.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/Gauss_field_test.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/symmetrize_test.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/field_output_test.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/phase_shift_test.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test_tracer_set.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/get_rfields.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/get_velocity.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/get_3D_correlations.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/write_rpressure.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/bandpass_stats.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/field_single_to_double.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/resize.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVE_field_stats.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/native_binary_to_hdf5.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/postprocess.cpp + ${CMAKE_CURRENT_LIST_DIR}/base.cpp + ${CMAKE_CURRENT_LIST_DIR}/field.cpp + ${CMAKE_CURRENT_LIST_DIR}/kspace.cpp + ${CMAKE_CURRENT_LIST_DIR}/field_layout.cpp + ${CMAKE_CURRENT_LIST_DIR}/hdf5_tools.cpp + ${CMAKE_CURRENT_LIST_DIR}/fftw_tools.cpp + ${CMAKE_CURRENT_LIST_DIR}/vorticity_equation.cpp + ${CMAKE_CURRENT_LIST_DIR}/field_binary_IO.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n0.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n1.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n2.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n3.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n4.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n5.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n6.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n7.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n8.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n9.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n10.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/Lagrange_polys.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/field_tinterpolator.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/particle_set.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/rhs/tracer_rhs.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/rhs/tracer_with_collision_counter_rhs.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particle_solver.cpp + ${CMAKE_CURRENT_LIST_DIR}/scope_timer.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test_interpolation.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVEparticles.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVEcomplex_particles.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVE_Stokes_particles.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVEp_extra_sampling.cpp + ${CMAKE_CURRENT_LIST_DIR}/particles/inner/particles_inner_computer.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/ornstein_uhlenbeck_process.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/ou_vorticity_equation.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test_interpolation_methods.cpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test_particle_integration.cpp) + +set(hpp_for_lib + ${CMAKE_CURRENT_LIST_DIR}/full_code/code_base.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/direct_numerical_simulation.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSE.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVE.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/static_field.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/kraichnan_field.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/joint_acc_vel_stats.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/pressure_stats.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/filter_test.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/dealias_test.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/Gauss_field_test.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/field_test.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/write_filtered_test.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/symmetrize_test.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/field_output_test.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/phase_shift_test.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test_tracer_set.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/get_rfields.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/get_velocity.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/get_3D_correlations.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/write_rpressure.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/bandpass_stats.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/field_single_to_double.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/resize.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVE_field_stats.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/native_binary_to_hdf5.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/postprocess.hpp + ${CMAKE_CURRENT_LIST_DIR}/field.hpp + ${CMAKE_CURRENT_LIST_DIR}/kspace.hpp + ${CMAKE_CURRENT_LIST_DIR}/field_layout.hpp + ${CMAKE_CURRENT_LIST_DIR}/hdf5_tools.hpp + ${CMAKE_CURRENT_LIST_DIR}/fftw_tools.hpp + ${CMAKE_CURRENT_LIST_DIR}/vorticity_equation.hpp + ${CMAKE_CURRENT_LIST_DIR}/field_binary_IO.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n0.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n1.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n2.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n3.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n4.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n5.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n6.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n7.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n8.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n9.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/spline_n10.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/Lagrange_polys.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/abstract_particle_set.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/particle_set.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/field_tinterpolator.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/abstract_particle_rhs.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/rhs/tracer_rhs.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/rhs/deformation_tensor_rhs.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/rhs/tracer_with_collision_counter_rhs.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particle_solver.hpp + ${CMAKE_CURRENT_LIST_DIR}/scope_timer.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test_interpolation.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVEparticles.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVEcomplex_particles.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVE_Stokes_particles.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVEp_extra_sampling.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/inner/particles_inner_computer.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/inner/particles_inner_computer_2nd_order.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/inner/particles_inner_computer_empty.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/abstract_particles_input.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/abstract_particles_output.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/abstract_particles_system.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/abstract_particles_system_with_p2p.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/alltoall_exchanger.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/lock_free_bool_array.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/p2p/p2p_computer_empty.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/p2p/p2p_computer.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/p2p/p2p_ghost_collisions.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/p2p/p2p_distr_mpi.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/p2p/p2p_tree.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_adams_bashforth.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_distr_mpi.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/particles_field_computer.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/interpolation/particles_generic_interp.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_input_hdf5.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_output_hdf5.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_output_mpiio.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_output_sampling_hdf5.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_sampling.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_system_builder.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_system.hpp + ${CMAKE_CURRENT_LIST_DIR}/particles/particles_utils.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/main_code.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/codes_with_no_output.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVE_no_output.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/NSVEparticles_no_output.hpp + ${CMAKE_CURRENT_LIST_DIR}/base.hpp + ${CMAKE_CURRENT_LIST_DIR}/env_utils.hpp + ${CMAKE_CURRENT_LIST_DIR}/fftw_interface.hpp + ${CMAKE_CURRENT_LIST_DIR}/turtle_timer.hpp + ${CMAKE_CURRENT_LIST_DIR}/omputils.hpp + ${CMAKE_CURRENT_LIST_DIR}/shared_array.hpp + ${CMAKE_CURRENT_LIST_DIR}/spectrum_function.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/ornstein_uhlenbeck_process.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/ou_vorticity_equation.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test_interpolation_methods.hpp + ${CMAKE_CURRENT_LIST_DIR}/full_code/test_particle_integration.hpp) + +if(GSL_FOUND) + LIST(APPEND cpp_for_lib ${CMAKE_CURRENT_LIST_DIR}/particles/rhs/deformation_tensor_rhs.cpp) + LIST(APPEND hpp_for_lib ${CMAKE_CURRENT_LIST_DIR}/particles/rhs/deformation_tensor_rhs.hpp) +endif() + +LIST(APPEND source_files ${hpp_for_lib} ${cpp_for_lib}) + +target_sources(TurTLE + PRIVATE + ${source_files}) + +#EOF +