diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..c6a8b8ce401e703b3bf04ea1b53031f9c36be533 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +# Enable style checks on source files +*.h hooks.style=uncrustify +*.cpp hooks.style=uncrustify +*.hpp hooks.style=uncrustify diff --git a/BaseLib/BuildInfo.h.in b/BaseLib/BuildInfo.h.in index 0547210518db050b64c57de34387577c74e98663..ec20847a7243916bd0d3408b1a80b003ff4791be 100644 --- a/BaseLib/BuildInfo.h.in +++ b/BaseLib/BuildInfo.h.in @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/CPUTime.cpp b/BaseLib/CPUTime.cpp index 1a26d9aaaf93b253d28aa905e65249d8b454bc5a..58fe8d05ea1df86379a5ebb6615bd3b627ce3df3 100644 --- a/BaseLib/CPUTime.cpp +++ b/BaseLib/CPUTime.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/CPUTime.h b/BaseLib/CPUTime.h index f9f727c5d32b49f81340d5dc8d3fb70c06228560..38b1b18cb34202d501fef45047f4179d6afa9a12 100644 --- a/BaseLib/CPUTime.h +++ b/BaseLib/CPUTime.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/CodingTools.h b/BaseLib/CodingTools.h index 7e22f41757da9412ae5c46756c2817a6fcc81c59..55fafeed430733337eb52521682a32605c6f89fe 100644 --- a/BaseLib/CodingTools.h +++ b/BaseLib/CodingTools.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/Configure.h.in b/BaseLib/Configure.h.in index 854b9fc4223e84df8add91ea8738602a9a84a142..55811f03a25f58a9fc8d130205b3a42cf36f6e9c 100644 --- a/BaseLib/Configure.h.in +++ b/BaseLib/Configure.h.in @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/DateTools.cpp b/BaseLib/DateTools.cpp index d2850d556848069e842d6081c4b97a19c5119ca6..3a38ca8ef9fd100f4f16ebe4e4cac24f81c2795d 100644 --- a/BaseLib/DateTools.cpp +++ b/BaseLib/DateTools.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/DateTools.h b/BaseLib/DateTools.h index 10856c06f0015d8dc223a0d48e19306c0ee057ca..227b4fa2d230a4561cd377291e97e4b0a496461d 100644 --- a/BaseLib/DateTools.h +++ b/BaseLib/DateTools.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/FileFinder.h b/BaseLib/FileFinder.h index 30b175abca5726b987b701c37f83a2d0e0da8ecd..b876fe7b9decd7ed8f04994ebc74257c203d1014 100644 --- a/BaseLib/FileFinder.h +++ b/BaseLib/FileFinder.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/FileTools.cpp b/BaseLib/FileTools.cpp index 5ed8ee7458928156326618b935811972f39e546a..40fb244da92e2e08cf2833819e257e2c261e3ee9 100644 --- a/BaseLib/FileTools.cpp +++ b/BaseLib/FileTools.cpp @@ -5,7 +5,7 @@ * \brief Filename manipulation routines implementation. * * \copyright - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/FileTools.h b/BaseLib/FileTools.h index a1d28bb8406fe86c95c8d741c73be75ceea3d29b..246c0a81c937f6d413db8e3ffc473ee92767831b 100644 --- a/BaseLib/FileTools.h +++ b/BaseLib/FileTools.h @@ -5,7 +5,7 @@ * \brief Filename manipulation routines. * * \copyright - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/Histogram.h b/BaseLib/Histogram.h index c824dd76b79a9ac4bae73f291a8fd8747fe843e0..b171955b673fa04de9089533e211dad696b54d17 100644 --- a/BaseLib/Histogram.h +++ b/BaseLib/Histogram.h @@ -4,7 +4,7 @@ * \brief Implementation of Histogram class. * * \copyright - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/LogogSimpleFormatter.h b/BaseLib/LogogSimpleFormatter.h index f42964e0d0489c90f823027bd831643537964785..fcae583fe06802c3dce9693291f1adc338e523d2 100644 --- a/BaseLib/LogogSimpleFormatter.h +++ b/BaseLib/LogogSimpleFormatter.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/MemWatch.cpp b/BaseLib/MemWatch.cpp index 20a82badef9f9dbcd86f2dbe434bd70ca966b95f..7f4580113b9a97eb6fe5dc996fbe7c19c02c7a38 100644 --- a/BaseLib/MemWatch.cpp +++ b/BaseLib/MemWatch.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/MemWatch.h b/BaseLib/MemWatch.h index f3934e90d200708063b39898085c1bf5e2beaafe..854215840102f547d43b8436788a67d8e13647f7 100644 --- a/BaseLib/MemWatch.h +++ b/BaseLib/MemWatch.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/RunTime.cpp b/BaseLib/RunTime.cpp index 787b0d9e389fe0518600ee12d2a620ccb00fac22..25f826c9ca3d36cc5c1ef7536144f1c123243201 100644 --- a/BaseLib/RunTime.cpp +++ b/BaseLib/RunTime.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/RunTime.h b/BaseLib/RunTime.h index 23a5dc43cbb0db32f74ad6691341a858d0b39775..948ae74081ffff154a817e3bb643b78ac3ce4657 100644 --- a/BaseLib/RunTime.h +++ b/BaseLib/RunTime.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/StringTools.cpp b/BaseLib/StringTools.cpp index dda2c607923479a05598be69754a0c2004562c97..65b1b8864c033935a4c3fc3d7ac3a51c4070a762 100644 --- a/BaseLib/StringTools.cpp +++ b/BaseLib/StringTools.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/StringTools.h b/BaseLib/StringTools.h index 0032857a4b893051c47155503e92ced15ac6e9f1..a9a001fbea619abb24a6037ede820334e9f95c95 100644 --- a/BaseLib/StringTools.h +++ b/BaseLib/StringTools.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/SystemTools.h b/BaseLib/SystemTools.h index 8939814f1fe3aa7f9ac895fdb9e5c4ac87de537e..fe565d77af657832bff91c5a9b48a3ead16cbb72 100644 --- a/BaseLib/SystemTools.h +++ b/BaseLib/SystemTools.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/TemplateLogogFormatterSuppressedGCC.h b/BaseLib/TemplateLogogFormatterSuppressedGCC.h new file mode 100644 index 0000000000000000000000000000000000000000..27bed2a4c49ad466d2ca9ff270d0b8a9e4590c5d --- /dev/null +++ b/BaseLib/TemplateLogogFormatterSuppressedGCC.h @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + * + * \file TemplateLogogFormatterSuppressedGCC.h + * + * Created on 2012-12-06 by Norihiro Watanabe + */ + +#ifndef TEMPLATELOGOGFORMATTERSUPPRESSEDGCC_H_ +#define TEMPLATELOGOGFORMATTERSUPPRESSEDGCC_H_ + +// ** INCLUDES ** +#include "logog/include/logog.hpp" + +namespace BaseLib { + +/** + * \brief TemplateLogogFormatterSuppressedGCC strips topics given as a template + * parameter from logog::FormatterGCC. + * See http://johnwbyrd.github.com/logog/customformatting.html for details. + **/ +template <int T_SUPPPRESS_TOPIC_FLAG> +class TemplateLogogFormatterSuppressedGCC : public logog::FormatterGCC +{ + + virtual TOPIC_FLAGS GetTopicFlags( const logog::Topic &topic ) + { + return ( logog::Formatter::GetTopicFlags( topic ) & + ~( T_SUPPPRESS_TOPIC_FLAG )); + } + +}; + +#endif // TEMPLATELOGOGFORMATTERSUPPRESSEDGCC_H_ + +} // namespace BaseLib diff --git a/BaseLib/TimeMeasurementBase.h b/BaseLib/TimeMeasurementBase.h index e2020f3b5eed9206e0ea45edf1a2e81d33d9f1bc..5fecd6d35d25cc8be0dd3d120cea130358bc85ae 100644 --- a/BaseLib/TimeMeasurementBase.h +++ b/BaseLib/TimeMeasurementBase.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/printList.h b/BaseLib/printList.h index 4a2cda3ab1b35b6730a43284d10d1c17c88ee58d..33b70ac9a57c93a5d42ef45f07fb6203eac4daac 100644 --- a/BaseLib/printList.h +++ b/BaseLib/printList.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/quicksort.h b/BaseLib/quicksort.h index d0a9a69782b6643e4bce5e7386c55419a5fa4f06..a2271b67e8ab37495af9670bf6968c3f29df7020 100644 --- a/BaseLib/quicksort.h +++ b/BaseLib/quicksort.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/uniqueInsert.h b/BaseLib/uniqueInsert.h index 6b28069d3d9854d7beabc8a8b70344a6f07426d7..33ec74ee6f05b0a7b525b8db7eb3746bb9362928 100644 --- a/BaseLib/uniqueInsert.h +++ b/BaseLib/uniqueInsert.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/BaseLib/wait.h b/BaseLib/wait.h index bc31d57bac060659258b0100394fce2693202f39..4e946f6a6765488b53eecec10cb78fad3dccaf92 100644 --- a/BaseLib/wait.h +++ b/BaseLib/wait.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/CMakeLists.txt b/CMakeLists.txt index 384eb58798739aa1409a429cf7fd2b6f9c3b4f15..17e2f2c9ee0a4923d2f3bdaa7d1776e3de8d155c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,9 +25,7 @@ INCLUDE(scripts/cmake/FindIncludeHeader.cmake) INCLUDE(scripts/cmake/Functions.cmake) INCLUDE(scripts/cmake/CMakeSetup.cmake) INCLUDE(scripts/cmake/CompilerSetup.cmake) -IF(NOT OGS_NO_EXTERNAL_LIBS) - INCLUDE(scripts/cmake/Find.cmake) -ENDIF() # NOT OGS_NO_EXTERNAL_LIBS +INCLUDE(scripts/cmake/Find.cmake) INCLUDE(scripts/cmake/SubmoduleSetup.cmake) INCLUDE(scripts/cmake/ProjectSetup.cmake) INCLUDE(scripts/cmake/DocumentationSetup.cmake) @@ -55,6 +53,9 @@ OPTION(OGS_BUILD_UTILS "Should the utilities programms be built?" OFF) OPTION(OGS_NO_EXTERNAL_LIBS "Builds OGS without any external dependencies." OFF) +# Linear solvers +OPTION(OGS_USE_LIS "Use Lis" OFF) + # Logging OPTION(OGS_DISABLE_LOGGING "Disables all logog messages." OFF) @@ -98,6 +99,10 @@ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/ThirdParty ) INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/ThirdParty/quickcheck ) INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR}/ThirdParty/zlib ) +IF(OGS_USE_LIS) + ADD_DEFINITIONS(-DUSE_LIS) +ENDIF() + ADD_SUBDIRECTORY( BaseLib ) # TODO This is a hack but we have to make sure that Boost is built first ADD_DEPENDENCIES(BaseLib Boost) diff --git a/FemLib/DistributionInfo.cpp b/FemLib/DistributionInfo.cpp index 991eadd35be10dffe86989d5625b53f6c719eed5..ea7c3b9ffeeff0f1b616c00a13698cff95f56549 100644 --- a/FemLib/DistributionInfo.cpp +++ b/FemLib/DistributionInfo.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FemLib/DistributionInfo.h b/FemLib/DistributionInfo.h index cae33fd4d7ae4b197e1cdc66eeaf3768dea03f5b..8dffe7e2d93c88337df719b00663a5b0e85ad50a 100644 --- a/FemLib/DistributionInfo.h +++ b/FemLib/DistributionInfo.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FemLib/FEMCondition.cpp b/FemLib/FEMCondition.cpp index c9964ddffe2c37ff31b466f4121489b194bed95f..25a4ef6ec173bd4cb770335bc581f391b7187542 100644 --- a/FemLib/FEMCondition.cpp +++ b/FemLib/FEMCondition.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FemLib/FEMCondition.h b/FemLib/FEMCondition.h index d0593a1c9678bbd0de330c3ffc8aae2bf151284b..a1cba21171f3db7e428bebe5d00a70aaeba4b470 100644 --- a/FemLib/FEMCondition.h +++ b/FemLib/FEMCondition.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FemLib/FEMEnums.cpp b/FemLib/FEMEnums.cpp index 591fc665ba26105ea858a04ad95c25d9ace0776b..719b2fdcd292ff085a1f34cb9f94a314631db31a 100644 --- a/FemLib/FEMEnums.cpp +++ b/FemLib/FEMEnums.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FemLib/FEMEnums.h b/FemLib/FEMEnums.h index 5e12def788ecf756a9c83b788eb31c98f08c858d..0f76e1a494de83294d4ea227f84ab0bdd999b579 100644 --- a/FemLib/FEMEnums.h +++ b/FemLib/FEMEnums.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FemLib/GeoInfo.cpp b/FemLib/GeoInfo.cpp index 6289c5058d97e237f248aeffd692710eeca0edef..99d7e492e18bfbc14dd9cff0ac5f6f5726262cf1 100644 --- a/FemLib/GeoInfo.cpp +++ b/FemLib/GeoInfo.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FemLib/GeoInfo.h b/FemLib/GeoInfo.h index b98489b285426bb58377c594ba87edd34fcc115e..357f5536dac86108be87ceb78a0ff3ea4aa8e64e 100644 --- a/FemLib/GeoInfo.h +++ b/FemLib/GeoInfo.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FemLib/ProcessInfo.cpp b/FemLib/ProcessInfo.cpp index 5e86f75b348ada2b2b538cdba1cd457b2f1702b1..8e31444d66fa94994844406d570968853ed14907 100644 --- a/FemLib/ProcessInfo.cpp +++ b/FemLib/ProcessInfo.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FemLib/ProcessInfo.h b/FemLib/ProcessInfo.h index 4789c954b0602da73b4a4c395623020f80faada6..1b563e9fe480669bc2dc1ab042da2893217b6c17 100644 --- a/FemLib/ProcessInfo.h +++ b/FemLib/ProcessInfo.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/ImportFileTypes.h b/FileIO/ImportFileTypes.h index 82b5ef38d0e4e6638dd0d1bc5774c88897bab02f..1c197182e2b776a08519c401f618454311ae0148 100644 --- a/FileIO/ImportFileTypes.h +++ b/FileIO/ImportFileTypes.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/Legacy/MeshIO.cpp b/FileIO/Legacy/MeshIO.cpp index 8ef112db65e65c39796b129dc55d7ba39fab0154..d3450efe5b52584803c6f4e70bae590ef25c0ba3 100644 --- a/FileIO/Legacy/MeshIO.cpp +++ b/FileIO/Legacy/MeshIO.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/Legacy/MeshIO.h b/FileIO/Legacy/MeshIO.h index 46d94cc3bf9dd2c4a7394e5fee2fbc56ba697820..d0832935745463b15930605d8b29b513e10a98d4 100644 --- a/FileIO/Legacy/MeshIO.h +++ b/FileIO/Legacy/MeshIO.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/Writer.cpp b/FileIO/Writer.cpp index a4a6fad561dc0750c5c7c4347a7100f58d0f199d..1f149969dfd997227858d29d5e54bae51d144352 100644 --- a/FileIO/Writer.cpp +++ b/FileIO/Writer.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/Writer.h b/FileIO/Writer.h index e52f938c40e9c3e50e8a45edd2ebd976473b345e..df1622be837d5c0866961aff96b6538e349ac3d0 100644 --- a/FileIO/Writer.h +++ b/FileIO/Writer.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XMLInterface.cpp b/FileIO/XmlIO/XMLInterface.cpp index e2d47f5be6cf81cc2c43f97285ca306dbbb18979..ca6faae63aaed4522dadf88a536a418447aa65d3 100644 --- a/FileIO/XmlIO/XMLInterface.cpp +++ b/FileIO/XmlIO/XMLInterface.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XMLInterface.h b/FileIO/XmlIO/XMLInterface.h index 52d35334c27846482cf124b8fb4699b9c2c8e4a7..797d0c7ae7d20e374fe26e74c7966b7b6263b592 100644 --- a/FileIO/XmlIO/XMLInterface.h +++ b/FileIO/XmlIO/XMLInterface.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XmlCndInterface.cpp b/FileIO/XmlIO/XmlCndInterface.cpp index 19bbefa4b7f942305637192d3d3bfc45591a88e1..a59d8521b38382900c940023bb724b17c0f6e587 100644 --- a/FileIO/XmlIO/XmlCndInterface.cpp +++ b/FileIO/XmlIO/XmlCndInterface.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XmlCndInterface.h b/FileIO/XmlIO/XmlCndInterface.h index 117840046acd0b5cb2e69607c1ba0ce9ffc4e16c..f79423dc6589812ea7dbe3f734115e2b75f62fa8 100644 --- a/FileIO/XmlIO/XmlCndInterface.h +++ b/FileIO/XmlIO/XmlCndInterface.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XmlGmlInterface.cpp b/FileIO/XmlIO/XmlGmlInterface.cpp index 67c3ebf6c54b98041256acaa3848d685cc66fc23..6bc77563009e6344ee5c2b960db8cbc6b696b1ef 100644 --- a/FileIO/XmlIO/XmlGmlInterface.cpp +++ b/FileIO/XmlIO/XmlGmlInterface.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XmlGmlInterface.h b/FileIO/XmlIO/XmlGmlInterface.h index 815635c350c830d285b01e93658c7dae753c6852..a43842e250aaf73a846b1f10ca4c5e365172434a 100644 --- a/FileIO/XmlIO/XmlGmlInterface.h +++ b/FileIO/XmlIO/XmlGmlInterface.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XmlGspInterface.cpp b/FileIO/XmlIO/XmlGspInterface.cpp index bbe1339768c514a6cafc3f3a86945aff1b5c4dea..910989744256667f621f18816cf84e377b98f088 100644 --- a/FileIO/XmlIO/XmlGspInterface.cpp +++ b/FileIO/XmlIO/XmlGspInterface.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XmlGspInterface.h b/FileIO/XmlIO/XmlGspInterface.h index 00d44df26e23045705295d40c7b792f3f1f7b145..94fa87ad5e29d0123501e99456399eda2bcff550 100644 --- a/FileIO/XmlIO/XmlGspInterface.h +++ b/FileIO/XmlIO/XmlGspInterface.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XmlLutReader.h b/FileIO/XmlIO/XmlLutReader.h index 0d05c14de635e4bee8fca3a2dd075af9590ca1e2..83aa87be1440435c2901a9d309ea1f018812b402 100644 --- a/FileIO/XmlIO/XmlLutReader.h +++ b/FileIO/XmlIO/XmlLutReader.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XmlStnInterface.cpp b/FileIO/XmlIO/XmlStnInterface.cpp index a4dd078c87f67beaa8d91528de165ebb6aeb474b..ca15616d12b5cd82c491b2e7065fdb7f43cc3070 100644 --- a/FileIO/XmlIO/XmlStnInterface.cpp +++ b/FileIO/XmlIO/XmlStnInterface.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/XmlIO/XmlStnInterface.h b/FileIO/XmlIO/XmlStnInterface.h index 334c39f0abae673d9d126c0bed059e60b6f63ed6..0597cc37d3a93b06acd4f118e6e0e084987173d0 100644 --- a/FileIO/XmlIO/XmlStnInterface.h +++ b/FileIO/XmlIO/XmlStnInterface.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/readMeshFromFile.cpp b/FileIO/readMeshFromFile.cpp index e257e2d77d6944245f18bcf89d98b8ac042245b2..777862c1ab9bcf93d7c029a41eccee2aec7d68be 100644 --- a/FileIO/readMeshFromFile.cpp +++ b/FileIO/readMeshFromFile.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/FileIO/readMeshFromFile.h b/FileIO/readMeshFromFile.h index 0b5e58d5e85efb0892e76b89f5a2037be2024e22..c44c4038daa703e4823f8687b04c64776fa349f1 100644 --- a/FileIO/readMeshFromFile.h +++ b/FileIO/readMeshFromFile.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/AABB.h b/GeoLib/AABB.h index 12a04af1fb7e06b03502de940e0b4f803108554b..d4e43f20f0c4c700680d86b4565bb0fa1d383e81 100644 --- a/GeoLib/AABB.h +++ b/GeoLib/AABB.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/BruteForceClosestPair.cpp b/GeoLib/BruteForceClosestPair.cpp index 63d5f7a5d8b34e3c910095ee9220a6e22d05e50e..6ca575fc79c293d815889ea5cadc339fbaa4f118 100644 --- a/GeoLib/BruteForceClosestPair.cpp +++ b/GeoLib/BruteForceClosestPair.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/BruteForceClosestPair.h b/GeoLib/BruteForceClosestPair.h index 0f4d7f73c4b2d960f632cbde9b1f2d414988d136..b7495682b106622223354a5a1bae08224b6151d8 100644 --- a/GeoLib/BruteForceClosestPair.h +++ b/GeoLib/BruteForceClosestPair.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/ClosestPair.h b/GeoLib/ClosestPair.h index 254636edddf382e825d98e8ccb0e7549d9203689..486c122308b741811f5ed9d9ab612cee3ce3ae09 100644 --- a/GeoLib/ClosestPair.h +++ b/GeoLib/ClosestPair.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Color.cpp b/GeoLib/Color.cpp index 0564dca9ac134c8002444c9c3f0d70fcf52bdc14..0b3bd8cec8fb21ab6be382cc2eb9b4d17d41d8b0 100644 --- a/GeoLib/Color.cpp +++ b/GeoLib/Color.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Color.h b/GeoLib/Color.h index e1c477c9f82f0209a88e63e4a7eb1ab1b6cf193c..dd4d3f2c0593d3e6f10e016a3bb01913a825f600 100644 --- a/GeoLib/Color.h +++ b/GeoLib/Color.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/GEOObjects.cpp b/GeoLib/GEOObjects.cpp index b4b32df6ed4d66df679a8a1c8a307faf2c2a6707..6b64e508d372f8dec6a2340bd21eb60f936361f5 100644 --- a/GeoLib/GEOObjects.cpp +++ b/GeoLib/GEOObjects.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/GEOObjects.h b/GeoLib/GEOObjects.h index a1478557f96f427d8fea495217f66ea64bfe874c..aeae70e66e50a7d3cac61655cdcca5630d290d2d 100644 --- a/GeoLib/GEOObjects.h +++ b/GeoLib/GEOObjects.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/GeoObject.h b/GeoLib/GeoObject.h index 59c45c1fbcf3e126e70ce9efee951fe087d4e668..95506355bbb3ba4eed482b4f03d79d1da5968006 100644 --- a/GeoLib/GeoObject.h +++ b/GeoLib/GeoObject.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/GeoType.cpp b/GeoLib/GeoType.cpp index 69c88df327844fae146cd9e96c0184f8944e299a..4cb31431c1a9ee749fc66fb18579af1a7f79c3aa 100644 --- a/GeoLib/GeoType.cpp +++ b/GeoLib/GeoType.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/GeoType.h b/GeoLib/GeoType.h index 83e5ab7553cf6049bbd5edaf46c5f94b0af41d83..16227e1ec861c8155ad81fe7e6c18a86ae3db4ef 100644 --- a/GeoLib/GeoType.h +++ b/GeoLib/GeoType.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Grid.h b/GeoLib/Grid.h index 21e161b1fe0b131c3ace7a6222d202ba0d6e6fc6..f25d94ebaa89a5d1d24b3e1bfa6548610e2ffd91 100644 --- a/GeoLib/Grid.h +++ b/GeoLib/Grid.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/OctTree.h b/GeoLib/OctTree.h index 47c382e4664a5276b7a4b48f9e12e06617c19b2f..04c258111fb04791bfe07e28aeaf689b27542529 100644 --- a/GeoLib/OctTree.h +++ b/GeoLib/OctTree.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Point.cpp b/GeoLib/Point.cpp index 92efe2c8c87ff51313e03dc3599c480e6783039f..873c2250d93e77e2be3ece4921d67d89189c9bda 100644 --- a/GeoLib/Point.cpp +++ b/GeoLib/Point.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Point.h b/GeoLib/Point.h index cd4c0728344085eff867eedf73fc5f9dc57bcf0a..75ba37b97886d2a3f9eab44d2373662e8393f27a 100644 --- a/GeoLib/Point.h +++ b/GeoLib/Point.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/PointVec.cpp b/GeoLib/PointVec.cpp index a9f1e8c03f092d4791adbd07c075b8b491764f0e..6da3a7b1db2d627c2d874b0c0622c5a63ce1f74a 100644 --- a/GeoLib/PointVec.cpp +++ b/GeoLib/PointVec.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/PointVec.h b/GeoLib/PointVec.h index 16eb08f6b7bdc1534c679683ae6f0a32a3aa41de..25c76bd4f4bfa7ea3765b4a7f935263db4e9cff9 100644 --- a/GeoLib/PointVec.h +++ b/GeoLib/PointVec.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/PolylineVec.h b/GeoLib/PolylineVec.h index 37a84edc30a52d410a34225550579589dbd7bc26..8cefdec96d8fbf7b473e97a96be5bc39f81ebb38 100644 --- a/GeoLib/PolylineVec.h +++ b/GeoLib/PolylineVec.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/PropertyBounds.h b/GeoLib/PropertyBounds.h index 1c29fe54568ef824b5caa133ae40ddd3515831bd..6b7efcd95663f2353f2b4334b3ee2fafb704fd36 100644 --- a/GeoLib/PropertyBounds.h +++ b/GeoLib/PropertyBounds.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Raster.cpp b/GeoLib/Raster.cpp index f5e57ac741274cdbf5baafd921c6e5340d6adbe3..ee12946616164dac3496f7a85f64fa0c87772918 100644 --- a/GeoLib/Raster.cpp +++ b/GeoLib/Raster.cpp @@ -4,7 +4,7 @@ * @date 2011-09-07 * * @copyright - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Raster.h b/GeoLib/Raster.h index 39cfc2992fdcb9ee494819ae0d03111da0cd69a2..e2e305fcf04ff56f5e786bce6ef0b86da771aff5 100644 --- a/GeoLib/Raster.h +++ b/GeoLib/Raster.h @@ -4,7 +4,7 @@ * @date 2011-09-07 * * @copyright - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/SensorData.cpp b/GeoLib/SensorData.cpp index 6e3992c36ca77405dc4a418b21a66109c608b27d..62aad65f0b4bbab836df791db57c3ea53fd49ee3 100644 --- a/GeoLib/SensorData.cpp +++ b/GeoLib/SensorData.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/SensorData.h b/GeoLib/SensorData.h index cec97d39a13e273b4ebada4ae24d0df596a5f695..287c2801d3eca2bd179b73e812bf744c81d5d3ba 100644 --- a/GeoLib/SensorData.h +++ b/GeoLib/SensorData.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Station.cpp b/GeoLib/Station.cpp index b672ee203b16fae1003e643a894602d7a8508797..6328e530d0eb22eaabfbb42f640a6218383d2278 100644 --- a/GeoLib/Station.cpp +++ b/GeoLib/Station.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Station.h b/GeoLib/Station.h index 5e116b158cba38f2f4e27e0f5d93e23883c28107..66b0344c961bcc17ea32aac0234e85c2ec09a341 100644 --- a/GeoLib/Station.h +++ b/GeoLib/Station.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Surface.cpp b/GeoLib/Surface.cpp index 1974d1cd519f37cabf7f662cd29cf7cedd798ae7..80a37b5e30f820af5958079300f26c496b53a0db 100644 --- a/GeoLib/Surface.cpp +++ b/GeoLib/Surface.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Surface.h b/GeoLib/Surface.h index ac839a08f712179afbdc223bcbdb39579346be79..ff735488b320f2382f0698f6fb26e5757938be1e 100644 --- a/GeoLib/Surface.h +++ b/GeoLib/Surface.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/SurfaceVec.h b/GeoLib/SurfaceVec.h index b93634cba8a97869a5ded77f426f785e53fb034e..36b56d919900bc2d37093664175ec114df1a8ba1 100644 --- a/GeoLib/SurfaceVec.h +++ b/GeoLib/SurfaceVec.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/TemplatePoint.h b/GeoLib/TemplatePoint.h index b7cf19eae4ad71005f3a9269353e0977e5f58336..b51729814de143c561172c686ea67bff95c3a30f 100644 --- a/GeoLib/TemplatePoint.h +++ b/GeoLib/TemplatePoint.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/TemplateVec.h b/GeoLib/TemplateVec.h index e86b190c545fc9d67862358cac1dd5f1f98cf88c..a1a97cedd0ed19d1983fd3fb18325d164ebfb1d0 100644 --- a/GeoLib/TemplateVec.h +++ b/GeoLib/TemplateVec.h @@ -1,6 +1,6 @@ /** * @copyright - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Triangle.cpp b/GeoLib/Triangle.cpp index 7b8d8e68b170032293e720caff59d8eabafc8b44..3ef9144e0961cf9b67a8bc208d0c3cc2a6fac7f9 100644 --- a/GeoLib/Triangle.cpp +++ b/GeoLib/Triangle.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/GeoLib/Triangle.h b/GeoLib/Triangle.h index 690d835d9a9453388ef5dbf968c6ad75caa230ce..18ec1a110908d3a607bb9974e0ea960d751dbc81 100644 --- a/GeoLib/Triangle.h +++ b/GeoLib/Triangle.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/AnalyticalGeometry.cpp b/MathLib/AnalyticalGeometry.cpp index 8bf66232f5ca56e536dc938ce445f4b1f2f66729..d77a444f0e4cc1c42953ee82b64d6437c51a9777 100644 --- a/MathLib/AnalyticalGeometry.cpp +++ b/MathLib/AnalyticalGeometry.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/AnalyticalGeometry.h b/MathLib/AnalyticalGeometry.h index 81bcd50a3094dc82ae9219733f1f901e0cfc2dfc..880063097149e3df39a16749fb4b8634859e2982 100644 --- a/MathLib/AnalyticalGeometry.h +++ b/MathLib/AnalyticalGeometry.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/CMakeLists.txt b/MathLib/CMakeLists.txt index f6e6b904d90f458a98bd38fd575b55ff24e3103b..1e42e687a7934791f5246e507954ae6cf83539a2 100644 --- a/MathLib/CMakeLists.txt +++ b/MathLib/CMakeLists.txt @@ -20,6 +20,16 @@ SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_SOLVERS}) GET_SOURCE_FILES(SOURCES_LINALG_PRECOND LinAlg/Preconditioner) SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_PRECOND}) +GET_SOURCE_FILES(SOURCES_LINALG_LEQS LinAlg/SystemOfLinearEquations) +IF (NOT OGS_USE_LIS) + LIST(REMOVE_ITEM SOURCES_LINALG_LEQS + LinAlg/SystemOfLinearEquations/LisOption.h + LinAlg/SystemOfLinearEquations/LisOption.cpp + LinAlg/SystemOfLinearEquations/LisLinearSystem.h + LinAlg/SystemOfLinearEquations/LisLinearSystem.cpp + ) +ENDIF () +SET ( SOURCES ${SOURCES} ${SOURCES_LINALG_LEQS}) IF (METIS_FOUND) GET_SOURCE_FILES(SOURCES_LINALG_SPARSE_NESTEDDISSECTION LinAlg/Sparse/NestedDissectionPermutation) @@ -38,8 +48,17 @@ IF(METIS_FOUND) ) ENDIF() +IF (LIS_FOUND) + INCLUDE_DIRECTORIES(${LIS_INCLUDE_DIR}) +ENDIF() + + # Create the library ADD_LIBRARY( MathLib STATIC ${SOURCES} ) SET_TARGET_PROPERTIES(MathLib PROPERTIES LINKER_LANGUAGE CXX) +IF (LIS_FOUND) + TARGET_LINK_LIBRARIES( MathLib ${LIS_LIBRARIES} ) +ENDIF() + diff --git a/MathLib/EarClippingTriangulation.cpp b/MathLib/EarClippingTriangulation.cpp index 05f485f1097db7052407114f33933a8fdff227f8..27759146bc38a3f7a9a61b33fc2c20a9687f2095 100644 --- a/MathLib/EarClippingTriangulation.cpp +++ b/MathLib/EarClippingTriangulation.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/EarClippingTriangulation.h b/MathLib/EarClippingTriangulation.h index ac7947154540f20593072d90a7edaea488de2345..92c8f1e5e5ee9fbce0473217c09093a252083805 100644 --- a/MathLib/EarClippingTriangulation.h +++ b/MathLib/EarClippingTriangulation.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/InterpolationAlgorithms/LinearIntervalInterpolation.h b/MathLib/InterpolationAlgorithms/LinearIntervalInterpolation.h index 50f37968f496c432dac80620eb66b77cf9fd137e..41b487fb589192b3b825134e92d3bc0afcb372af 100644 --- a/MathLib/InterpolationAlgorithms/LinearIntervalInterpolation.h +++ b/MathLib/InterpolationAlgorithms/LinearIntervalInterpolation.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.cpp b/MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.cpp index bc3164a7b443a6b59aec18e43f83ea31eccb3fba..f6ebb05a6e4637e321d060bd70d326ab87c29d4d 100644 --- a/MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.cpp +++ b/MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.h b/MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.h index 352925adc1dd1c4de68db485d0846e55a2dc0857..f5419c1606c83ad8d29c3074ab75945a8f08765a 100644 --- a/MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.h +++ b/MathLib/InterpolationAlgorithms/PiecewiseLinearInterpolation.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Dense/Matrix.h b/MathLib/LinAlg/Dense/Matrix.h index 6987dc668c3a80e576d31f95ec4c3776feb5a75d..b262349f2431a81e227634081826512622a97281 100644 --- a/MathLib/LinAlg/Dense/Matrix.h +++ b/MathLib/LinAlg/Dense/Matrix.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/MatrixBase.h b/MathLib/LinAlg/MatrixBase.h index f645c57233444a91fdd5d4a78b437db8c3a303a8..386aaa7ae21278dfae41ff9ca5cf117d5c12e1db 100644 --- a/MathLib/LinAlg/MatrixBase.h +++ b/MathLib/LinAlg/MatrixBase.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Preconditioner/generateDiagPrecond.cpp b/MathLib/LinAlg/Preconditioner/generateDiagPrecond.cpp index 5a72112b27e014d2ec2199254b3292c52b646a36..2ed8be21c018ec79ce403340a526405da0db5375 100644 --- a/MathLib/LinAlg/Preconditioner/generateDiagPrecond.cpp +++ b/MathLib/LinAlg/Preconditioner/generateDiagPrecond.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Preconditioner/generateDiagPrecond.h b/MathLib/LinAlg/Preconditioner/generateDiagPrecond.h index 6254af4d13599739b52cfaba505c87aa30ec8b3f..90934bcd7c8a9a882cedc5b26309d2a72fe9de92 100644 --- a/MathLib/LinAlg/Preconditioner/generateDiagPrecond.h +++ b/MathLib/LinAlg/Preconditioner/generateDiagPrecond.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/BiCGStab.cpp b/MathLib/LinAlg/Solvers/BiCGStab.cpp index 308bc1432b3f492f6658cacf2de5169761b566aa..4d4600c29d09a52a3bcbef34257221117a402f31 100644 --- a/MathLib/LinAlg/Solvers/BiCGStab.cpp +++ b/MathLib/LinAlg/Solvers/BiCGStab.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/BiCGStab.h b/MathLib/LinAlg/Solvers/BiCGStab.h index 39ed242134807067304534f000993e5c52ee8b1b..e7dc235188bbeb99ccf77853fbcf043033e84cae 100644 --- a/MathLib/LinAlg/Solvers/BiCGStab.h +++ b/MathLib/LinAlg/Solvers/BiCGStab.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/CG.cpp b/MathLib/LinAlg/Solvers/CG.cpp index 7113d5f6d9bf1ed4d6894ab7e57b565b44259dc4..01d8797171cdbf59c1c05caa77ef4948a18fb149 100644 --- a/MathLib/LinAlg/Solvers/CG.cpp +++ b/MathLib/LinAlg/Solvers/CG.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/CG.h b/MathLib/LinAlg/Solvers/CG.h index 7903b018ad06afcc02c5be520e3b70d612313d5e..19eff0fb671fc409a35aca3c045d565d67ccfe01 100644 --- a/MathLib/LinAlg/Solvers/CG.h +++ b/MathLib/LinAlg/Solvers/CG.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/CGParallel.cpp b/MathLib/LinAlg/Solvers/CGParallel.cpp index 762ca139828a388b7ddd87ad3ab5886e4591430c..91bf49ac319883600100546500f72c0a466f038c 100644 --- a/MathLib/LinAlg/Solvers/CGParallel.cpp +++ b/MathLib/LinAlg/Solvers/CGParallel.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/DenseDirectLinearSolver.h b/MathLib/LinAlg/Solvers/DenseDirectLinearSolver.h index 1f32c7d789a2053188073622c6e84b109ff16d31..1c0b91fbfef4bca1dbe245292f6d07e10884a814 100644 --- a/MathLib/LinAlg/Solvers/DenseDirectLinearSolver.h +++ b/MathLib/LinAlg/Solvers/DenseDirectLinearSolver.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/DirectLinearSolver.h b/MathLib/LinAlg/Solvers/DirectLinearSolver.h index 39670d1287917bc9aa9a21ce195406373047e069..6bfc614a7d7a79be0a07e962615d7e1fab7353a7 100644 --- a/MathLib/LinAlg/Solvers/DirectLinearSolver.h +++ b/MathLib/LinAlg/Solvers/DirectLinearSolver.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/GMRes.cpp b/MathLib/LinAlg/Solvers/GMRes.cpp index 70b5424a7ef9fa1bdfded11872c06b6d4f9c0517..a2c1415f6070be4c950660e749ad6e041563356c 100644 --- a/MathLib/LinAlg/Solvers/GMRes.cpp +++ b/MathLib/LinAlg/Solvers/GMRes.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/GMRes.h b/MathLib/LinAlg/Solvers/GMRes.h index 5f29966a7e107743bc63aef9168b6a7e554a1010..cb51ce747953e4f16e965321158c7d97d7b9c927 100644 --- a/MathLib/LinAlg/Solvers/GMRes.h +++ b/MathLib/LinAlg/Solvers/GMRes.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/GaussAlgorithm.cpp b/MathLib/LinAlg/Solvers/GaussAlgorithm.cpp index eb3ea309c62437e91130daee8bb9c3d26a30d3eb..ccd77e5303b49f1e2ad30e79c768797f8431d6bb 100644 --- a/MathLib/LinAlg/Solvers/GaussAlgorithm.cpp +++ b/MathLib/LinAlg/Solvers/GaussAlgorithm.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/GaussAlgorithm.h b/MathLib/LinAlg/Solvers/GaussAlgorithm.h index b12ab4d305c33f2987221851b402464e290ead39..74787a9669506e409436ac35edf0209933ddaa47 100644 --- a/MathLib/LinAlg/Solvers/GaussAlgorithm.h +++ b/MathLib/LinAlg/Solvers/GaussAlgorithm.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/IterativeLinearSolver.h b/MathLib/LinAlg/Solvers/IterativeLinearSolver.h index 6186fcb45c87a279c8612fd37105fd0892b52f50..7ddfcb5d716a653c6d6418e5ec68121d1fb7d3ac 100644 --- a/MathLib/LinAlg/Solvers/IterativeLinearSolver.h +++ b/MathLib/LinAlg/Solvers/IterativeLinearSolver.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/LinearSolver.h b/MathLib/LinAlg/Solvers/LinearSolver.h index fce545ebc634aaf099a58eedc38039fa85e653e0..f6a32c805cdbb8514113a3944559219db0faa306 100644 --- a/MathLib/LinAlg/Solvers/LinearSolver.h +++ b/MathLib/LinAlg/Solvers/LinearSolver.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/TriangularSolve.cpp b/MathLib/LinAlg/Solvers/TriangularSolve.cpp index 4abdbcd140c07019f8322bde88b8af0d9ede309d..30f681e0f527e0a199fc5d3ae30c2bd1a87080b0 100644 --- a/MathLib/LinAlg/Solvers/TriangularSolve.cpp +++ b/MathLib/LinAlg/Solvers/TriangularSolve.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/TriangularSolve.h b/MathLib/LinAlg/Solvers/TriangularSolve.h index 234ced0c65d0592a7568fbf1ea2201a67fb5cc24..5e571910ace5449e8163edf8b938627c4d19a4cb 100644 --- a/MathLib/LinAlg/Solvers/TriangularSolve.h +++ b/MathLib/LinAlg/Solvers/TriangularSolve.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Solvers/solver.h b/MathLib/LinAlg/Solvers/solver.h index 26b474a14256fb5e0b30e17ce2c0a8e7cf5f8d4c..c36a8aa3ad54241546b81c0aeb7cd4393961f5bb 100644 --- a/MathLib/LinAlg/Solvers/solver.h +++ b/MathLib/LinAlg/Solvers/solver.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/CRSMatrix.h b/MathLib/LinAlg/Sparse/CRSMatrix.h index 872adaea451729e0f1de27c0ee8994db93364d57..31fed919062bace0696516acfd27152c2af74fbb 100644 --- a/MathLib/LinAlg/Sparse/CRSMatrix.h +++ b/MathLib/LinAlg/Sparse/CRSMatrix.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/CRSMatrixOpenMP.h b/MathLib/LinAlg/Sparse/CRSMatrixOpenMP.h index cd874ec552e75b82314898b8936e6589aefc6028..ccabe65b34fc2db9b58ad9f4e048e7daddd97c7f 100644 --- a/MathLib/LinAlg/Sparse/CRSMatrixOpenMP.h +++ b/MathLib/LinAlg/Sparse/CRSMatrixOpenMP.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/CRSMatrixPThreads.h b/MathLib/LinAlg/Sparse/CRSMatrixPThreads.h index e75b77c1339068176adfb865503b86733cbaf6e6..4efb2b6c9928de3bf613b1fdc211b0141cd61b4c 100644 --- a/MathLib/LinAlg/Sparse/CRSMatrixPThreads.h +++ b/MathLib/LinAlg/Sparse/CRSMatrixPThreads.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/CRSSymMatrix.h b/MathLib/LinAlg/Sparse/CRSSymMatrix.h index 5049c781bd12286f36f2631bedc8189bb6c0821a..2577734ee11bc816a216a4f3639325880f0a2be4 100644 --- a/MathLib/LinAlg/Sparse/CRSSymMatrix.h +++ b/MathLib/LinAlg/Sparse/CRSSymMatrix.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/CRSTranspose.h b/MathLib/LinAlg/Sparse/CRSTranspose.h index 95d84853ccd1704c7cc2a4a13f751f243afb6efe..a368962e4f87dcc4de991fca28e66a9e4970d1e1 100644 --- a/MathLib/LinAlg/Sparse/CRSTranspose.h +++ b/MathLib/LinAlg/Sparse/CRSTranspose.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/AdjMat.cpp b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/AdjMat.cpp index 87ae7e5c3252ab4ba11a7ce2ebdd2662dbd354ea..480908657c51c82b339c53d028bcca28a851301e 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/AdjMat.cpp +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/AdjMat.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/AdjMat.h b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/AdjMat.h index f80af5f1b205fd371328a53a7345ceebdf24f963..0c4cad4dd2494fd51bf6df8d7041d6ef9d5aa0c3 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/AdjMat.h +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/AdjMat.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReordered.cpp b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReordered.cpp index ed13a75c044d48290d8a24dda2aa87013bbfeb10..66f44d9dfaefb6a4889f11626a05e307ff026173 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReordered.cpp +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReordered.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReordered.h b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReordered.h index 34d1c35b41a2070929acffe262f283fb9c86458f..66cedd59ba1f663262e2e295f4d833babc809eb6 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReordered.h +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReordered.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReorderedOpenMP.cpp b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReorderedOpenMP.cpp index 834c5e4b5032f2eb4c8ad372f1082241a17fe02c..4449c0c7c499bd5f427e5200da5ba84205e1c563 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReorderedOpenMP.cpp +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReorderedOpenMP.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReorderedOpenMP.h b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReorderedOpenMP.h index 15d857e2d1de564184f53b7a54ebd1c35f470efd..13eaa41c290ac7d50dd09a083c2e448ff2206141 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReorderedOpenMP.h +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/CRSMatrixReorderedOpenMP.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Cluster.cpp b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Cluster.cpp index e4c1f480f7207a49b521b6cd03fd2d2cab731f9c..2b5c6f939160285f738d7ca63ed6b2ffc39f459b 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Cluster.cpp +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Cluster.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Cluster.h b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Cluster.h index ded1dfb3b391327e3e9231070b4b1096514a153e..7a7a379e980ef4233035663b08cb400ac43f9040 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Cluster.h +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Cluster.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/ClusterBase.cpp b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/ClusterBase.cpp index 7ef1eb64cace6db6bafa72c7289d239ebc8e748c..799647747d0b1bda5ccfe4ebaa6dc08dc5cf6445 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/ClusterBase.cpp +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/ClusterBase.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/ClusterBase.h b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/ClusterBase.h index 31b4e55b9904beb6832e3d15165029ead3532fb9..c67b9a06ff373c3d2a53be13df8da4fc4f254ea5 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/ClusterBase.h +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/ClusterBase.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Separator.cpp b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Separator.cpp index a6f9ee634dc9cdd1db13de750962f63909ea0176..6b5fc0d730125f5babb962af0e123910e0884daf 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Separator.cpp +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Separator.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Separator.h b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Separator.h index 9e27fe47e2502a480cb7f30fa4ea87b66784fe91..dbb0c919cbcf23a5f3c68bafda2dfd10067c6038 100644 --- a/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Separator.h +++ b/MathLib/LinAlg/Sparse/NestedDissectionPermutation/Separator.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/Sparsity.h b/MathLib/LinAlg/Sparse/Sparsity.h new file mode 100644 index 0000000000000000000000000000000000000000..e7f9a5e5770f2d67fa8ab6e8dfb7b3aa7b8cd495 --- /dev/null +++ b/MathLib/LinAlg/Sparse/Sparsity.h @@ -0,0 +1,29 @@ +/** + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + * + * \file Sparsity.h + * + * Created on 2012-06-25 by Norihiro Watanabe + */ + +#ifndef SPARSITY_H_ +#define SPARSITY_H_ + +#include <vector> +#include <set> + +namespace MathLib +{ + +/** + * \brief Row-major sparse pattern + */ +typedef std::vector<std::set<std::size_t> > RowMajorSparsity; + +} //MathLib + +#endif // SPARSITY_H_ diff --git a/MathLib/LinAlg/Sparse/amuxCRS.cpp b/MathLib/LinAlg/Sparse/amuxCRS.cpp index b57a3cdc8415016321563ff80d8edb21bc6ceb6f..9aff71032fe0f41e4f103e80b9308d15f1e8d8f8 100644 --- a/MathLib/LinAlg/Sparse/amuxCRS.cpp +++ b/MathLib/LinAlg/Sparse/amuxCRS.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/Sparse/amuxCRS.h b/MathLib/LinAlg/Sparse/amuxCRS.h index 9f0d75cef4e1cc6aaa20d97610ad6e8b733c6fcf..5b1d8511c7aaa3e8a9fbf117d8c1d327f3d53b44 100644 --- a/MathLib/LinAlg/Sparse/amuxCRS.h +++ b/MathLib/LinAlg/Sparse/amuxCRS.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/LinAlg/SystemOfLinearEquations/ISystemOfLinearEquations.h b/MathLib/LinAlg/SystemOfLinearEquations/ISystemOfLinearEquations.h new file mode 100644 index 0000000000000000000000000000000000000000..3ef7cb71f0b33f655c559515478d2064617ad0ae --- /dev/null +++ b/MathLib/LinAlg/SystemOfLinearEquations/ISystemOfLinearEquations.h @@ -0,0 +1,202 @@ +/** + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + * + * \file ISystemOfLinearEquations.h + * + * Created on 2012-06-25 by Norihiro Watanabe + */ + +#ifndef ISYSTEMOFLINEAREQUATIONS_H_ +#define ISYSTEMOFLINEAREQUATIONS_H_ + +#include <iostream> +#include <vector> +#include <boost/property_tree/ptree.hpp> +#include "MathLib/LinAlg/Sparse/Sparsity.h" + +namespace MathLib +{ + +/** + * \brief Interface to any system of linear equations Ax=b + * + * This class defines unified interface to a system of linear equations + * including linear solvers. + * + */ +class ISystemOfLinearEquations +{ +public: + /// Index representing invalid + const static std::size_t index_npos = -1; + + /// + virtual ~ISystemOfLinearEquations() + { + } + + /** + * set properties + * + * @param option + */ + virtual void setOption(const boost::property_tree::ptree &option) = 0; + + /** + * initialize this system with zero + * + * This function initialize the system by setting zero to all entries in + * a matrix, a RHS vector and solution vector. Dimension of the system is + * not changed. + */ + virtual void setZero() = 0; + + /// return dimension of this equation + virtual std::size_t getDimension() const = 0; + + /** + * set an entry in a matrix + * + * @param rowId + * @param colId + * @param v + */ + virtual void setMatEntry(std::size_t rowId, std::size_t colId, double v) = 0; + + /** + * add a value into a matrix + * + * @param rowId + * @param colId + * @param v + */ + virtual void addMatEntry(std::size_t rowId, std::size_t colId, double v) = 0; + + /** + * add a sub-matrix into a matrix at given row and column positions + * + * @param vec_row_pos + * A vector of global row index. The number of entries of vec_row_pos have + * to be identical to the number of rows of the local matrix. + * @param vec_col_pos + * A vector of global column index. The number of vec_col_pos have to be + * identical to the number of columns of the local matrix. + * @param sub_matrix A sub-matrix + * @param fac scaling parameter + */ + template <class T_DENSE_MATRIX> + void addSubMat(const std::vector<std::size_t> &vec_row_pos, + const std::vector<std::size_t> &vec_col_pos, + const T_DENSE_MATRIX &sub_matrix, double fac = 1.0); + + /** + * add a sub-matrix into a matrix + * + * @param vec_row_col_pos + * A vector of global row and column index. The number of entries of + * vec_row_col_pos have to be identical to the number of rows and columns + * of the local matrix. + * @param sub_matrix A sub-matrix + * @param fac scaling parameter + */ + template <class T_DENSE_MATRIX> + void addSubMat(const std::vector<std::size_t> &vec_row_col_pos, + const T_DENSE_MATRIX &sub_matrix, double fac = 1.0); + + /** + * get RHS entry + * + * @param rowId + * @return + */ + virtual double getRHSVec(std::size_t rowId) const = 0; + + /** + * set RHS entry + * + * @param rowId + * @param v + */ + virtual void setRHSVec(std::size_t rowId, double v) = 0; + + /** + * add RHS entry + * + * @param rowId + * @param v + */ + virtual void addRHSVec(std::size_t rowId, double v) = 0; + + /** + * add a sub vector to RHS + * + * @param vec_row_pos + * A vector of global row index. The number of entries of vec_row_pos + * have to be identical to the number of rows of the sub vector. + * @param sub_vector + * Pointer to a sub-vector. Its length must be the same as the length of vec_row_pos. + * @param fac + * Scaling parameter. Default value is 1. + */ + inline virtual void addSubRHS(const std::vector<std::size_t> &vec_row_pos, + const double* sub_vector, double fac = 1.0); + + /** + * add a sub vector to RHS + * + * @param vec_row_pos + * A vector of global row index. The number of entries of vec_row_pos + * have to be identical to the number of rows of the sub vector. + * @param sub_vector A sub-vector + * @param fac Scaling parameter + */ + template <class T_DENSE_VECTOR> + void addSubRHS(const std::vector<std::size_t> &vec_row_pos, + const T_DENSE_VECTOR &sub_vector, double fac = 1.0); + + /** + * get an entry in a solution vector + * @param rowId + * @return + */ + virtual double getSolVec(std::size_t rowId) = 0; + + /** + * set an entry in a solution vector + * @param rowId + * @param v + */ + virtual void setSolVec(std::size_t rowId, double v) = 0; + + /** + * set prescribed value + * @param row_id + * @param x + */ + virtual void setKnownSolution(std::size_t row_id, double x) = 0; + + /** + * set prescribed value + * @param vec_id A vector of global row index + * @param vec_x A vector of prescribed values + */ + virtual void setKnownSolution(const std::vector<std::size_t> &vec_id, + const std::vector<double> &vec_x) = 0; + + /// solve the linear system + virtual void solve() = 0; + + /// print out the equation for debugging + virtual void printout(std::ostream &os = std::cout) const = 0; + +}; + +} + +#include "ISystemOfLinearEquations.tpp" + +#endif //ISYSTEMOFLINEAREQUATIONS_H_ diff --git a/MathLib/LinAlg/SystemOfLinearEquations/ISystemOfLinearEquations.tpp b/MathLib/LinAlg/SystemOfLinearEquations/ISystemOfLinearEquations.tpp new file mode 100644 index 0000000000000000000000000000000000000000..eb6ff44085dd7da855a5e33980969a119026f791 --- /dev/null +++ b/MathLib/LinAlg/SystemOfLinearEquations/ISystemOfLinearEquations.tpp @@ -0,0 +1,63 @@ +/** + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + * + * \file ISystemOfLinearEquations.tpp + * + * Created on 2012-06-25 by Norihiro Watanabe + */ + +#ifndef ISYSTEMOFLINEAREQUATIONS_TPP_ +#define ISYSTEMOFLINEAREQUATIONS_TPP_ + +namespace MathLib +{ + +template <class T_DENSE_MATRIX> +void ISystemOfLinearEquations::addSubMat(const std::vector<std::size_t> &vec_row_pos, const std::vector<std::size_t> &vec_col_pos, const T_DENSE_MATRIX &sub_matrix, double fkt) +{ + const std::size_t n_rows = vec_row_pos.size(); + const std::size_t n_cols = vec_col_pos.size(); + for (std::size_t i=0; i<n_rows; i++) { + const std::size_t rowId = vec_row_pos[i]; + if (rowId==index_npos) continue; + for (std::size_t j=0; j<n_cols; j++) { + const std::size_t colId = vec_col_pos[j]; + if (colId==index_npos) continue; + addMatEntry(rowId, colId, fkt*sub_matrix(i,j)); + } + } +} + +template <class T_DENSE_MATRIX> +void ISystemOfLinearEquations::addSubMat(const std::vector<std::size_t> &vec_pos, const T_DENSE_MATRIX &sub_matrix, double fkt) +{ + addSubMat(vec_pos, vec_pos, sub_matrix, fkt); +} + +inline void ISystemOfLinearEquations::addSubRHS(const std::vector<std::size_t> &vec_row_pos, const double *sub_vector, double fkt) +{ + for (std::size_t i=0; i<vec_row_pos.size(); i++) { + const std::size_t rowId = vec_row_pos[i]; + if (rowId==index_npos) continue; + addRHSVec(rowId, sub_vector[i]*fkt); + } +} + +template <class T_DENSE_VECTOR> +void ISystemOfLinearEquations::addSubRHS(const std::vector<std::size_t> &vec_row_pos, const T_DENSE_VECTOR &sub_vector, double fkt) +{ + for (std::size_t i=0; i<vec_row_pos.size(); i++) { + const std::size_t rowId = vec_row_pos[i]; + if (rowId==index_npos) continue; + addRHSVec(rowId, sub_vector(i)*fkt); + } +} + +} + +#endif //ISYSTEMOFLINEAREQUATIONS_TPP_ + diff --git a/MathLib/LinAlg/SystemOfLinearEquations/LisLinearSystem.cpp b/MathLib/LinAlg/SystemOfLinearEquations/LisLinearSystem.cpp new file mode 100644 index 0000000000000000000000000000000000000000..db4155d8e932dd5b3857bfc4514892d022c30126 --- /dev/null +++ b/MathLib/LinAlg/SystemOfLinearEquations/LisLinearSystem.cpp @@ -0,0 +1,189 @@ +/** + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + * + * \file LisLinearSystem.cpp + * + * Created on 2012-06-25 by Norihiro Watanabe + */ + +#include "LisLinearSystem.h" + +#include <string> +#include <sstream> +#ifdef _OPENMP +#include <omp.h> +#endif +#include "logog/include/logog.hpp" + +namespace MathLib +{ + +bool LisLinearSystem::checkError(int err) +{ + bool ok = (err == LIS_SUCCESS); + if (!ok) { + ERR("***ERROR: Lis error code = %d", err); + } + return ok; +} + +LisLinearSystem::LisLinearSystem(std::size_t dimension) +: _dim(dimension), _max_diag_coeff(.0) +{ + int ierr = 0; + ierr = lis_matrix_create(0, &_AA); checkError(ierr); + ierr = lis_matrix_set_size(_AA, 0, dimension); checkError(ierr); + ierr = lis_vector_duplicate(_AA, &_bb); checkError(ierr); + ierr = lis_vector_duplicate(_AA, &_xx); checkError(ierr); +} + +LisLinearSystem::~LisLinearSystem() +{ + int ierr = 0; + ierr = lis_matrix_destroy(_AA); checkError(ierr); + ierr = lis_vector_destroy(_bb); checkError(ierr); + ierr = lis_vector_destroy(_xx); checkError(ierr); +} + +void LisLinearSystem::setOption(const boost::property_tree::ptree &option) +{ + using boost::property_tree::ptree; + + boost::optional<ptree> ptSolver = option.get_child("LinearSolver"); + if (!ptSolver) + return; + + boost::optional<std::string> solver_type = ptSolver->get_optional<std::string>("solver_type"); + if (solver_type) { + _option.solver_type = _option.getSolverType(*solver_type); + } + boost::optional<std::string> precon_type = ptSolver->get_optional<std::string>("precon_type"); + if (precon_type) { + _option.precon_type = _option.getPreconType(*precon_type); + } + boost::optional<std::string> matrix_type = ptSolver->get_optional<std::string>("matrix_type"); + if (matrix_type) { + _option.matrix_type = _option.getMatrixType(*matrix_type); + } + boost::optional<double> error_tolerance = ptSolver->get_optional<double>("error_tolerance"); + if (error_tolerance) { + _option.error_tolerance = *error_tolerance; + } + boost::optional<int> max_iteration_step = ptSolver->get_optional<int>("max_iteration_step"); + if (max_iteration_step) { + _option.max_iterations = *max_iteration_step; + } +} + +void LisLinearSystem::setZero() +{ + int ierr = 0; + // A matrix has to be removed and created every time because Lis doesn't provide a + // function to set matrix entries to zero + ierr = lis_matrix_destroy(_AA); checkError(ierr); + ierr = lis_matrix_create(0, &_AA); checkError(ierr); + ierr = lis_matrix_set_size(_AA, 0, getDimension()); checkError(ierr); + // set zero RHS, x + ierr = lis_vector_set_all(0.0, _bb); checkError(ierr); + ierr = lis_vector_set_all(0.0, _xx); checkError(ierr); + + _max_diag_coeff = .0; +} + +void LisLinearSystem::applyKnownSolution() +{ + //Use penalty parameter + const double penalty_scaling = 1e+10; + const double penalty = _max_diag_coeff * penalty_scaling; + INFO("-> max. absolute value of diagonal entries = %e", _max_diag_coeff); + INFO("-> penalty scaling = %e", penalty_scaling); + const std::size_t n_bc = _vec_knownX_id.size(); + for (std::size_t i_bc=0; i_bc<n_bc; i_bc++) { + const std::size_t rowId = _vec_knownX_id[i_bc]; + const double x = _vec_knownX_x[i_bc]; + //A(k, k) = penalty + setMatEntry(rowId, rowId, penalty); + //b(k) = x*penalty + setRHSVec(rowId, x*penalty); + } +} + +void LisLinearSystem::solve() +{ + INFO("------------------------------------------------------------------"); + INFO("*** LIS solver computation"); +#ifdef _OPENMP + INFO("-> max number of threads = %d", omp_get_num_procs()); + INFO("-> number of threads = %d", omp_get_max_threads()); +#endif + + applyKnownSolution(); + // assemble a matrix + int ierr = 0; + ierr = lis_matrix_set_type(_AA, static_cast<int>(_option.matrix_type)); checkError(ierr); + ierr = lis_matrix_assemble(_AA); checkError(ierr); + + // configure option + std::string solver_options; + if (_option.solver_precon_arg.empty()) { + std::stringstream ss; + ss << "-i " << static_cast<int>(_option.solver_type); + ss << " -p " << static_cast<int>(_option.precon_type); + if (!_option.extra_arg.empty()) + ss << " " << _option.extra_arg; + solver_options = ss.str(); + } else { + solver_options = _option.solver_precon_arg; + } + std::string tol_option; + { + std::stringstream ss; + ss << "-tol " << _option.error_tolerance; + ss << " -maxiter " << _option.max_iterations; + ss << " -initx_zeros 0"; //0: use given x as initial guess, 1: x0=0 +#ifdef _OPENMP + const int nthreads = omp_get_max_threads(); + ss << " -omp_num_threads " << nthreads; +#endif + tol_option = ss.str(); + } + + // Create solver + LIS_SOLVER solver; + ierr = lis_solver_create(&solver); checkError(ierr); + ierr = lis_solver_set_option(const_cast<char*>(solver_options.c_str()), solver); checkError(ierr); + ierr = lis_solver_set_option(const_cast<char*>(tol_option.c_str()), solver); checkError(ierr); + ierr = lis_solver_set_option(const_cast<char*>("-print mem"), solver); checkError(ierr); + + // solve + INFO("-> solve"); + ierr = lis_solve(_AA, _bb, _xx, solver); checkError(ierr); + checkError(ierr); + //lis_output(_AA, _bb, _xx, LIS_FMT_MM, "/home/localadmin/tasks/20120814_ogs6test/matrix1.txt"); + + int iter = 0; + double resid = 0.0; + ierr = lis_solver_get_iters(solver, &iter); checkError(ierr); + ierr = lis_solver_get_residualnorm(solver, &resid); checkError(ierr); + INFO("\t iteration: %d/%ld\n", iter, _option.max_iterations); + INFO("\t residuals: %e\n", resid); + + // Clear solver + ierr = lis_solver_destroy(solver); checkError(ierr); + INFO("------------------------------------------------------------------"); +} + +void LisLinearSystem::printout(std::ostream &os) const +{ + os << "#A=" << std::endl; + os << "#x=" << std::endl; + lis_vector_print(_xx); + os << "#b=" << std::endl; + lis_vector_print(_bb); +} + +} //MathLib diff --git a/MathLib/LinAlg/SystemOfLinearEquations/LisLinearSystem.h b/MathLib/LinAlg/SystemOfLinearEquations/LisLinearSystem.h new file mode 100644 index 0000000000000000000000000000000000000000..d40b5116378eaf3c3202f180faa4d8c79148f263 --- /dev/null +++ b/MathLib/LinAlg/SystemOfLinearEquations/LisLinearSystem.h @@ -0,0 +1,183 @@ +/** + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + * + * \file LisLinearSystem.h + * + * Created on 2012-06-25 by Norihiro Watanabe + */ + +#ifndef LISLINEARSYSTEM_H_ +#define LISLINEARSYSTEM_H_ + +#include <iostream> +#include <string> +#include <vector> +#include <boost/property_tree/ptree.hpp> + +#include "lis.h" + +#include "LisOption.h" + +namespace MathLib +{ + +/** + * \brief Linear system using Lis solver (http://www.ssisc.org/lis/) + * + * This class utilizes Lis solver. + */ +class LisLinearSystem +{ +public: + //--------------------------------------------------------------- + // realization of ISystemOfLinearEquations + //--------------------------------------------------------------- + + /** + * Create a linear system using Lis + * + * @param length System dimension + */ + LisLinearSystem(std::size_t length); + + /** + * + */ + virtual ~LisLinearSystem(); + + /** + * configure linear solvers + * @param option + */ + virtual void setOption(const boost::property_tree::ptree &option); + + /// return the system dimension + virtual std::size_t getDimension() const { return _dim; }; + + /// reset this equation + virtual void setZero(); + + /// set entry in A + virtual void setMatEntry(std::size_t rowId, std::size_t colId, double v) + { + if (rowId==colId) + _max_diag_coeff = std::max(_max_diag_coeff, std::abs(v)); + lis_matrix_set_value(LIS_INS_VALUE, rowId, colId, v, _AA); + } + + /// add value into A + virtual void addMatEntry(std::size_t rowId, std::size_t colId, double v) + { + if (rowId==colId) + _max_diag_coeff = std::max(_max_diag_coeff, std::abs(v)); + lis_matrix_set_value(LIS_ADD_VALUE, rowId, colId, v, _AA); + } + + /// get RHS entry + virtual double getRHSVec(std::size_t rowId) const + { + double v; + lis_vector_get_value(_bb, rowId, &v); + return v; + } + + /// set RHS entry + virtual void setRHSVec(std::size_t rowId, double v) + { + lis_vector_set_value(LIS_INS_VALUE, rowId, v, _bb); + } + + /// add RHS entry + virtual void addRHSVec(std::size_t rowId, double v) + { + lis_vector_set_value(LIS_ADD_VALUE, rowId, v, _bb); + } + + /// get an entry in a solution vector + virtual double getSolVec(std::size_t rowId) + { + double v; + lis_vector_get_value(_xx, rowId, &v); + return v; + } + + /// set a solution vector + virtual void setSolVec(std::size_t rowId, double v) + { + lis_vector_set_value(LIS_INS_VALUE, rowId, v, _xx); + } + + /// set prescribed value + virtual void setKnownSolution(std::size_t rowId, double x) + { + _vec_knownX_id.push_back(rowId); + _vec_knownX_x.push_back(x); + } + + /// set prescribed values + virtual void setKnownSolution(const std::vector<std::size_t> &vec_id, const std::vector<double> &vec_x) + { + _vec_knownX_id.insert(_vec_knownX_id.end(), vec_id.begin(), vec_id.end()); + _vec_knownX_x.insert(_vec_knownX_x.end(), vec_x.begin(), vec_x.end()); + } + + /// solve this equation + virtual void solve(); + + /// printout this equation for debugging + virtual void printout(std::ostream &os=std::cout) const; + + //--------------------------------------------------------------- + // specific to this class + //--------------------------------------------------------------- + /** + * configure linear solvers + * @param option + */ + void setOption(const LisOption &option) + { + _option = option; + } + + /** + * get linear solver options + * @return + */ + LisOption &getOption() + { + return _option; + } + + /** + * get a solution vector + * @param x + */ + void getSolVec(double* x) + { + lis_vector_gather(_xx, x); + } + +private: + bool checkError(int err); + void applyKnownSolution(); + +private: + const std::size_t _dim; + double _max_diag_coeff; + LisOption _option; + LIS_MATRIX _AA; + LIS_VECTOR _bb; + LIS_VECTOR _xx; + std::vector<std::size_t> _vec_knownX_id; + std::vector<double> _vec_knownX_x; +}; + + +} // MathLib + +#endif //LISLINEARSYSTEM_H_ + diff --git a/MathLib/LinAlg/SystemOfLinearEquations/LisOption.cpp b/MathLib/LinAlg/SystemOfLinearEquations/LisOption.cpp new file mode 100644 index 0000000000000000000000000000000000000000..40cc2689aca57898b2514dd4b95db74e4fa9a87e --- /dev/null +++ b/MathLib/LinAlg/SystemOfLinearEquations/LisOption.cpp @@ -0,0 +1,100 @@ +/** + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + * + * \file LisOption.cpp + * + * Created on 2012-12-05 by Norihiro Watanabe + */ + +#include "LisOption.h" + +namespace MathLib +{ + +LisOption::LisOption() +{ + solver_type = SolverType::CG; + precon_type = PreconType::NONE; + matrix_type = MatrixType::CRS; + max_iterations = 500; + error_tolerance = 1.e-10; +} + +LisOption::SolverType LisOption::getSolverType(const std::string &solver_name) +{ +#define RETURN_SOLVER_ENUM_IF_SAME_STRING(str, TypeName) \ + if (#TypeName==str) return SolverType::TypeName; + + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, CG); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, BiCG); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, CGS); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, BiCGSTAB); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, BiCGSTABl); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, GPBiCG); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, TFQMR); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, Orthomin); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, GMRES); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, Jacobi); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, GaussSeidel); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, SOR); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, BiCGSafe); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, CR); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, BiCR); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, CRS); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, BiCRSTAB); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, GPBiCR); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, BiCRSafe); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, FGMRESm); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, IDRs); + RETURN_SOLVER_ENUM_IF_SAME_STRING(solver_name, MINRES); + + return SolverType::INVALID; +#undef RETURN_SOLVER_ENUM_IF_SAME_STRING +} + +LisOption::PreconType LisOption::getPreconType(const std::string &precon_name) +{ +#define RETURN_PRECOM_ENUM_IF_SAME_STRING(str, TypeName) \ + if (#TypeName==str) return PreconType::TypeName; + + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, NONE); + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, JACOBI); + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, ILU); + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, SSOR); + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, Hybrid); + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, IplusS); + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, SAINV); + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, SAAMG); + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, CroutILU); + RETURN_PRECOM_ENUM_IF_SAME_STRING(precon_name, ILUT); + + return PreconType::NONE; +#undef RETURN_PRECOM_ENUM_IF_SAME_STRING +} + +LisOption::MatrixType LisOption::getMatrixType(const std::string &matrix_name) +{ +#define RETURN_MATRIX_ENUM_IF_SAME_STRING(str, TypeName) \ + if (#TypeName==str) return MatrixType::TypeName; + + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, CRS); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, CCS); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, MSR); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, DIA); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, ELL); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, JDS); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, BSR); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, BSC); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, VBR); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, COO); + RETURN_MATRIX_ENUM_IF_SAME_STRING(matrix_name, DNS); + + return MatrixType::CRS; +#undef RETURN_MATRIX_ENUM_IF_SAME_STRING +} + +} //MathLib diff --git a/MathLib/LinAlg/SystemOfLinearEquations/LisOption.h b/MathLib/LinAlg/SystemOfLinearEquations/LisOption.h new file mode 100644 index 0000000000000000000000000000000000000000..2fb75b311f1110ffb2de63b59fe6e674f672aca1 --- /dev/null +++ b/MathLib/LinAlg/SystemOfLinearEquations/LisOption.h @@ -0,0 +1,143 @@ +/** + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.org/project/license + * + * + * \file LisOption.h + * + * Created on 2012-06-25 by Norihiro Watanabe + */ + +#ifndef LIS_OPTION_H_ +#define LIS_OPTION_H_ + +#include <string> + +namespace MathLib +{ + +/** + * \brief Option for Lis solver + */ +struct LisOption +{ + /// Solver type + enum class SolverType : int + { + INVALID = 0, + CG = 1, + BiCG = 2, + CGS = 3, + BiCGSTAB = 4, + BiCGSTABl = 5, + GPBiCG = 6, + TFQMR = 7, + Orthomin = 8, + GMRES = 9, + Jacobi = 10, + GaussSeidel = 11, + SOR = 12, + BiCGSafe = 13, + CR = 14, + BiCR = 15, + CRS = 16, + BiCRSTAB = 17, + GPBiCR = 18, + BiCRSafe = 19, + FGMRESm = 20, + IDRs = 21, + MINRES = 22 + }; + + /// Preconditioner type + enum class PreconType : int + { + NONE = 0, + JACOBI = 1, + ILU = 2, + SSOR = 3, + Hybrid = 4, + IplusS = 5, + SAINV = 6, + SAAMG = 7, + CroutILU = 8, + ILUT = 9 + }; + + /// Matrix type + enum class MatrixType : int + { + CRS = 1, + CCS = 2, + MSR = 3, + DIA = 4, + ELL = 5, + JDS = 6, + BSR = 7, + BSC = 8, + VBR = 9, + COO = 10, + DNS = 11 + }; + + /// Linear solver type + SolverType solver_type; + /// Preconditioner type + PreconType precon_type; + /// Matrix type + MatrixType matrix_type; + /// Maximum iteration count + long max_iterations; + /// Error tolerance + double error_tolerance; + /// Extra option + std::string extra_arg; + /// Arguments for solver and preconditioner. This variable is always preferred + /// to other variables. + std::string solver_precon_arg; + + /** + * Constructor + * + * Default options are CG, no preconditioner, iteration count 500 and + * tolerance 1e-10. Default matrix storage type is CRS. + */ + LisOption(); + + /// Destructor + ~LisOption() {}; + + /** + * return a linear solver type from the solver name + * + * @param solver_name + * @return a linear solver type + * If there is no solver type matched with the given name, INVALID + * is returned. + */ + static SolverType getSolverType(const std::string &solver_name); + + /** + * return a preconditioner type from the name + * + * @param precon_name + * @return a preconditioner type + * If there is no preconditioner type matched with the given name, NONE + * is returned. + */ + static PreconType getPreconType(const std::string &precon_name); + + /** + * return a matrix type + * @param matrix_name + * @return + * If there is no matrix type matched with the given name, CRS + * is returned. + */ + static MatrixType getMatrixType(const std::string &matrix_name); +}; + +} +#endif //LIS_OPTION_H_ diff --git a/MathLib/LinAlg/VectorNorms.h b/MathLib/LinAlg/VectorNorms.h index 271353f7b742bc18eade40f0d161013467882056..a1a732a257f752e0e98da50ee016890f1d8e77a1 100644 --- a/MathLib/LinAlg/VectorNorms.h +++ b/MathLib/LinAlg/VectorNorms.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/MathTools.cpp b/MathLib/MathTools.cpp index 528dbdda2d9dc23e49f1975b7e7710642f42aecb..50b6e7a39a34ad293e06f9325e7406fc47dc00f2 100644 --- a/MathLib/MathTools.cpp +++ b/MathLib/MathTools.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/MathTools.h b/MathLib/MathTools.h index ecd3dd5b07a5c2e4d4340b57c1884b792e908742..ca9ff780a8efeb2d6ec39592ec6fcd4102d33a3b 100644 --- a/MathLib/MathTools.h +++ b/MathLib/MathTools.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/Vector3.h b/MathLib/Vector3.h index 463ba34a5fee5e22c6edab4977869f4fa23bea16..4e2472a70c6375ed826d54c9704ebea995e8f453 100644 --- a/MathLib/Vector3.h +++ b/MathLib/Vector3.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/sparse.h b/MathLib/sparse.h index 62f5bbcc11304b038fd870b5ad40590275dd6443..17ec803a41220bb2150f2ba344ffb3d52ae916e8 100644 --- a/MathLib/sparse.h +++ b/MathLib/sparse.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MathLib/vector_io.h b/MathLib/vector_io.h index 5312804a21487fd879fe8372b0a051a8736f1e3e..9bb3373cdf8fbffca1495693b8c0c9cc7e66a8ba 100644 --- a/MathLib/vector_io.h +++ b/MathLib/vector_io.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/ElementStatus.cpp b/MeshLib/ElementStatus.cpp index b87cf58939f73391a269c87a6a1dcdb24a106c87..3fc7bf71e66b7940143a60603f87fafc861c20db 100644 --- a/MeshLib/ElementStatus.cpp +++ b/MeshLib/ElementStatus.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/ElementStatus.h b/MeshLib/ElementStatus.h index ad41759b0fc449b7fed524aad89dac4cc3a6acde..18c96b7126c123a60f259d661bc24a5d4a3a30ed 100644 --- a/MeshLib/ElementStatus.h +++ b/MeshLib/ElementStatus.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license @@ -16,7 +16,7 @@ #include "Mesh.h" namespace MeshLib { - + /** * An object to store which elements of the mesh are active and which are inactive */ @@ -28,7 +28,7 @@ public: ElementStatus(Mesh const*const mesh); bool getElementStatus(unsigned i) { return _status[i]; }; - + bool isActive(unsigned i) { return _status[i]; }; void setActive(unsigned i) { _status[i] = true; }; diff --git a/MeshLib/Elements/Cell.cpp b/MeshLib/Elements/Cell.cpp index 7ed7b117115e01368345c49b489a1816118d54ef..a1012360e862e0e314bdb129eac7ecc19d3ffdeb 100644 --- a/MeshLib/Elements/Cell.cpp +++ b/MeshLib/Elements/Cell.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/Cell.h b/MeshLib/Elements/Cell.h index 9f28ea3d7ecfc672884c4f59ab40a5bbdfbbec96..1028229816bbfc6db1e951331d0c591a206d83ec 100644 --- a/MeshLib/Elements/Cell.h +++ b/MeshLib/Elements/Cell.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/Element.cpp b/MeshLib/Elements/Element.cpp index 7e24dbdabc3edc9cced003906b80a1bba6f6e203..6a10dc8dd4f3eaf717938d3f078479fb2e71ec6b 100644 --- a/MeshLib/Elements/Element.cpp +++ b/MeshLib/Elements/Element.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license @@ -10,6 +10,8 @@ * Created on 2012-05-02 by Karsten Rink */ +#include "logog/include/logog.hpp" + #include "Element.h" #include "Node.h" #include "Edge.h" @@ -74,7 +76,7 @@ const Element* Element::getEdge(unsigned i) const nodes[1] = const_cast<Node*>(getEdgeNode(i,1)); return new Edge(nodes); } - std::cerr << "Error in MeshLib::Element::getEdge() - Index does not exist." << std::endl; + ERR("Error in MeshLib::Element::getEdge() - Index does not exist."); return NULL; } @@ -95,7 +97,7 @@ const Element* Element::getNeighbor(unsigned i) const { if (i < getNNeighbors()) return _neighbors[i]; - std::cerr << "Error in MeshLib::Element::getNeighbor() - Index does not exist." << std::endl; + ERR("Error in MeshLib::Element::getNeighbor() - Index does not exist."); return NULL; } @@ -112,7 +114,7 @@ const Node* Element::getNode(unsigned i) const { if (i < getNNodes()) return _nodes[i]; - std::cerr << "Error in MeshLib::Element::getNode() - Index " << i << " in " << MshElemType2String(getGeomType()) << " does not exist." << std::endl; + ERR("Error in MeshLib::Element::getNode() - Index %d in %s", i, MshElemType2String(getGeomType()).c_str()); return NULL; } @@ -126,7 +128,7 @@ unsigned Element::getNodeIndex(unsigned i) const { if (i<getNNodes()) return _nodes[i]->getID(); - std::cerr << "Error in MeshLib::Element::getNodeIndex() - Index does not exist." << std::endl; + ERR("Error in MeshLib::Element::getNodeIndex() - Index does not exist."); return std::numeric_limits<unsigned>::max(); } diff --git a/MeshLib/Elements/Element.h b/MeshLib/Elements/Element.h index 3568745ca91f1d3e71b852dc3d5472faba647abd..1d7249192671a7023d2829ca76ac80454ff6d8b0 100644 --- a/MeshLib/Elements/Element.h +++ b/MeshLib/Elements/Element.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/Face.cpp b/MeshLib/Elements/Face.cpp index b0c745b43f639681ba103196701e49fdabeb6e06..5a853a26b9bfe49b5695bf267630adcaaffa2a34 100644 --- a/MeshLib/Elements/Face.cpp +++ b/MeshLib/Elements/Face.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/Face.h b/MeshLib/Elements/Face.h index 2746abcf9f8f6f670ba9285c928cfd1ab0b407b5..02d85a06909ae288f0b9fae5077aa02cc5f0aed7 100644 --- a/MeshLib/Elements/Face.h +++ b/MeshLib/Elements/Face.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/FemElem.cpp b/MeshLib/Elements/FemElem.cpp index d4695a597f2ffb6085dea46dc87314e19eed2a9d..5fcd121d6aa1dee50ae486ef5133a2fa10513158 100644 --- a/MeshLib/Elements/FemElem.cpp +++ b/MeshLib/Elements/FemElem.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/FemElem.h b/MeshLib/Elements/FemElem.h index cfe740709f1868d2f13cef100c8ebdc8e32cc2c4..e870a2d9e27c3f3e9464e4820dd413b2c0132d65 100644 --- a/MeshLib/Elements/FemElem.h +++ b/MeshLib/Elements/FemElem.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/TemplateEdge.h b/MeshLib/Elements/TemplateEdge.h index 1d15d036c39b5766a7f5e59668f5580da242f2ba..7a9e4c8133e237d1a0c8ec4ec177a8fd8e71f365 100644 --- a/MeshLib/Elements/TemplateEdge.h +++ b/MeshLib/Elements/TemplateEdge.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/TemplateHex.h b/MeshLib/Elements/TemplateHex.h index b5f8d873cb6a96b0b01d74e4086960149385cab5..2d1ac4bf1f0d5ddab1b98774f6d4218a7ae6fb4c 100644 --- a/MeshLib/Elements/TemplateHex.h +++ b/MeshLib/Elements/TemplateHex.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/TemplateHex.tpp b/MeshLib/Elements/TemplateHex.tpp index aa2b3d9893337714ce3456e9d5c5833535afca12..618beb367c8b9fb0b69b6658ad9b35b6e20c81a0 100644 --- a/MeshLib/Elements/TemplateHex.tpp +++ b/MeshLib/Elements/TemplateHex.tpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license @@ -10,6 +10,8 @@ * Created on 2012-05-02 by Karsten Rink */ +#include "logog/include/logog.hpp" + #include "Node.h" #include "Quad.h" #include "Prism.h" @@ -101,7 +103,7 @@ const Element* TemplateHex<NNODES,CELLHEXTYPE>::getFace(unsigned i) const nodes[j] = _nodes[_face_nodes[i][j]]; return new Quad(nodes); } - std::cerr << "Error in MeshLib::Element::getFace() - Index does not exist." << std::endl; + ERR("Error in MeshLib::Element::getFace() - Index %d does not exist.", i); return NULL; } @@ -149,7 +151,7 @@ Element* TemplateHex<NNODES,CELLHEXTYPE>::reviseElement() const } if (collapsed_edges.size() == 1) { - std::cerr << "[TemplateHex<NNODES,CELLHEXTYPE>::reviseElement()] collapsing of one edge in hexahedron not handled" << std::endl; + ERR("[TemplateHex<NNODES,CELLHEXTYPE>::reviseElement()] collapsing of one edge in hexahedron not handled."); return NULL; } diff --git a/MeshLib/Elements/TemplatePrism.h b/MeshLib/Elements/TemplatePrism.h index 63791e5a54487a69223feeb0bcdfa349957c5fb1..a440707020e119c51d58858928d6453020902bc2 100644 --- a/MeshLib/Elements/TemplatePrism.h +++ b/MeshLib/Elements/TemplatePrism.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/TemplatePrism.tpp b/MeshLib/Elements/TemplatePrism.tpp index a9b8885f34d1e4e40cc2265a55568f4897fce8d2..6187f980db634464a627b1bb8773db63606ee49b 100644 --- a/MeshLib/Elements/TemplatePrism.tpp +++ b/MeshLib/Elements/TemplatePrism.tpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license @@ -10,6 +10,9 @@ * Created on 2012-05-02 by Karsten Rink */ +// Thirdparty +#include "logog/include/logog.hpp" + #include "Node.h" #include "Tri.h" #include "Pyramid.h" @@ -100,7 +103,7 @@ const Element* TemplatePrism<NNODES,CELLPRISMTYPE>::getFace(unsigned i) const else return new Quad(nodes); } - std::cerr << "Error in MeshLib::Element::getFace() - Index does not exist." << std::endl; + ERR("Error in MeshLib::Element::getFace() - Index %d does not exist.", i); return NULL; } @@ -109,7 +112,7 @@ unsigned TemplatePrism<NNODES,CELLPRISMTYPE>::getNFaceNodes(unsigned i) const { if (i<5) return _n_face_nodes[i]; - std::cerr << "Error in MeshLib::Element::getNFaceNodes() - Index does not exist." << std::endl; + ERR("Error in MeshLib::Element::getNFaceNodes() - Index %d does not exist.", i); return 0; } diff --git a/MeshLib/Elements/TemplatePyramid.h b/MeshLib/Elements/TemplatePyramid.h index 5abf8628cacbbd2a6f2355c894e481c78f21591f..ba65709d5adb66b0e4f0607eca2a951dc975e6e6 100644 --- a/MeshLib/Elements/TemplatePyramid.h +++ b/MeshLib/Elements/TemplatePyramid.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/TemplatePyramid.tpp b/MeshLib/Elements/TemplatePyramid.tpp index 9b593253e962a9d3a24167bde7166daf849a1b62..bf68c30356fc096c205f08cd782b6c2ced81d493 100644 --- a/MeshLib/Elements/TemplatePyramid.tpp +++ b/MeshLib/Elements/TemplatePyramid.tpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license @@ -10,6 +10,9 @@ * Created on 2012-05-02 by Karsten Rink */ +// Thirdparty +#include "logog/include/logog.hpp" + #include "Node.h" #include "Tri.h" #include "Tet.h" @@ -102,7 +105,7 @@ const Element* TemplatePyramid<NNODES,CELLPYRAMIDTYPE>::getFace(unsigned i) cons else return new Quad(nodes); } - std::cerr << "Error in MeshLib::Element::getFace() - Index does not exist." << std::endl; + ERR("Error in MeshLib::Element::getFace() - Index %d does not exist.", i); return NULL; } @@ -111,7 +114,7 @@ unsigned TemplatePyramid<NNODES,CELLPYRAMIDTYPE>::getNFaceNodes(unsigned i) cons { if (i<5) return _n_face_nodes[i]; - std::cerr << "Error in MeshLib::Element::getNFaceNodes() - Index does not exist." << std::endl; + ERR("Error in MeshLib::Element::getNFaceNodes() - Index %d does not exist.", i); return 0; } diff --git a/MeshLib/Elements/TemplateQuad.h b/MeshLib/Elements/TemplateQuad.h index 2330b8d7ca9e0296ea8157d55f55c7f8f73b5828..fab6e1eb4065da91056658a0f9cd64946cf82ba3 100644 --- a/MeshLib/Elements/TemplateQuad.h +++ b/MeshLib/Elements/TemplateQuad.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/TemplateQuad.tpp b/MeshLib/Elements/TemplateQuad.tpp index 125be6761101b05004e76f4f3819c9ddde3854cc..8cdff7a4fc9e94a74ebeb9a8a812d645e457fe9c 100644 --- a/MeshLib/Elements/TemplateQuad.tpp +++ b/MeshLib/Elements/TemplateQuad.tpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/TemplateTet.h b/MeshLib/Elements/TemplateTet.h index a34982a993afee40879a5b5834f4e0205bcfab7c..170e6bfa192749c492a9d4ef3615e4c1d407112a 100644 --- a/MeshLib/Elements/TemplateTet.h +++ b/MeshLib/Elements/TemplateTet.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Elements/TemplateTet.tpp b/MeshLib/Elements/TemplateTet.tpp index ba0192fe0dd75773a3d5236a98199bb223f07e61..a10846f4ab5dd2abfda5170da039908e5e3ab233 100644 --- a/MeshLib/Elements/TemplateTet.tpp +++ b/MeshLib/Elements/TemplateTet.tpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license @@ -10,6 +10,8 @@ * Created on 2012-05-02 by Karsten Rink */ +#include "logog/include/logog.hpp" + #include "Node.h" #include "Tri.h" @@ -90,7 +92,7 @@ const Element* TemplateTet<NNODES,CELLTETTYPE>::getFace(unsigned i) const nodes[j] = _nodes[_face_nodes[i][j]]; return new Tri(nodes); } - std::cerr << "Error in MeshLib::Element::getFace() - Index does not exist." << std::endl; + ERR("Error in MeshLib::Element::getFace() - Index %d does not exist.", i); return NULL; } diff --git a/MeshLib/Elements/TemplateTri.h b/MeshLib/Elements/TemplateTri.h index 0f120554e90611e8a8f35e9290001b33d1f94a02..6e2aea148b35911de1e9269e9c83230dea6509f9 100644 --- a/MeshLib/Elements/TemplateTri.h +++ b/MeshLib/Elements/TemplateTri.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Mesh.cpp b/MeshLib/Mesh.cpp index aab394540730f23a5cb7368863708ddb41995283..d4edadb50d70dfbb27c82d1f3e3c79361f6c5817 100644 --- a/MeshLib/Mesh.cpp +++ b/MeshLib/Mesh.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license @@ -93,7 +93,7 @@ void Mesh::makeNodesUnique() } //set correct id for each node - + //if (this->getDimension() > 1) // this->removeMeshElements(MshElemType::EDGE); @@ -268,7 +268,7 @@ void Mesh::removeUnusedMeshNodes() } if (count) { - std::cout << "Removed " << count << " unused mesh nodes." << std::endl; + INFO("Removed %d unused mesh nodes.", count ); this->resetNodeIDs(); } } @@ -276,8 +276,7 @@ void Mesh::removeUnusedMeshNodes() void Mesh::removeMeshElements(MshElemType::type t) { unsigned count(0); - std::vector<MeshLib::Element*>::iterator it = this->_elements.begin(); - for (it; it != this->_elements.end();) + for (std::vector<MeshLib::Element*>::iterator it = this->_elements.begin(); it != this->_elements.end();) { if ((*it)->getCellType() == t) { @@ -285,10 +284,10 @@ void Mesh::removeMeshElements(MshElemType::type t) it = this->_elements.erase(it); ++count; } - else + else ++it; } - std::cout << "Removed " << count << " elements of type " << MshElemType2String(t) << " from mesh." << std::endl; + INFO("Removed %d elements of type %s from mesh.", count, MshElemType2String(t).c_str()); } } diff --git a/MeshLib/Mesh.h b/MeshLib/Mesh.h index 9464acb68eb6e5d7446f31fb6aeb39030b522103..3a609c68422dfb5998ac93c2b9b88b661beb7a51 100644 --- a/MeshLib/Mesh.h +++ b/MeshLib/Mesh.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/MeshCoarsener.cpp b/MeshLib/MeshCoarsener.cpp index 6cb3847cd5b70541a1199fb7c6cabfe407208016..f85bb4bec37591fd5a080c868188180ad1519f30 100644 --- a/MeshLib/MeshCoarsener.cpp +++ b/MeshLib/MeshCoarsener.cpp @@ -74,7 +74,7 @@ Mesh* MeshCoarsener::operator()(double min_distance) // two nodes are very close to each other id_map[test_node_id] = node_id_k; #ifndef NDEBUG - INFO ("distance of nodes with ids %d and %d is %f", node_id_k, test_node_id, sqrt(MathLib::sqrDist(node->getCoords(), test_node->getCoords()))); + INFO("distance of nodes with ids %d and %d is %f", node_id_k, test_node_id, sqrt(MathLib::sqrDist(node->getCoords(), test_node->getCoords()))); #endif } } @@ -131,7 +131,7 @@ Mesh* MeshCoarsener::operator()(double min_distance) const size_t orig_node_id (kth_orig_elem->getNode(i)->getID()); std::map<size_t, size_t>::const_iterator it(orig_ids_map.find(orig_node_id)); if (it == orig_ids_map.end()) { - std::cerr << "[MeshCoarsener::operator()] could not found mesh node id" << std::endl; + ERR("[MeshCoarsener::operator()] could not found mesh node id."); } else { mapped_node_ids_of_element.push_back(id_map[it->second]); } diff --git a/MeshLib/MshEnums.cpp b/MeshLib/MshEnums.cpp index b46809b5d7347b2765b8e09703371e844b885b40..84d42cfaa86d9e6db81fa8eabd1cbeaba724b8e6 100644 --- a/MeshLib/MshEnums.cpp +++ b/MeshLib/MshEnums.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/MshEnums.h b/MeshLib/MshEnums.h index 44ae4e39f926527ac721b228247c8e0f27c2c1c2..f8979276d7c71c49d5533b854d5fdbbf4fc7cf3c 100644 --- a/MeshLib/MshEnums.h +++ b/MeshLib/MshEnums.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Node.cpp b/MeshLib/Node.cpp index 629fa7f973e5bce87f227ec3ece490aa9390195b..c794b31fe3287f525a43d98e4d8b75f06cfb6d59 100644 --- a/MeshLib/Node.cpp +++ b/MeshLib/Node.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/MeshLib/Node.h b/MeshLib/Node.h index 0acb30279b720100ef4ea0b608f4d36dbc453e7f..f3af0b4f6dca86986390ec54456ebd44946a6df5 100644 --- a/MeshLib/Node.h +++ b/MeshLib/Node.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/OGS/ProjectData.cpp b/OGS/ProjectData.cpp index 22ab8ea8b7d985e20a62aaa31661b7038dabbc81..1cbe6b3918f104c4c64568048b4fbb577628b017 100644 --- a/OGS/ProjectData.cpp +++ b/OGS/ProjectData.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/OGS/ProjectData.h b/OGS/ProjectData.h index 7792f42b7730405bc53ed6bef56d831307da0269..8480f3fa64a25d93a76cf7b43da21c85c4ae28b3 100644 --- a/OGS/ProjectData.h +++ b/OGS/ProjectData.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/README.md b/README.md index 3e0ff9e9954418255bb9cded8e884660f0ae2555..aeb8cc77d6f5ff7305d1a2bc3e10f50698421916 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ attribute the work of the OpenGeoSys Community especially in scientific publications. See the [LICENSE.txt][license-source] for the license text. [ogs]: http://www.opengeosys.com -[devguide]: http://ufz.github.com/devguide +[devguide]: http://devguide.opengeosys.org [jenkins-ci]: https://svn.ufz.de/hudson/job/OGS-6/ [docs]: https://svn.ufz.de/hudson/job/OGS-6/job/Docs/lastSuccessfulBuild/artifact/build/docs/index.html [license-source]: https://github.com/ufz/ogs/blob/master/LICENSE.txt diff --git a/Tests/BaseLib/TestFilePathStringManipulation.cpp b/Tests/BaseLib/TestFilePathStringManipulation.cpp index 91b141576a92e8ec6c6570f5a81fb5c0091ab291..5f2ff2a77d8a89e0635b37ba3ec62fcd0dc265ce 100644 --- a/Tests/BaseLib/TestFilePathStringManipulation.cpp +++ b/Tests/BaseLib/TestFilePathStringManipulation.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/Tests/BaseLib/TestQuicksort.cpp b/Tests/BaseLib/TestQuicksort.cpp index a30ca43099a55a94fde2f95d04324c96e64a5139..9daad2fce7df25549bac51b6c3ae45eceab0e379 100644 --- a/Tests/BaseLib/TestQuicksort.cpp +++ b/Tests/BaseLib/TestQuicksort.cpp @@ -5,7 +5,7 @@ * \brief Testing the specialized version of quicksort. * * \copyright - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/Tests/BaseLib/TestSwap.cpp b/Tests/BaseLib/TestSwap.cpp index faf1b6643b5ad1e7899d6826fe861f7fbb2780dc..eb4be465aff53071cb92c5068499289bf91bbd03 100644 --- a/Tests/BaseLib/TestSwap.cpp +++ b/Tests/BaseLib/TestSwap.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/Tests/BaseLib/TestSystemTools.cpp b/Tests/BaseLib/TestSystemTools.cpp index b4e7d7ace5f881228df9eec791a324e07fbca1cb..6361ab11122f3e3cadf837444905eccb5b51508c 100644 --- a/Tests/BaseLib/TestSystemTools.cpp +++ b/Tests/BaseLib/TestSystemTools.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index be2627dea1dfa4bc84baf0cd6f7b19a23cbff050..faee29a1ed283ab9c0b2ba96b1b92e4af193bd76 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -7,13 +7,19 @@ ENDIF() APPEND_SOURCE_FILES(TEST_SOURCES) APPEND_SOURCE_FILES(TEST_SOURCES BaseLib) APPEND_SOURCE_FILES(TEST_SOURCES GeoLib) +APPEND_SOURCE_FILES(TEST_SOURCES MathLib) INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/Tests/gtest ${CMAKE_SOURCE_DIR}/BaseLib ${CMAKE_SOURCE_DIR}/GeoLib + ${CMAKE_SOURCE_DIR}/MathLib ) +IF (LIS_FOUND) + INCLUDE_DIRECTORIES(${LIS_INCLUDE_DIR}) +ENDIF() + ADD_EXECUTABLE (testrunner testrunner.cpp ${TEST_SOURCES}) SET_TARGET_PROPERTIES(testrunner PROPERTIES FOLDER Testing) @@ -21,6 +27,8 @@ TARGET_LINK_LIBRARIES(testrunner GTest BaseLib GeoLib + MathLib + logog ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ) diff --git a/Tests/GeoLib/TestPoint.cpp b/Tests/GeoLib/TestPoint.cpp index ef0c08f3fca15462151f483f716adc7a687fa73a..6917083993508d382884fd46b5fb0a9140f4f8d1 100644 --- a/Tests/GeoLib/TestPoint.cpp +++ b/Tests/GeoLib/TestPoint.cpp @@ -4,7 +4,7 @@ * @date Nov 8, 2012 * * @copyright - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/LICENSE.txt diff --git a/Tests/MathLib/TestLinearSystem.cpp b/Tests/MathLib/TestLinearSystem.cpp new file mode 100644 index 0000000000000000000000000000000000000000..dea1c61aa005a29bc10346f5933b80a0ae17ecc0 --- /dev/null +++ b/Tests/MathLib/TestLinearSystem.cpp @@ -0,0 +1,127 @@ +/** + * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.com) + * Distributed under a Modified BSD License. + * See accompanying file LICENSE.txt or + * http://www.opengeosys.com/LICENSE.txt + * + * + * \file TestLinearSystem.cpp + * + * Created on 2012-08-03 by Norihiro Watanabe + */ + +#include <gtest/gtest.h> +#include <boost/property_tree/ptree.hpp> + +#include "MathLib/LinAlg/Sparse/Sparsity.h" +#ifdef USE_LIS +#include "MathLib/LinAlg/SystemOfLinearEquations/LisLinearSystem.h" +#endif + +namespace +{ + +inline void ASSERT_DOUBLE_ARRAY_EQ(const double* Expected, const double* Actual, size_t N, double epsilon=1.0e-8) { + for (size_t i=0; i<N; i++) \ + ASSERT_NEAR(Expected[i], Actual[i], epsilon); +} + +struct Example1 +{ + std::vector<double> mat; + std::vector<size_t> list_dirichlet_bc_id; + std::vector<double> list_dirichlet_bc_value; + static const size_t dim_eqs = 9; + std::vector<double> exH; + MathLib::RowMajorSparsity sparse; + + Example1() + { + double d_mat[] = { + 6.66667e-012, -1.66667e-012, 0, -1.66667e-012, -3.33333e-012, 0, 0, 0, 0, + -1.66667e-012, 1.33333e-011, -1.66667e-012, -3.33333e-012, -3.33333e-012, -3.33333e-012, 0, 0, 0, + 0, -1.66667e-012, 6.66667e-012, 0, -3.33333e-012, -1.66667e-012, 0, 0, 0, + -1.66667e-012, -3.33333e-012, 0, 1.33333e-011, -3.33333e-012, 0, -1.66667e-012, -3.33333e-012, 0, + -3.33333e-012, -3.33333e-012, -3.33333e-012, -3.33333e-012, 2.66667e-011, -3.33333e-012, -3.33333e-012, -3.33333e-012, -3.33333e-012, + 0, -3.33333e-012, -1.66667e-012, 0, -3.33333e-012, 1.33333e-011, 0, -3.33333e-012, -1.66667e-012, + 0, 0, 0, -1.66667e-012, -3.33333e-012, 0, 6.66667e-012, -1.66667e-012, 0, + 0, 0, 0, -3.33333e-012, -3.33333e-012, -3.33333e-012, -1.66667e-012, 1.33333e-011, -1.66667e-012, + 0, 0, 0, 0, -3.33333e-012, -1.66667e-012, 0, -1.66667e-012, 6.66667e-012 + }; + mat.assign(d_mat, d_mat+dim_eqs*dim_eqs); + size_t int_dirichlet_bc_id[] = {2,5,8,0,3,6}; + list_dirichlet_bc_id.assign(int_dirichlet_bc_id, int_dirichlet_bc_id+6); + list_dirichlet_bc_value.resize(6); + fill(list_dirichlet_bc_value.begin(), list_dirichlet_bc_value.begin()+3, .0); + fill(list_dirichlet_bc_value.begin()+3, list_dirichlet_bc_value.end(), 1.0); + exH.resize(9); + for (size_t i=0; i<9; i++) { + if (i%3==0) exH[i] = 1.0; + if (i%3==1) exH[i] = 0.5; + if (i%3==2) exH[i] = 0.; + } + sparse.resize(dim_eqs); + for (size_t i=0; i<dim_eqs; i++) { + for (size_t j=0; j<dim_eqs; j++) { + if (mat[i*dim_eqs+j]!=.0) + sparse[i].insert(j); + } + } + + } +}; +} + +#ifdef USE_LIS +TEST(Math, LinearSystemLis) +{ + // set a problem + Example1 ex1; + + // create a linear system + MathLib::LisLinearSystem eqs(ex1.dim_eqs); + + // construct + for (size_t i=0; i<ex1.dim_eqs; i++) { + for (size_t j=0; j<ex1.dim_eqs; j++) { + double v = ex1.mat[i*ex1.dim_eqs+j]; + if (v!=.0) + eqs.addMatEntry(i, j, v); + } + } + + // apply BC + eqs.setKnownSolution(ex1.list_dirichlet_bc_id, ex1.list_dirichlet_bc_value); + + // set solver options using Boost property tree + boost::property_tree::ptree t_root; + boost::property_tree::ptree t_solver; + t_solver.put("solver_type", "CG"); + t_solver.put("precon_type", "NONE"); + t_solver.put("matrix_type", "CCS"); + t_solver.put("error_tolerance", 1e-15); + t_solver.put("max_iteration_step", 1000); + t_root.put_child("LinearSolver", t_solver); + eqs.setOption(t_root); + + // check if the option was correctly parsed + MathLib::LisOption &lisOption = eqs.getOption(); + ASSERT_EQ(MathLib::LisOption::SolverType::CG, lisOption.solver_type); + ASSERT_EQ(MathLib::LisOption::PreconType::NONE, lisOption.precon_type); + ASSERT_EQ(MathLib::LisOption::MatrixType::CCS, lisOption.matrix_type); + ASSERT_EQ(1e-15, lisOption.error_tolerance); + ASSERT_EQ(1000, lisOption.max_iterations); + + // solve + eqs.solve(); + +// eqs.printout(); + + // check solution + std::vector<double> vec_x(eqs.getDimension()); + eqs.getSolVec(&vec_x[0]); + ASSERT_DOUBLE_ARRAY_EQ(&ex1.exH[0], &vec_x[0], ex1.dim_eqs, 1.e-5); +} + +#endif + diff --git a/Tests/testrunner.cpp b/Tests/testrunner.cpp index 3d3cf4f5fb858fff5ce1c51c12e98516eeb6126b..0cd437b1bdb6f06ac1f8395d4afc72062e2d5899 100644 --- a/Tests/testrunner.cpp +++ b/Tests/testrunner.cpp @@ -1,5 +1,5 @@ /** - * Copyright (c) 2012, OpenGeoSys Community (http://www.opengeosys.org) + * Copyright (c) 2013, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license @@ -12,10 +12,43 @@ // ** INCLUDES ** #include "gtest/gtest.h" +#include "logog/include/logog.hpp" +#ifdef USE_LIS +#include "lis.h" +#endif +#include "BaseLib/TemplateLogogFormatterSuppressedGCC.h" /// Implementation of the googletest testrunner int main(int argc, char* argv[]) { - testing::InitGoogleTest ( &argc, argv ); - return RUN_ALL_TESTS(); + int ret = 0; + LOGOG_INITIALIZE(); + { + logog::Cout out; + BaseLib::TemplateLogogFormatterSuppressedGCC<TOPIC_LEVEL_FLAG | TOPIC_FILE_NAME_FLAG | TOPIC_LINE_NUMBER_FLAG> custom_format; + out.SetFormatter(custom_format); + + try { + // initialize libraries which will be used while testing +#ifdef USE_LIS + lis_initialize(&argc, &argv); +#endif + // start google test + testing::InitGoogleTest ( &argc, argv ); + ret = RUN_ALL_TESTS(); + } catch (char* e) { + ERR(e); + } catch (std::exception& e) { + ERR(e.what()); + } catch (...) { + ERR("Unknown exception occurred!"); + } + // finalize libraries +#ifdef USE_LIS + lis_finalize(); +#endif + } // make sure no logog objects exist when LOGOG_SHUTDOWN() is called. + LOGOG_SHUTDOWN(); + + return ret; } diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake index 4feea6704f4d5ca2c681a5bf9a4e3b3ca65ec3a5..c23fed3615f1ccd106bdb46eccef63d41532677a 100644 --- a/scripts/cmake/Find.cmake +++ b/scripts/cmake/Find.cmake @@ -42,10 +42,26 @@ IF(WIN32 AND OGS_PACKAGING) MESSAGE(FATAL_ERROR "Dumpbin was not found but is required for packaging!") ENDIF() ENDIF() + +######################## +### Find other stuff ### +######################## + +# Check if on Jenkins +IF(NOT $ENV{JENKINS_URL} STREQUAL "") + SET(JENKINS_URL $ENV{JENKINS_URL}) + SET(JENKINS_JOB_NAME $ENV{JOB_NAME}) +ENDIF() + ###################### ### Find libraries ### ###################### +# Do not search for libs if this option is set +IF(OGS_NO_EXTERNAL_LIBS) + RETURN() +ENDIF() # OGS_NO_EXTERNAL_LIBS + # Clang does not have OpenMP support atm, see https://github.com/ufz/ogs/issues/8 IF(NOT COMPILER_IS_CLANG) FIND_PACKAGE(OpenMP) @@ -138,12 +154,7 @@ IF(Shapelib_FOUND) ADD_DEFINITIONS(-DShapelib_FOUND) ENDIF() # Shapelib_FOUND -######################## -### Find other stuff ### -######################## - -# Check if on Jenkins -IF(NOT $ENV{JENKINS_URL} STREQUAL "") - SET(JENKINS_URL $ENV{JENKINS_URL}) - SET(JENKINS_JOB_NAME $ENV{JOB_NAME}) -ENDIF() \ No newline at end of file +## lis ## +IF(OGS_USE_LIS) + FIND_PACKAGE( LIS REQUIRED ) +ENDIF() diff --git a/scripts/cmake/Functions.cmake b/scripts/cmake/Functions.cmake index a759e11b3f369da64464e7f4d764d50b0b295fd5..8c1c0b833a77284541b6ec7c08767dc4f6d46ce9 100644 --- a/scripts/cmake/Functions.cmake +++ b/scripts/cmake/Functions.cmake @@ -15,8 +15,9 @@ MACRO(GET_SOURCE_FILES SOURCE_FILES) ENDIF() # Get all files in the directory - FILE(GLOB GET_SOURCE_FILES_HEADERS ${DIR}/*.h) - FILE(GLOB GET_SOURCE_FILES_SOURCES ${DIR}/*.cpp) + FILE(GLOB GET_SOURCE_FILES_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${DIR}/*.h) + FILE(GLOB GET_SOURCE_FILES_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${DIR}/*.tpp) + FILE(GLOB GET_SOURCE_FILES_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${DIR}/*.cpp) SET(${SOURCE_FILES} ${GET_SOURCE_FILES_HEADERS} ${GET_SOURCE_FILES_SOURCES}) @@ -54,4 +55,4 @@ MACRO(ADD_GOOGLE_TESTS executable) # message ("Adding test: ${test_name}") ENDFOREACH(hit) ENDFOREACH() -ENDMACRO() \ No newline at end of file +ENDMACRO() diff --git a/scripts/cmake/cmake/FindLIS.cmake b/scripts/cmake/cmake/FindLIS.cmake new file mode 100644 index 0000000000000000000000000000000000000000..4deb12a127f3ce1160d59360c321749ce6eb6c75 --- /dev/null +++ b/scripts/cmake/cmake/FindLIS.cmake @@ -0,0 +1,34 @@ +# - Try to find LIS +# Once done, this will define +# +# LIS_FOUND +# LIS_INCLUDE_DIRS +# LIS_LIBRARIES + +set(LIS_ROOT_DIR + "${LIS_ROOT_DIR}" + CACHE + PATH + "Directory to search for Lis library") + +find_path( LIS_INCLUDE_DIR + NAMES lis.h + HINTS + ${LIS_ROOT_DIR}/include + /usr/include/lis + $ENV{HOME}/include/ + ) + +find_library(LIS_LIBRARY + NAMES lis + HINTS + ${LIS_ROOT_DIR}/lib + /usr/lib + $ENV{HOME}/lib/ + ) + +SET(LIS_LIBRARIES ${LIS_LIBRARY}) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIS DEFAULT_MSG LIS_LIBRARY LIS_INCLUDE_DIR) + diff --git a/scripts/cmake/cmake/FindOpenSG.cmake b/scripts/cmake/cmake/FindOpenSG.cmake index 7ad3d2b6b34cfe2ce1528269d2505f74c5569867..e9a58ad0c935d5773eb939673605d73970fe41e4 100644 --- a/scripts/cmake/cmake/FindOpenSG.cmake +++ b/scripts/cmake/cmake/FindOpenSG.cmake @@ -39,6 +39,9 @@ MACRO(USE_OPENSG targetName) ) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4231 /wd4275") ENDIF (MSVC) + IF(OpenSG_OSGWINDOWGLUT_LIBRARY) + ADD_DEFINITIONS(-DOSG_WITH_GLUT) + ENDIF() TARGET_LINK_LIBRARIES( ${targetName} ${OpenSG_LIBRARIES} ) INCLUDE_DIRECTORIES( ${OpenSG_INCLUDE_DIRS} ) ENDMACRO() @@ -86,28 +89,28 @@ MACRO(__OpenSG_ADJUST_LIB_VARS basename) SET(OpenSG_${basename}_LIBRARIES optimized ${OpenSG_${basename}_LIBRARY_RELEASE} debug ${OpenSG_${basename}_LIBRARY_DEBUG}) ENDIF(OpenSG_${basename}_LIBRARY_DEBUG AND OpenSG_${basename}_LIBRARY_RELEASE) - + # if only the release version was found, set the debug variable also to the release version IF(OpenSG_${basename}_LIBRARY_RELEASE AND NOT OpenSG_${basename}_LIBRARY_DEBUG) SET(OpenSG_${basename}_LIBRARY_DEBUG ${OpenSG_${basename}_LIBRARY_RELEASE}) SET(OpenSG_${basename}_LIBRARY ${OpenSG_${basename}_LIBRARY_RELEASE}) SET(OpenSG_${basename}_LIBRARIES ${OpenSG_${basename}_LIBRARY_RELEASE}) ENDIF(OpenSG_${basename}_LIBRARY_RELEASE AND NOT OpenSG_${basename}_LIBRARY_DEBUG) - + # if only the debug version was found, set the release variable also to the debug version IF(OpenSG_${basename}_LIBRARY_DEBUG AND NOT OpenSG_${basename}_LIBRARY_RELEASE) SET(OpenSG_${basename}_LIBRARY_RELEASE ${OpenSG_${basename}_LIBRARY_DEBUG}) SET(OpenSG_${basename}_LIBRARY ${OpenSG_${basename}_LIBRARY_DEBUG}) SET(OpenSG_${basename}_LIBRARIES ${OpenSG_${basename}_LIBRARY_DEBUG}) ENDIF(OpenSG_${basename}_LIBRARY_DEBUG AND NOT OpenSG_${basename}_LIBRARY_RELEASE) - + IF(OpenSG_${basename}_LIBRARY) SET(OpenSG_${basename}_LIBRARY ${OpenSG_${basename}_LIBRARY} CACHE FILEPATH "The OpenSG ${basename} library") GET_FILENAME_COMPONENT(OpenSG_LIBRARY_DIRS "${OpenSG_${basename}_LIBRARY}" PATH) SET(OpenSG_LIBRARY_DIRS ${OpenSG_LIBRARY_DIRS} CACHE FILEPATH "OpenSG library directory") SET(OpenSG_${basename}_FOUND ON CACHE INTERNAL "Whether the OpenSG ${basename} library found") ENDIF(OpenSG_${basename}_LIBRARY) - + ENDIF(OpenSG_INCLUDE_DIR) # Make variables changeble to the advanced user @@ -149,8 +152,8 @@ ELSE(__OpenSG_IN_CACHE) ${OPENSG_ROOT}/lib ${LIBRARIES_DIR}/opensg/lib ${CMAKE_SOURCE_DIR}/../opensg/lib ) - else (VS32) - if (VS64) + else (VS32) + if (VS64) # Visual Studio x64 SET( __OpenSG_INCLUDE_SEARCH_DIRS $ENV{OPENSG_ROOT}/include @@ -162,17 +165,17 @@ ELSE(__OpenSG_IN_CACHE) ${OPENSG_ROOT}/lib ${LIBRARIES_DIR}/opensg_x64/lib ${CMAKE_SOURCE_DIR}/../opensg_x64/lib ) - else (VS64) + else (VS64) # Linux or Mac SET( __OpenSG_INCLUDE_SEARCH_DIRS "/usr/local" "/usr/local/include" ) SET( __OpenSG_LIBRARIES_SEARCH_DIRS "/usr/local" - "/usr/local/lib" ) + "/usr/local/lib" ) endif(VS64) endif (VS32) - + # handle input variable OPENSG_INCLUDE_DIR IF(OPENSG_INCLUDE_DIR) @@ -187,7 +190,7 @@ ELSE(__OpenSG_IN_CACHE) SET(__OpenSG_LIBRARIES_SEARCH_DIRS ${OPENSG_LIBRARY_DIR} ${__OpenSG_LIBRARIES_SEARCH_DIRS}) ENDIF(OPENSG_LIBRARY_DIR) - + # handle input variable OPENSG_INCLUDE_SEARCH_DIR IF(OPENSG_INCLUDE_SEARCH_DIR) FILE(TO_CMAKE_PATH ${OPENSG_INCLUDE_SEARCH_DIR} OPENSG_INCLUDE_SEARCH_DIR) @@ -217,15 +220,15 @@ ELSE(__OpenSG_IN_CACHE) SET(OpenSG_${UPPERCOMPONENT}_LIBRARY "OpenSG_${UPPERCOMPONENT}_LIBRARY-NOTFOUND" ) SET(OpenSG_${UPPERCOMPONENT}_LIBRARY_RELEASE "OpenSG_${UPPERCOMPONENT}_LIBRARY_RELEASE-NOTFOUND" ) SET(OpenSG_${UPPERCOMPONENT}_LIBRARY_DEBUG "OpenSG_${UPPERCOMPONENT}_LIBRARY_DEBUG-NOTFOUND") - + IF (WIN32) FIND_LIBRARY(OpenSG_${UPPERCOMPONENT}_LIBRARY_RELEASE NAMES ${COMPONENT} HINTS ${__OpenSG_LIBRARIES_SEARCH_DIRS} ) - + #message(STATUS "OpenSG Component: " ${COMPONENT}) - + FIND_LIBRARY(OpenSG_${UPPERCOMPONENT}_LIBRARY_DEBUG # 1.8 Added the "D" suffix NAMES ${COMPONENT}D @@ -239,16 +242,16 @@ ELSE(__OpenSG_IN_CACHE) HINTS ${__OpenSG_LIBRARIES_SEARCH_DIRS} PATH_SUFFIXES "/opt" ) - + #message(STATUS "OpenSG Component: " ${COMPONENT}) - + FIND_LIBRARY(OpenSG_${UPPERCOMPONENT}_LIBRARY_DEBUG NAMES ${COMPONENT} HINTS ${__OpenSG_LIBRARIES_SEARCH_DIRS} PATH_SUFFIXES "/dbg" ) ENDIF(WIN32) - + __OpenSG_ADJUST_LIB_VARS(${UPPERCOMPONENT}) ENDFOREACH(COMPONENT) # ------------------------------------------------------------------------ @@ -286,7 +289,7 @@ ELSE(__OpenSG_IN_CACHE) SET(OpenSG_ERROR_REASON "${OpenSG_ERROR_REASON} ${COMPONENT}\n") ENDFOREACH(COMPONENT) - + LIST(LENGTH OpenSG_FIND_COMPONENTS __OpenSG_NUM_COMPONENTS_WANTED) LIST(LENGTH __OpenSG_MISSING_COMPONENTS __OpenSG_NUM_MISSING_COMPONENTS) IF(${__OpenSG_NUM_COMPONENTS_WANTED} EQUAL ${__OpenSG_NUM_MISSING_COMPONENTS}) diff --git a/scripts/init.sh b/scripts/init.sh new file mode 100755 index 0000000000000000000000000000000000000000..08398dbc16b26ec20c6c1fd4b5b26bae05e04cde --- /dev/null +++ b/scripts/init.sh @@ -0,0 +1,45 @@ +# Get script directory +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +DIR=$SCRIPT_DIR/.. +source $SCRIPT_DIR/base/download_file_with_cmake.sh + +### Init git hooks ### + +# Check for uncrustify +UNCRUSTIFY_LOCATION=`which uncrustify` +if [ -z "$UNCRUSTIFY_LOCATION" ]; then + if [ "$OSTYPE" == 'msys' ]; then + mkdir -vp ~/bin + export PATH=$PATH:~/bin + download_file http://sourceforge.net/projects/uncrustify/files/uncrustify/uncrustify-0.59/uncrustify-0.59-win32.zip/download ./uncrustify-0.59-win32.zip + 7za x uncrustify-0.59-win32.zip + mv uncrustify-0.59-win32/uncrustify.exe ~/bin + rm -r uncrustify-0.59-win32* + if [ ! -f ~/bin/uncrustify.exe ]; then + echo "Error downloading uncrustify! Git hooks not set." + else + UNCRUSTIFY_LOCATION=~/bin/uncrustify.exe + fi + else + echo "Please install uncrustify (http://uncrustify.sourceforge.net) to setup git hooks." + exit 1 + fi +fi + +cd $DIR +# Enable git hooks +# Does not work on Windows at the moment +if [ ! "$OSTYPE" == 'msys' ]; then + cd .git/hooks + git init + cd ../.. + git fetch origin + cd .git/hooks + git pull .. remotes/origin/hooks + cd $DIR + + # Set git configs for running uncrustify + git config --add --bool hooks.uncrustify true + git config hooks.uncrustify.path $UNCRUSTIFY_LOCATION + git config hooks.uncrustify.conf $SCRIPT_DIR/style/uncrustify.cfg +fi diff --git a/scripts/style/uncrustify.cfg b/scripts/style/uncrustify.cfg new file mode 100644 index 0000000000000000000000000000000000000000..394274a2d794d3f9b782ddd5c66e364f29eaee32 --- /dev/null +++ b/scripts/style/uncrustify.cfg @@ -0,0 +1,123 @@ +indent_align_string=false +indent_braces=false +indent_braces_no_func=false +indent_brace_parent=false +indent_namespace=false +indent_extern=false +indent_class=true +indent_class_colon=true +indent_else_if=false +indent_func_call_param=false +indent_func_def_param=false +indent_func_proto_param=false +indent_func_class_param=false +indent_func_ctor_var_param=false +indent_template_param=false +indent_func_param_double=false +indent_relative_single_line_comments=false +indent_col1_comment=false +indent_access_spec_body=false +indent_paren_nl=false +indent_comma_paren=false +indent_bool_paren=false +indent_square_nl=false +indent_preserve_sql=false +indent_align_assign=true +sp_balance_nested_parens=false +align_keep_tabs=false +align_with_tabs=false +align_on_tabstop=false +align_number_left=false +align_func_params=false +align_same_func_call_params=false +align_var_def_colon=false +align_var_def_attribute=false +align_var_def_inline=false +align_right_cmt_mix=false +align_on_operator=false +align_mix_var_proto=false +align_single_line_func=false +align_single_line_brace=false +align_nl_cont=false +align_left_shift=true +nl_collapse_empty_body=false +nl_assign_leave_one_liners=false +nl_class_leave_one_liners=true +nl_enum_leave_one_liners=true +nl_getset_leave_one_liners=true +nl_func_leave_one_liners=true +nl_if_leave_one_liners=false +nl_multi_line_cond=false +nl_multi_line_define=false +nl_before_case=false +nl_after_case=false +nl_after_return=false +nl_after_semicolon=true +nl_after_brace_open=false +nl_after_brace_open_cmt=false +nl_after_vbrace_open=false +nl_after_brace_close=false +nl_define_macro=false +nl_squeeze_ifdef=false +nl_ds_struct_enum_cmt=false +nl_ds_struct_enum_close_brace=false +nl_create_if_one_liner=false +nl_create_for_one_liner=false +nl_create_while_one_liner=false +ls_for_split_full=false +ls_func_split_full=true +nl_after_multiline_comment=false +eat_blanks_after_open_brace=true +eat_blanks_before_close_brace=true +mod_pawn_semicolon=false +mod_full_paren_if_bool=false +mod_remove_extra_semicolon=true +mod_sort_import=false +mod_sort_using=false +mod_sort_include=true +mod_move_case_break=false +mod_remove_empty_return=true +cmt_indent_multi=true +cmt_c_group=false +cmt_c_nl_start=false +cmt_c_nl_end=false +cmt_cpp_group=false +cmt_cpp_nl_start=false +cmt_cpp_nl_end=false +cmt_cpp_to_c=false +cmt_star_cont=false +cmt_multi_check_last=true +cmt_insert_before_preproc=false +pp_indent_at_level=false +pp_region_indent_code=false +pp_if_indent_code=false +pp_define_at_level=false +input_tab_size=4 +code_width=100 +nl_max=2 +mod_add_long_ifdef_else_comment=10 +indent_with_tabs=1 +sp_arith=add +sp_assign=add +sp_enum_assign=add +sp_bool=add +sp_compare=add +sp_before_ptr_star=remove +sp_after_ptr_star=add +nl_end_of_file=add +nl_struct_brace=add +nl_if_brace=add +nl_brace_else=add +nl_elseif_brace=add +nl_else_brace=add +nl_for_brace=add +nl_while_brace=add +nl_switch_brace=add +nl_namespace_brace=add +nl_class_brace=add +nl_fdef_brace=add +mod_full_brace_for=remove +mod_full_brace_if=remove +mod_full_brace_while=remove +mod_paren_on_return=remove +pp_indent=remove \ No newline at end of file