diff --git a/docs/changelog.rst b/docs/changelog.rst index 8b93b64..c1c80ac 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,50 +1,58 @@ ********* Changelog ********* +v0.4.1 +====== + +API additions +------------- + +* Added "AllocateElemmat". + v0.4.0 ====== API additions ------------- -* Added "AllocateQtensor", "AllocateQscalar", "AllocateDofval", "AllocateNodevec", "AllocateElemvec" +* 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/include/GooseFEM/config.h b/include/GooseFEM/config.h index 26ea13c..5bb2d24 100644 --- a/include/GooseFEM/config.h +++ b/include/GooseFEM/config.h @@ -1,77 +1,77 @@ /* (c - GPLv3) T.W.J. de Geus (Tom) | tom@geus.me | www.geus.me | github.com/tdegeus/GooseFEM */ #ifndef GOOSEFEM_CONFIG_H #define GOOSEFEM_CONFIG_H #define _USE_MATH_DEFINES // to use "M_PI" from "math.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace xt::placeholders; #define UNUSED(p) ((void)(p)) #ifdef GOOSEFEM_ENABLE_ASSERT #define GOOSEFEM_ASSERT(expr) GOOSEFEM_ASSERT_IMPL(expr, __FILE__, __LINE__) #define GOOSEFEM_ASSERT_IMPL(expr, file, line) \ if (!(expr)) { \ throw std::runtime_error( \ std::string(file) + ':' + std::to_string(line) + \ ": assertion failed (" #expr ") \n\t"); \ } #else #define GOOSEFEM_ASSERT(expr) #endif #define GOOSEFEM_CHECK(expr) GOOSEFEM_CHECK_IMPL(expr, __FILE__, __LINE__) #define GOOSEFEM_CHECK_IMPL(expr, file, line) \ if (!(expr)) { \ throw std::runtime_error( \ std::string(file) + ':' + std::to_string(line) + \ ": assertion failed (" #expr ") \n\t"); \ } #define GOOSEFEM_VERSION_MAJOR 0 #define GOOSEFEM_VERSION_MINOR 4 -#define GOOSEFEM_VERSION_PATCH 0 +#define GOOSEFEM_VERSION_PATCH 1 #define GOOSEFEM_VERSION_AT_LEAST(x, y, z) \ (GOOSEFEM_VERSION_MAJOR > x || (GOOSEFEM_VERSION_MAJOR >= x && \ (GOOSEFEM_VERSION_MINOR > y || (GOOSEFEM_VERSION_MINOR >= y && \ GOOSEFEM_VERSION_PATCH >= z)))) #define GOOSEFEM_VERSION(x, y, z) \ (GOOSEFEM_VERSION_MAJOR == x && \ GOOSEFEM_VERSION_MINOR == y && \ GOOSEFEM_VERSION_PATCH == z) #endif