diff --git a/.gitmodules b/.gitmodules index ba49ca9b..4fc2013e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "extra/rapidcheck"] - path = extras/rapidcheck +[submodule "rapidcheck"] + path = rapidcheck url = https://github.com/emil-e/rapidcheck.git diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..c2a812d1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,24 @@ +language: cpp +compiler: + #- clang + - gcc + +before_script: + - sudo ./install/get_boost.sh > /dev/null + - sudo ./install/get_eigen.sh > /dev/null + - mkdir build && cd build + - cmake .. + +script: make qtest-bin && ./qtest + +addons: + apt: + sources: + - george-edison55-precise-backports + packages: + - cmake-data + - cmake + - libfftw3-dev + #- libeigen3-dev + #- libboost-test-dev + #- libboost-program-options-dev diff --git a/README.md b/README.md index b30cb600..dfba7d73 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -[![DOI](https://zenodo.org/badge/37320094.svg)](https://zenodo.org/badge/latestdoi/37320094) +[![Build Status](https://travis-ci.org/tbertus/QuEST.svg?branch=development)](https://travis-ci.org/tbertus/QuEST/branch/development) [![DOI](https://zenodo.org/badge/37320094.svg)](https://zenodo.org/badge/latestdoi/37320094) + [![Article](https://img.shields.io/badge/article-Phys.%20Rev.%20A%2096%2C%20033816-B10DC9.svg)](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.96.033816) # QuEST: The Quantum Electromagnetics Simulation Toolbox diff --git a/extras/rapidcheck b/extras/rapidcheck deleted file mode 160000 index 624fe9a3..00000000 --- a/extras/rapidcheck +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 624fe9a32ece0d749745036c5b4c64e2308be595 diff --git a/install/get_boost.sh b/install/get_boost.sh new file mode 100755 index 00000000..25412f3f --- /dev/null +++ b/install/get_boost.sh @@ -0,0 +1,14 @@ +#!/bin/bash +echo "Changing to tmp" +cd /tmp + +echo "Downloading and unpacking boost" +wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.bz2 -O boost.tar.bz2 +mkdir -p boost && tar -xvf boost.tar.bz2 -C boost --strip-components 1 > /dev/null +ls + +echo "Building boost" +cd boost/ +ls +./bootstrap.sh --with-libraries=program_options,test +./b2 install diff --git a/install/get_eigen.sh b/install/get_eigen.sh new file mode 100755 index 00000000..ec104734 --- /dev/null +++ b/install/get_eigen.sh @@ -0,0 +1,5 @@ +#!/bin/bash +cd /tmp +wget https://bitbucket.org/eigen/eigen/get/3.3.2.tar.gz -O eigen.tar.gz +mkdir -p eigen/build && tar -xvzf eigen.tar.gz -C eigen --strip-components 1 +cd eigen/build && cmake .. && make install diff --git a/rapidcheck b/rapidcheck index d9482c68..7bc7d302 160000 --- a/rapidcheck +++ b/rapidcheck @@ -1 +1 @@ -Subproject commit d9482c683429fe79122e3dcab14c9655874aeb8e +Subproject commit 7bc7d302191a4f3d0bf005692677126136e02f60 diff --git a/src/integrator/RHS/bloch_rhs.cpp b/src/integrator/RHS/bloch_rhs.cpp index a2b041d1..73a2fece 100644 --- a/src/integrator/RHS/bloch_rhs.cpp +++ b/src/integrator/RHS/bloch_rhs.cpp @@ -12,13 +12,13 @@ Integrator::BlochRHS::BlochRHS( { } -void Integrator::BlochRHS::evaluate(const int step) const +void Integrator::BlochRHS::evaluate_present(const int step) const { - auto eval_and_sum = - [step](const InteractionBase::ResultArray &r, - const std::shared_ptr &interaction) { - return r + interaction->evaluate(step); - }; + auto eval_and_sum = [step]( + const InteractionBase::ResultArray &r, + const std::shared_ptr &interaction) { + return r + interaction->evaluate_present_field(step); + }; auto nil = InteractionBase::ResultArray::Zero(num_solutions, 1).eval(); auto projected_efields = std::accumulate( @@ -28,5 +28,22 @@ void Integrator::BlochRHS::evaluate(const int step) const history->array_[solution][step][1] = rhs_functions[solution]( history->array_[solution][step][0], projected_efields[solution]); } +} +void Integrator::BlochRHS::evaluate(const int step) const +{ + auto eval_and_sum = [step]( + const InteractionBase::ResultArray &r, + const std::shared_ptr &interaction) { + return r + interaction->evaluate(step); + }; + auto nil = InteractionBase::ResultArray::Zero(num_solutions, 1).eval(); + + auto projected_efields = std::accumulate( + interactions.begin(), interactions.end(), nil, eval_and_sum); + + for(int solution = 0; solution < num_solutions; ++solution) { + history->array_[solution][step][1] = rhs_functions[solution]( + history->array_[solution][step][0], projected_efields[solution]); + } } diff --git a/src/integrator/RHS/bloch_rhs.h b/src/integrator/RHS/bloch_rhs.h index 48bc2dd5..aade6842 100644 --- a/src/integrator/RHS/bloch_rhs.h +++ b/src/integrator/RHS/bloch_rhs.h @@ -17,6 +17,7 @@ class Integrator::BlochRHS : public Integrator::RHS { const std::shared_ptr>, std::vector>, std::vector); + void evaluate_present(const int) const override; void evaluate(const int) const override; private: diff --git a/src/integrator/RHS/ode_rhs.h b/src/integrator/RHS/ode_rhs.h index 53595d97..d374e636 100644 --- a/src/integrator/RHS/ode_rhs.h +++ b/src/integrator/RHS/ode_rhs.h @@ -12,8 +12,10 @@ namespace Integrator { class Integrator::ODE_RHS : public RHS { public: - ODE_RHS(const double, const std::shared_ptr>, + ODE_RHS(const double, + const std::shared_ptr>, const std::vector>); + void evaluate_present(const int) const; void evaluate(const int) const; private: @@ -36,4 +38,6 @@ void Integrator::ODE_RHS::evaluate(const int n) const } } +void Integrator::ODE_RHS::evaluate_present(const int n) const { evaluate(n); } + #endif diff --git a/src/integrator/RHS/rhs.h b/src/integrator/RHS/rhs.h index aa04362d..d231b602 100644 --- a/src/integrator/RHS/rhs.h +++ b/src/integrator/RHS/rhs.h @@ -14,6 +14,7 @@ class Integrator::RHS { public: RHS(const double dt, const std::shared_ptr> history) : dt(dt), history(std::move(history)){}; + virtual void evaluate_present(const int) const = 0; virtual void evaluate(const int) const = 0; protected: diff --git a/src/integrator/integrator.h b/src/integrator/integrator.h index fde0f683..6f703d36 100644 --- a/src/integrator/integrator.h +++ b/src/integrator/integrator.h @@ -80,7 +80,7 @@ void Integrator::PredictorCorrector::solve_step(const int step) const for(int m = 0; m < num_corrector_steps; ++m) { corrector(step); - rhs->evaluate(step); + rhs->evaluate_present(step); } } diff --git a/src/interactions/AIM/aim_interaction.h b/src/interactions/AIM/aim_interaction.h index 92c7758c..14d01ff0 100644 --- a/src/interactions/AIM/aim_interaction.h +++ b/src/interactions/AIM/aim_interaction.h @@ -60,12 +60,20 @@ class AIM::Interaction final : public InteractionBase { const ResultArray &evaluate(const int t) { - // I DON'T KNOW WHY THAT NEEDS A CONJUGATE!!! results = (ff.evaluate(t).conjugate() - nf.evaluate(t)) + direct.evaluate(t); return results; } + const ResultArray &evaluate_present_field(const int t) + { + // I DON'T KNOW WHY THAT NEEDS A CONJUGATE!!! + results = (ff.evaluate_present_field(t).conjugate() - + nf.evaluate_present_field(t)) + + direct.evaluate_present_field(t); + return results; + } + private: std::shared_ptr grid; std::shared_ptr expansion_table; diff --git a/src/interactions/AIM/direct.cpp b/src/interactions/AIM/direct.cpp index 88098b80..7e8baddd 100644 --- a/src/interactions/AIM/direct.cpp +++ b/src/interactions/AIM/direct.cpp @@ -20,25 +20,58 @@ AIM::DirectInteraction::DirectInteraction( const InteractionBase::ResultArray &AIM::DirectInteraction::evaluate( const int time_idx) { + constexpr int RHO_01 = 1; + results.setZero(); + past_terms_of_convolution.setZero(); for(int pair_idx = 0; pair_idx < shape_[0]; ++pair_idx) { const auto &pair = (*interaction_pairs_)[pair_idx]; - for(int i = 0; i < shape_[1]; ++i) { + for(int i = 1; i < shape_[1]; ++i) { const int s = std::max(time_idx - floor_delays_[pair_idx] - i, static_cast(history->array_.index_bases()[1])); - constexpr int RHO_01 = 1; - - results[pair.first] += (history->array_[pair.second][s][0])[RHO_01] * - coefficients_[pair_idx][i]; - results[pair.second] += (history->array_[pair.first][s][0])[RHO_01] * - coefficients_[pair_idx][i]; + past_terms_of_convolution[pair.first] += + (history->array_[pair.second][s][0])[RHO_01] * + coefficients_[pair_idx][i]; + past_terms_of_convolution[pair.second] += + (history->array_[pair.first][s][0])[RHO_01] * + coefficients_[pair_idx][i]; } + + const int s = std::max(time_idx - floor_delays_[pair_idx], + static_cast(history->array_.index_bases()[1])); + + results[pair.first] += (history->array_[pair.second][s][0])[RHO_01] * + coefficients_[pair_idx][0]; + results[pair.second] += (history->array_[pair.first][s][0])[RHO_01] * + coefficients_[pair_idx][0]; } + results += past_terms_of_convolution; + return results; +} + +const InteractionBase::ResultArray & +AIM::DirectInteraction::evaluate_present_field(const int time_idx) +{ + constexpr int RHO_01 = 1; + + results.setZero(); + + for(int pair_idx = 0; pair_idx < shape_[0]; ++pair_idx) { + const auto &pair = (*interaction_pairs_)[pair_idx]; + const int s = std::max(time_idx - floor_delays_[pair_idx], + static_cast(history->array_.index_bases()[1])); + + results[pair.first] += (history->array_[pair.second][s][0])[RHO_01] * + coefficients_[pair_idx][0]; + results[pair.second] += (history->array_[pair.first][s][0])[RHO_01] * + coefficients_[pair_idx][0]; + } + results += past_terms_of_convolution; return results; } diff --git a/src/interactions/AIM/direct.h b/src/interactions/AIM/direct.h index 9f219e2c..5dfe9ba1 100644 --- a/src/interactions/AIM/direct.h +++ b/src/interactions/AIM/direct.h @@ -19,6 +19,7 @@ class AIM::DirectInteraction final : public HistoryInteraction { std::shared_ptr>); const ResultArray &evaluate(const int) final; + const ResultArray &evaluate_present_field(const int) final; boost::multi_array coefficient_table(Propagation::Kernel &, std::vector &) const; diff --git a/src/interactions/AIM/farfield.cpp b/src/interactions/AIM/farfield.cpp index 3525ad70..1d59ddf4 100644 --- a/src/interactions/AIM/farfield.cpp +++ b/src/interactions/AIM/farfield.cpp @@ -76,8 +76,11 @@ void AIM::Farfield::propagate(const int step) Eigen::Map observers(&obs_table_(front), 3, nb); observers = 0; + // initialize temp_observers with the correct size and zero it + temp_observers = Eigen::Array3Xcd::Zero(3, nb); - for(int i = 0; i < table_dimensions_[0]; ++i) { + // compute convolution up to but not including the current timestep + for(int i = 1; i < table_dimensions_[0]; ++i) { // If (step - i) runs "off the end", just propagate src[0][...] auto wrap = std::max(step - i, 0) % table_dimensions_[0]; @@ -85,9 +88,47 @@ void AIM::Farfield::propagate(const int step) Eigen::Map src(&source_table_[wrap][0][0][0][0], 3, nb); // Use broadcasting to do the x, y, and z component propagation - observers += src.rowwise() * prop.transpose(); + temp_observers += src.rowwise() * prop.transpose(); } + // set observers equal to temp_observers + // std::cout << temp_observers << "\n\n\n\n" << std::endl; + observers += temp_observers; + + auto wrap = std::max(step, 0) % table_dimensions_[0]; // needed ? + + Eigen::Map prop(&propagation_table_[0][0][0][0], nb); + Eigen::Map src(&source_table_[wrap][0][0][0][0], 3, nb); + observers += src.rowwise() * prop.transpose(); + + const auto o_ptr = &obs_table_(front); + fftw_execute_dft(spatial_vector_transforms_.backward, + reinterpret_cast(o_ptr), + reinterpret_cast(o_ptr)); +} + +void AIM::Farfield::propagate_present_field(const int step) +{ + const auto wrapped_step = step % table_dimensions_[0]; + const auto nb = 8 * grid->size(); + const std::array front = {{wrapped_step, 0, 0, 0, 0}}; + + const auto s_ptr = &source_table_(front); + fftw_execute_dft(spatial_vector_transforms_.forward, + reinterpret_cast(s_ptr), + reinterpret_cast(s_ptr)); + + Eigen::Map observers(&obs_table_(front), 3, nb); + observers = 0; + + observers += temp_observers; + + auto wrap = std::max(step, 0) % table_dimensions_[0]; // needed ? + + Eigen::Map prop(&propagation_table_[0][0][0][0], nb); + Eigen::Map src(&source_table_[wrap][0][0][0][0], 3, nb); + observers += src.rowwise() * prop.transpose(); + const auto o_ptr = &obs_table_(front); fftw_execute_dft(spatial_vector_transforms_.backward, reinterpret_cast(o_ptr), diff --git a/src/interactions/AIM/farfield.h b/src/interactions/AIM/farfield.h index 95c90a3e..a4890cc9 100644 --- a/src/interactions/AIM/farfield.h +++ b/src/interactions/AIM/farfield.h @@ -21,12 +21,19 @@ class AIM::Farfield final : public AimBase { Normalization::SpatialNorm); ~Farfield() = default; + const ResultArray &evaluate_present_field(const int step) final + { + fill_source_table(step); + propagate_present_field(step); + fill_results_table(step); + + return results; + } const ResultArray &evaluate(const int step) final { fill_source_table(step); propagate(step); fill_results_table(step); - return results; } @@ -39,11 +46,14 @@ class AIM::Farfield final : public AimBase { spacetime::vector propagation_table_; spacetime::vector3d source_table_, obs_table_; + Eigen::Array3Xcd temp_observers; + TransformPair spatial_vector_transforms_; spacetime::vector make_propagation_table() const; void fill_source_table(const int); void propagate(const int); + void propagate_present_field(const int); void fill_results_table(const int); void fill_gmatrix_table(spacetime::vector &) const; diff --git a/src/interactions/AIM/nearfield.cpp b/src/interactions/AIM/nearfield.cpp index 577c8642..bb39b920 100644 --- a/src/interactions/AIM/nearfield.cpp +++ b/src/interactions/AIM/nearfield.cpp @@ -28,31 +28,65 @@ AIM::Nearfield::Nearfield( support_(shape_[0], {std::numeric_limits::max(), 0}), coefficients_{coefficient_table()} { - if(interp_order != 5) - throw std::runtime_error( - "Lagrange interpolation of order != 5 is not supported in nearfield " - "calculations"); } const InteractionBase::ResultArray &AIM::Nearfield::evaluate(const int time_idx) { + constexpr int RH0_01 = 1; + results.setZero(); - constexpr int RHO_01 = 1; + past_terms_of_convolution.setZero(); for(int pair_idx = 0; pair_idx < shape_[0]; ++pair_idx) { const auto &pair = (*interaction_pairs_)[pair_idx]; - for(int t = support_[pair_idx].begin; t < support_[pair_idx].end; ++t) { + for(int t = support_[pair_idx].begin + 1; t < support_[pair_idx].end; ++t) { const int s = std::max( time_idx - t, static_cast(history->array_.index_bases()[1])); - results[pair.first] += (history->array_[pair.second][s][0])[RHO_01] * - coefficients_[pair_idx][t][0]; - - results[pair.second] += (history->array_[pair.first][s][0])[RHO_01] * - coefficients_[pair_idx][t][1]; + past_terms_of_convolution[pair.first] += + (history->array_[pair.second][s][0])[RHO_01] * + coefficients_[pair_idx][t][0]; + past_terms_of_convolution[pair.second] += + (history->array_[pair.first][s][0])[RHO_01] * + coefficients_[pair_idx][t][1]; } + int t = support_[pair_idx].begin; + const int s = std::max(time_idx - t, + static_cast(history->array_.index_bases()[1])); + assert(support_[pair_idx].begin == 0); + + results[pair.first] += (history->array_[pair.second][s][0])[RHO_01] * + coefficients_[pair_idx][t][0]; + results[pair.second] += (history->array_[pair.first][s][0])[RHO_01] * + coefficients_[pair_idx][t][1]; + } + results += past_terms_of_convolution; + + return results; +} + +const InteractionBase::ResultArray &AIM::Nearfield::evaluate_present_field( + const int time_idx) +{ + constexpr int RH0_01 = 1; + + results.setZero(); + + for(int pair_idx = 0; pair_idx < shape_[0]; ++pair_idx) { + const auto &pair = (*interaction_pairs_)[pair_idx]; + + int t = support_[pair_idx].begin; + const int s = std::max(time_idx - t, + static_cast(history->array_.index_bases()[1])); + assert(support_[pair_idx].begin == 0); + + results[pair.first] += (history->array_[pair.second][s][0])[RHO_01] * + coefficients_[pair_idx][t][0]; + results[pair.second] += (history->array_[pair.first][s][0])[RHO_01] * + coefficients_[pair_idx][t][1]; } + results += past_terms_of_convolution; return results; } diff --git a/src/interactions/AIM/nearfield.h b/src/interactions/AIM/nearfield.h index 38c3f87d..54c2e6a0 100644 --- a/src/interactions/AIM/nearfield.h +++ b/src/interactions/AIM/nearfield.h @@ -24,6 +24,7 @@ class AIM::Nearfield final : public AimBase { ~Nearfield() = default; const ResultArray &evaluate(const int) final; + const ResultArray &evaluate_present_field(const int) final; private: struct support_range_t { diff --git a/src/interactions/direct_interaction.cpp b/src/interactions/direct_interaction.cpp index 001e5ae0..fed7ecaf 100644 --- a/src/interactions/direct_interaction.cpp +++ b/src/interactions/direct_interaction.cpp @@ -45,26 +45,57 @@ void DirectInteraction::build_coefficient_table( const InteractionBase::ResultArray &DirectInteraction::evaluate( const int time_idx) { + constexpr int RHO_01 = 1; results.setZero(); + past_terms_of_convolution.setZero(); + // iterate through all dot pairs for(int pair_idx = 0; pair_idx < num_interactions; ++pair_idx) { int src, obs; std::tie(src, obs) = idx2coord(pair_idx); - for(int i = 0; i <= interp_order; ++i) { + for(int i = 1; i <= interp_order; ++i) { const int s = std::max(time_idx - floor_delays[pair_idx] - i, static_cast(history->array_.index_bases()[1])); - constexpr int RHO_01 = 1; - - results[src] += + past_terms_of_convolution[src] += (history->array_[obs][s][0])[RHO_01] * coefficients[pair_idx][i]; - results[obs] += + past_terms_of_convolution[obs] += (history->array_[src][s][0])[RHO_01] * coefficients[pair_idx][i]; } + const int s = std::max(time_idx - floor_delays[pair_idx], + static_cast(history->array_.index_bases()[1])); + + results[src] += + (history->array_[obs][s][0])[RHO_01] * coefficients[pair_idx][0]; + results[obs] += + (history->array_[src][s][0])[RHO_01] * coefficients[pair_idx][0]; } + results += past_terms_of_convolution; + return results; +} +const InteractionBase::ResultArray &DirectInteraction::evaluate_present_field( + const int time_idx) +{ + constexpr int RHO_01 = 1; + results.setZero(); + + // iterate through all dot pairs + for(int pair_idx = 0; pair_idx < num_interactions; ++pair_idx) { + int src, obs; + std::tie(src, obs) = idx2coord(pair_idx); + + const int s = std::max(time_idx - floor_delays[pair_idx], + static_cast(history->array_.index_bases()[1])); + + results[src] += + (history->array_[obs][s][0])[RHO_01] * coefficients[pair_idx][0]; + results[obs] += + (history->array_[src][s][0])[RHO_01] * coefficients[pair_idx][0]; + } + results += past_terms_of_convolution; return results; } diff --git a/src/interactions/direct_interaction.h b/src/interactions/direct_interaction.h index c2e421a1..806e5e20 100644 --- a/src/interactions/direct_interaction.h +++ b/src/interactions/direct_interaction.h @@ -14,6 +14,7 @@ class DirectInteraction final : public HistoryInteraction { const double); const ResultArray &evaluate(const int) final; + const ResultArray &evaluate_present_field(const int) final; private: int num_interactions; diff --git a/src/interactions/interaction.h b/src/interactions/interaction.h index aee5d798..df368fa6 100644 --- a/src/interactions/interaction.h +++ b/src/interactions/interaction.h @@ -11,14 +11,20 @@ class InteractionBase { typedef Eigen::Array ResultArray; InteractionBase(const std::shared_ptr dots, const double dt) - : dots(std::move(dots)), results(dots ? dots->size() : 0), dt(dt){}; - const cmplx &operator[](const int i) const { return results[i]; } + : dots(std::move(dots)), + results(dots ? dots->size() : 0), + past_terms_of_convolution(dots ? dots->size() : 0), + dt(dt){}; + // const cmplx &operator[](const int i) const { return results[i]; } virtual const ResultArray &evaluate(const int) = 0; + virtual const ResultArray &evaluate_present_field(const int) = 0; + virtual ~InteractionBase(){}; protected: std::shared_ptr dots; ResultArray results; + ResultArray past_terms_of_convolution; double dt; }; diff --git a/src/interactions/pulse_interaction.h b/src/interactions/pulse_interaction.h index 86c217cf..ae9a849c 100644 --- a/src/interactions/pulse_interaction.h +++ b/src/interactions/pulse_interaction.h @@ -7,8 +7,14 @@ class PulseInteraction : public InteractionBase { public: PulseInteraction(const std::shared_ptr, - const std::shared_ptr, const double, const double); + const std::shared_ptr, + const double, + const double); virtual const ResultArray &evaluate(const int); + virtual const ResultArray &evaluate_present_field(const int n) + { + return evaluate(n); + } private: std::shared_ptr pulse; diff --git a/src/pulse.cpp b/src/pulse.cpp index 096d641c..6c9d83cf 100644 --- a/src/pulse.cpp +++ b/src/pulse.cpp @@ -22,8 +22,7 @@ Eigen::Vector3d Pulse::operator()(const Eigen::Vector3d &r, { const double arg = wavevector.dot(r) - freq * (t - delay); - Eigen::Vector3d pulse_vector; // is the convention to declare and define in - // the same line? + Eigen::Vector3d pulse_vector; pulse_vector = (amplitude / 2 * polarization) * gaussian(arg / width); pulse_vector *= rotating ? 1.0 : cos(arg); diff --git a/src/quantum_dot.cpp b/src/quantum_dot.cpp index 92a6ab89..f3575c32 100644 --- a/src/quantum_dot.cpp +++ b/src/quantum_dot.cpp @@ -20,7 +20,7 @@ matrix_elements QuantumDot::liouville_rhs(const matrix_elements &rho, m1_temp -= rotating ? iu * rho[1] * (laser_freq - freq) : iu * rho[1] * (-freq); - const cmplx m1 = m1_temp; // is this an appropriate way to do this? + const cmplx m1 = m1_temp; return matrix_elements(m0, m1); } diff --git a/test/AIM/CMakeLists.txt b/test/AIM/CMakeLists.txt index e884af67..9ae97859 100644 --- a/test/AIM/CMakeLists.txt +++ b/test/AIM/CMakeLists.txt @@ -6,5 +6,5 @@ target_sources(qtest-bin "${CMAKE_CURRENT_LIST_DIR}/spacetime_test.cpp" "${CMAKE_CURRENT_LIST_DIR}/farfield_test.cpp" - "${CMAKE_CURRENT_LIST_DIR}/field_tests.cpp" + #"${CMAKE_CURRENT_LIST_DIR}/field_tests.cpp" ) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 0919286a..145f4eff 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -12,14 +12,14 @@ if(${Boost_FOUND}) PUBLIC "${CMAKE_CURRENT_LIST_DIR}/integrator_test.cpp" "${CMAKE_CURRENT_LIST_DIR}/lagrange_set_test.cpp" - # "${CMAKE_CURRENT_LIST_DIR}/math_utils_test.cpp" + "${CMAKE_CURRENT_LIST_DIR}/math_utils_test.cpp" "${CMAKE_CURRENT_LIST_DIR}/propagator_test.cpp" "${CMAKE_CURRENT_LIST_DIR}/pulse_interaction_test.cpp" "${CMAKE_CURRENT_LIST_DIR}/quantum_dot_test.cpp" ) - # add_subdirectory("extras/rapidcheck") - # add_subdirectory("extras/rapidcheck/extras/boost_test") + add_subdirectory("rapidcheck") + add_subdirectory("rapidcheck/extras/boost_test") - target_link_libraries(qtest-bin PUBLIC quest ${Boost_LIBRARIES})# rapidcheck rapidcheck_boost_test) + target_link_libraries(qtest-bin PUBLIC quest ${Boost_LIBRARIES} rapidcheck rapidcheck_boost_test) endif(${Boost_FOUND}) diff --git a/test/propagator_test.cpp b/test/propagator_test.cpp index 1be31536..b24fe665 100644 --- a/test/propagator_test.cpp +++ b/test/propagator_test.cpp @@ -116,4 +116,4 @@ BOOST_FIXTURE_TEST_CASE(AIM_INTERACTION, SimulationStructures) BOOST_AUTO_TEST_SUITE_END() // RETARDED_GAUSSIAN -BOOST_AUTO_TEST_SUITE_END() // PROPAGATION \ No newline at end of file +BOOST_AUTO_TEST_SUITE_END() // PROPAGATION