diff --git a/.ci_environment_py.yaml b/.ci_environment_py.yaml index 350d579..3bc35f7 100644 --- a/.ci_environment_py.yaml +++ b/.ci_environment_py.yaml @@ -1,9 +1,10 @@ channels: - conda-forge dependencies: - xtensor - eigen - setuptools_scm - python - pyxtensor - numpy + - nomkl diff --git a/docs/changelog.rst b/docs/changelog.rst index 3293f4b..69df605 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,148 +1,153 @@ ********* Changelog ********* +v0.8.6 +====== + +* String-define safety: stringification + unquoting. + v0.8.2 ====== * Using setuptools_scm to manage version (#169) v0.8.1 ====== * Various documentation updates: using doxygen (e.g. #168, #167, #157, #150) * Adding autodocs using doxygen/breathe. * Adding autodocs Python API with references to the C++ docs. * Using GitHub pages for doxygen docs (#156, #155) * Adding version information (incl. git commit hash) (#166) * Adding GooseFEM::Element::Quad4::Quadrature::interp_N_vector * Generalizing GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::mapToRegular * Generalising implementation: * Internally deriving from Vector * Python API: unifying Element * Python API: fixing overloaded methods * Removing internal use of deprecated method * Using "initQuadratureBase" in derived Quadrature classes * Introducing QuadratureBase class -> avoids copies of convenience functions * [CI] Using ctest command to improve output in case of test failure * Restructuring environment (#154) * Fixing readthedocs setup (#153) v0.8.0 ====== * [CI] Using gcc-8 * Adding Mesh::Quad4::FineLayer::elementsLayer * Stitch: Adding nodesets to example * Stitch: Adding hybrid example. Adding assertions. * Making API more functional * Adding Mesh::ManualStich * Adding Mesh::Stitch * Minor style update * [CMake] Minor updates in testing * [CI] improve comments (#142) * Combining tests MeshQuad4 (#141) * Using clang on Windows (#139) v0.7.0 ====== * Adding ``Mesh::Quad4::FineLayer::elementgrid_leftright`` v0.6.1 ====== * Minor bugfix ``Mesh::Quad4::FineLayer::elementgrid_around_ravel``: allowing huge sizes. v0.6.0 ====== * Adding ``Mesh::Quad4::FineLayer::elementgrid_around_ravel`` * ``FineLayer::elementgrid_ravel``: Adding test * Renaming ``elementMatrix`` -> ``elementgrid`` everywhere * Adding ``Mesh::Quad4::FineLayer::elementgrid_ravel`` * Adding ``GOOFEM_WIP_ASSERT`` to assert if code needs to be generalized * API change: renaming ``Mesh::Quad4::Regular::elementMatrix`` -> M``esh::Quad4::Regular::elementgrid``. v0.5.1 ====== * FineLayer - replica: bug-fix in size detection. * Updated examples to new GMat API. v0.5.0 ====== * Renaming ``MatrixDiagonal::AsDiagonal`` -> ``MatrixDiagonal::Todiagonal`` to maintain API consistency. * Adding ``Mesh::elemmap2nodemap``. Updating Python API. * Adding ``roll`` to FineLayer. * Adding ``Mesh::centers`` and ``Mesh::defaultElementType``. * Mapping connectivity on generating FineLayer-object. * Switching to new GMat API. * Solver: force factorization on the first call. * Sorting output of ``GooseFEM::Mesh::elem2node``. Adding checks. * Switched to GitHub CI. * Adding ``todense`` to sparse matrix classes. * Adding ``dot`` to ``MatrixPartitioned``. v0.4.2 ====== * CMake: using Eigen's CMake target. v0.4.1 ====== API additions ------------- * Added "AllocateElemmat". v0.4.0 ====== API additions ------------- * Added "AllocateQtensor", "AllocateQscalar", "AllocateDofval", "AllocateNodevec", "AllocateElemvec". API changes ----------- * Removing Paraview interface: replaced by external libraries "XDMFWrite_HighFive" and "XDMFWrite_h5py". * Element*: "dV" now only returns raw data, the "asTensor" member function (and free function) can be used to convert the 'qscalar' to a 'qtensor'. * Separating sparse solver in separate class to offer more flexibility in the future. * Adding "dot" to "Matrix". Other updates ------------- * Applying clang-format to source, python API, tests, and examples.. * Adding test GMatElastoPlasticQPot. * Adding test based on hybrid material definitions. * Formatting update: renaming all return variables "out" to "ret". * Correction zero allocation to allows for dofval.size() > nodevec.size() * Formatting update xt::amax and xt::sum. * Renaming private function to begin with caps when the function allocates its return data. * Reducing copies when using Eigen. * Reducing default size examples. * Supporting Windows (#87). * Removing xtensor_fixed. * Using xt::has_shape. diff --git a/test/basic/CMakeLists.txt b/test/basic/CMakeLists.txt index 2695ad5..022a6c2 100644 --- a/test/basic/CMakeLists.txt +++ b/test/basic/CMakeLists.txt @@ -1,52 +1,52 @@ cmake_minimum_required(VERSION 3.0) if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) project(GooseFEM-test-basic) find_package(GooseFEM REQUIRED CONFIG) endif() set(ASSERT ON) set(DEBUG ON) option(XSIMD "Use xsimd optimisations" ON) set(test_name "test-basic") find_package(Catch2 REQUIRED) find_package(xtensor REQUIRED) add_executable(${test_name} main.cpp + version.cpp Allocate.cpp Element.cpp ElementHex8.cpp ElementQuad4.cpp Iterate.cpp Matrix.cpp MatrixDiagonal.cpp Mesh.cpp MeshQuad4.cpp Vector.cpp - VectorPartitioned.cpp - version.cpp) + VectorPartitioned.cpp) target_link_libraries(${test_name} PRIVATE Catch2::Catch2 GooseFEM GooseFEM::compiler_warnings xtensor::optimize) if(ASSERT) target_link_libraries(${test_name} PRIVATE GooseFEM::assert) endif() if(DEBUG) target_link_libraries(${test_name} PRIVATE GooseFEM::debug) endif() if(SIMD) find_package(xsimd REQUIRED) target_link_libraries(${test_name} PRIVATE xtensor::use_xsimd) endif() add_test(NAME ${test_name} COMMAND ${test_name}) diff --git a/test/basic/version.cpp b/test/basic/version.cpp index 4512b8c..58fff0c 100644 --- a/test/basic/version.cpp +++ b/test/basic/version.cpp @@ -1,14 +1,20 @@ #include #include +#include TEST_CASE("GooseFEM::version", "version.h") { SECTION("basic") { - auto v = GooseFEM::version(); - auto d = GooseFEM::version_dependencies(); + std::cout << GooseFEM::version() << std::endl; + + auto deps = GooseFEM::version_dependencies(); + + for (auto& i : deps) { + std::cout << i << std::endl; + } } }