diff --git a/MaterialLib/SolidModels/CreepBGRa.cpp b/MaterialLib/SolidModels/CreepBGRa.cpp index 2443ddcfe582741bdec7d00414f0b7d98b4910a3..0d309746ee45d63ff0d406355ffa4d2afbfbb5e1 100644 --- a/MaterialLib/SolidModels/CreepBGRa.cpp +++ b/MaterialLib/SolidModels/CreepBGRa.cpp @@ -29,10 +29,10 @@ double getCreepConstantCoefficient(const double A, const double n, } template <int DisplacementDim> -boost::optional<std::tuple<typename CreepBGRa<DisplacementDim>::KelvinVector, - std::unique_ptr<typename MechanicsBase< - DisplacementDim>::MaterialStateVariables>, - typename CreepBGRa<DisplacementDim>::KelvinMatrix>> +std::optional<std::tuple<typename CreepBGRa<DisplacementDim>::KelvinVector, + std::unique_ptr<typename MechanicsBase< + DisplacementDim>::MaterialStateVariables>, + typename CreepBGRa<DisplacementDim>::KelvinMatrix>> CreepBGRa<DisplacementDim>::integrateStress( double const t, ParameterLib::SpatialPosition const& x, double const dt, KelvinVector const& eps_prev, KelvinVector const& eps, diff --git a/MaterialLib/SolidModels/CreepBGRa.h b/MaterialLib/SolidModels/CreepBGRa.h index a2f5a9767af6df2f82b4368948a179cd568d4efc..7dcbb8b3c0089337adee6c0fce7c9b7c9dd1526a 100644 --- a/MaterialLib/SolidModels/CreepBGRa.h +++ b/MaterialLib/SolidModels/CreepBGRa.h @@ -73,10 +73,10 @@ public: { } - boost::optional<std::tuple<KelvinVector, - std::unique_ptr<typename MechanicsBase< - DisplacementDim>::MaterialStateVariables>, - KelvinMatrix>> + std::optional<std::tuple<KelvinVector, + std::unique_ptr<typename MechanicsBase< + DisplacementDim>::MaterialStateVariables>, + KelvinMatrix>> integrateStress( double const t, ParameterLib::SpatialPosition const& x, double const dt, KelvinVector const& eps_prev, KelvinVector const& eps, diff --git a/MaterialLib/SolidModels/Ehlers.cpp b/MaterialLib/SolidModels/Ehlers.cpp index 89951196bc08114ac82bc3bfd2115a67c14b0192..ca0e5873ceb4163c8a5e32f2fdfe0343516cce91 100644 --- a/MaterialLib/SolidModels/Ehlers.cpp +++ b/MaterialLib/SolidModels/Ehlers.cpp @@ -502,10 +502,10 @@ double SolidEhlers<DisplacementDim>::computeFreeEnergyDensity( } template <int DisplacementDim> -boost::optional<std::tuple<typename SolidEhlers<DisplacementDim>::KelvinVector, - std::unique_ptr<typename MechanicsBase< - DisplacementDim>::MaterialStateVariables>, - typename SolidEhlers<DisplacementDim>::KelvinMatrix>> +std::optional<std::tuple<typename SolidEhlers<DisplacementDim>::KelvinVector, + std::unique_ptr<typename MechanicsBase< + DisplacementDim>::MaterialStateVariables>, + typename SolidEhlers<DisplacementDim>::KelvinMatrix>> SolidEhlers<DisplacementDim>::integrateStress( double const t, ParameterLib::SpatialPosition const& x, double const dt, KelvinVector const& eps_prev, KelvinVector const& eps, diff --git a/MaterialLib/SolidModels/Ehlers.h b/MaterialLib/SolidModels/Ehlers.h index 801c5b14927d32f027ecf6ea68f2445d3274e09c..772cdd9addf2c221ba12672545b4878673fb039f 100644 --- a/MaterialLib/SolidModels/Ehlers.h +++ b/MaterialLib/SolidModels/Ehlers.h @@ -309,7 +309,7 @@ public: typename MechanicsBase<DisplacementDim>::MaterialStateVariables const& material_state_variables) const override; - boost::optional<std::tuple<KelvinVector, + std::optional<std::tuple<KelvinVector, std::unique_ptr<typename MechanicsBase< DisplacementDim>::MaterialStateVariables>, KelvinMatrix>> diff --git a/MaterialLib/SolidModels/LinearElasticIsotropic.cpp b/MaterialLib/SolidModels/LinearElasticIsotropic.cpp index 29c3748c0fa18bf1d7c813844ba9386a4e0a2e91..56afd3e4b076837f75a36a2abae5f0cf2f78b007 100644 --- a/MaterialLib/SolidModels/LinearElasticIsotropic.cpp +++ b/MaterialLib/SolidModels/LinearElasticIsotropic.cpp @@ -14,11 +14,10 @@ namespace MaterialLib namespace Solids { template <int DisplacementDim> -boost::optional< - std::tuple<typename MechanicsBase<DisplacementDim>::KelvinVector, - std::unique_ptr<typename MechanicsBase< - DisplacementDim>::MaterialStateVariables>, - typename MechanicsBase<DisplacementDim>::KelvinMatrix>> +std::optional<std::tuple<typename MechanicsBase<DisplacementDim>::KelvinVector, + std::unique_ptr<typename MechanicsBase< + DisplacementDim>::MaterialStateVariables>, + typename MechanicsBase<DisplacementDim>::KelvinMatrix>> LinearElasticIsotropic<DisplacementDim>::integrateStress( double const t, ParameterLib::SpatialPosition const& x, double const /*dt*/, KelvinVector const& eps_prev, KelvinVector const& eps, diff --git a/MaterialLib/SolidModels/LinearElasticIsotropic.h b/MaterialLib/SolidModels/LinearElasticIsotropic.h index adb693226defb7915fd7d2a7b5dc4bc384d4b60d..4b12e18c78e5b8a9d9f85580cc887e7f04a564ed 100644 --- a/MaterialLib/SolidModels/LinearElasticIsotropic.h +++ b/MaterialLib/SolidModels/LinearElasticIsotropic.h @@ -85,7 +85,7 @@ public: return eps.dot(sigma) / 2; } - boost::optional< + std::optional< std::tuple<typename MechanicsBase<DisplacementDim>::KelvinVector, std::unique_ptr<typename MechanicsBase< DisplacementDim>::MaterialStateVariables>, diff --git a/MaterialLib/SolidModels/LinearElasticOrthotropic.cpp b/MaterialLib/SolidModels/LinearElasticOrthotropic.cpp index cb3c54c413125db22868ed4805055df9d655c021..a44e6ae2a39be0f0b868592efde1271117cbce34 100644 --- a/MaterialLib/SolidModels/LinearElasticOrthotropic.cpp +++ b/MaterialLib/SolidModels/LinearElasticOrthotropic.cpp @@ -16,7 +16,7 @@ namespace MaterialLib namespace Solids { template <int DisplacementDim> -boost::optional< +std::optional< std::tuple<typename MechanicsBase<DisplacementDim>::KelvinVector, std::unique_ptr<typename MechanicsBase< DisplacementDim>::MaterialStateVariables>, diff --git a/MaterialLib/SolidModels/LinearElasticOrthotropic.h b/MaterialLib/SolidModels/LinearElasticOrthotropic.h index ec06f133362628ee0a1e616898337177c43838c1..812d10b6ebfc3a4fc6bb55366e9a3a8705f6f76c 100644 --- a/MaterialLib/SolidModels/LinearElasticOrthotropic.h +++ b/MaterialLib/SolidModels/LinearElasticOrthotropic.h @@ -152,7 +152,7 @@ public: return eps.dot(sigma) / 2; } - boost::optional< + std::optional< std::tuple<typename MechanicsBase<DisplacementDim>::KelvinVector, std::unique_ptr<typename MechanicsBase< DisplacementDim>::MaterialStateVariables>, diff --git a/MaterialLib/SolidModels/Lubby2.cpp b/MaterialLib/SolidModels/Lubby2.cpp index 68a33b4e0c356fc8ef1c52b4ed5ea3aa589aff1a..ffdc97bfa8b1ba12921ab68b3b4e529bdf349c8a 100644 --- a/MaterialLib/SolidModels/Lubby2.cpp +++ b/MaterialLib/SolidModels/Lubby2.cpp @@ -67,10 +67,10 @@ MathLib::KelvinVector::KelvinMatrixType<DisplacementDim> tangentStiffnessA( }; template <int DisplacementDim> -boost::optional<std::tuple<typename Lubby2<DisplacementDim>::KelvinVector, - std::unique_ptr<typename MechanicsBase< - DisplacementDim>::MaterialStateVariables>, - typename Lubby2<DisplacementDim>::KelvinMatrix>> +std::optional<std::tuple<typename Lubby2<DisplacementDim>::KelvinVector, + std::unique_ptr<typename MechanicsBase< + DisplacementDim>::MaterialStateVariables>, + typename Lubby2<DisplacementDim>::KelvinMatrix>> Lubby2<DisplacementDim>::integrateStress( double const t, ParameterLib::SpatialPosition const& x, double const dt, KelvinVector const& eps_prev, KelvinVector const& eps, diff --git a/MaterialLib/SolidModels/Lubby2.h b/MaterialLib/SolidModels/Lubby2.h index c9a74fc5fb32d9a6dabbded9d00b3304dc4c89b1..65cc281663ea37ea273f073762632d0bed8f86db 100644 --- a/MaterialLib/SolidModels/Lubby2.h +++ b/MaterialLib/SolidModels/Lubby2.h @@ -229,10 +229,10 @@ public: eps_K.dot(sigma - eta_K * (eps_K - eps_K_prev) / dt) / 2; } - boost::optional<std::tuple<KelvinVector, - std::unique_ptr<typename MechanicsBase< - DisplacementDim>::MaterialStateVariables>, - KelvinMatrix>> + std::optional<std::tuple<KelvinVector, + std::unique_ptr<typename MechanicsBase< + DisplacementDim>::MaterialStateVariables>, + KelvinMatrix>> integrateStress( double const t, ParameterLib::SpatialPosition const& x, double const dt, KelvinVector const& eps_prev, KelvinVector const& eps, diff --git a/MaterialLib/SolidModels/MFront/MFront.cpp b/MaterialLib/SolidModels/MFront/MFront.cpp index b80e6fa879d9c6550ebea93f5f59ea0ed7739c2c..f74b48a5957231208d038849b63268fbf5ca5a25 100644 --- a/MaterialLib/SolidModels/MFront/MFront.cpp +++ b/MaterialLib/SolidModels/MFront/MFront.cpp @@ -246,10 +246,10 @@ MFront<DisplacementDim>::createMaterialStateVariables() const } template <int DisplacementDim> -boost::optional<std::tuple<typename MFront<DisplacementDim>::KelvinVector, - std::unique_ptr<typename MechanicsBase< - DisplacementDim>::MaterialStateVariables>, - typename MFront<DisplacementDim>::KelvinMatrix>> +std::optional<std::tuple<typename MFront<DisplacementDim>::KelvinVector, + std::unique_ptr<typename MechanicsBase< + DisplacementDim>::MaterialStateVariables>, + typename MFront<DisplacementDim>::KelvinMatrix>> MFront<DisplacementDim>::integrateStress( double const t, ParameterLib::SpatialPosition const& x, @@ -335,14 +335,12 @@ MFront<DisplacementDim>::integrateStress( KelvinMatrix C = MFrontToOGS(Eigen::Map<KelvinMatrix>(behaviour_data.K.data())); - return boost::make_optional( + return std::make_optional( std::make_tuple<typename MFront<DisplacementDim>::KelvinVector, std::unique_ptr<typename MechanicsBase< DisplacementDim>::MaterialStateVariables>, typename MFront<DisplacementDim>::KelvinMatrix>( - std::move(sigma), - std::move(state), - std::move(C))); + std::move(sigma), std::move(state), std::move(C))); } template <int DisplacementDim> diff --git a/MaterialLib/SolidModels/MFront/MFront.h b/MaterialLib/SolidModels/MFront/MFront.h index d57ef00d6406900c8e908313f01567c39db2810c..d2b3a6487b4494cbb95d524c9c2bbefe1c1c7264 100644 --- a/MaterialLib/SolidModels/MFront/MFront.h +++ b/MaterialLib/SolidModels/MFront/MFront.h @@ -72,10 +72,10 @@ public: typename MechanicsBase<DisplacementDim>::MaterialStateVariables> createMaterialStateVariables() const override; - boost::optional<std::tuple<KelvinVector, - std::unique_ptr<typename MechanicsBase< - DisplacementDim>::MaterialStateVariables>, - KelvinMatrix>> + std::optional<std::tuple<KelvinVector, + std::unique_ptr<typename MechanicsBase< + DisplacementDim>::MaterialStateVariables>, + KelvinMatrix>> integrateStress( double const t, ParameterLib::SpatialPosition const& x, diff --git a/MaterialLib/SolidModels/MechanicsBase.h b/MaterialLib/SolidModels/MechanicsBase.h index 61497d560c163872ed44ee7b409b64f058d0f67e..5a79df80b30d176fd87d3c9d0bc8bd591536a379 100644 --- a/MaterialLib/SolidModels/MechanicsBase.h +++ b/MaterialLib/SolidModels/MechanicsBase.h @@ -9,7 +9,7 @@ #pragma once -#include <boost/optional.hpp> +#include <optional> #include <functional> #include <memory> #include <tuple> @@ -77,7 +77,7 @@ struct MechanicsBase /// constitutive relation compute function. /// Returns nothing in case of errors in the computation if Newton /// iterations did not converge, for example. - boost::optional<std::tuple< + std::optional<std::tuple< KelvinVector, std::unique_ptr<MaterialStateVariables>, KelvinMatrix>> integrateStress(double const t, ParameterLib::SpatialPosition const& x, @@ -108,7 +108,7 @@ struct MechanicsBase /// wrapper function. /// Returns nothing in case of errors in the computation if Newton /// iterations did not converge, for example. - virtual boost::optional<std::tuple< + virtual std::optional<std::tuple< KelvinVector, std::unique_ptr<MaterialStateVariables>, KelvinMatrix>> integrateStress(double const t, ParameterLib::SpatialPosition const& x, diff --git a/Tests/MaterialLib/MFront.cpp b/Tests/MaterialLib/MFront.cpp index 4c92ea5b52a7d83dcf67231b6a0fd2ccec8edd03..e1d545af7ac6e2abc521a37cee58b9b1b2775593 100644 --- a/Tests/MaterialLib/MFront.cpp +++ b/Tests/MaterialLib/MFront.cpp @@ -158,7 +158,7 @@ TYPED_TEST(MaterialLib_SolidModelsMFront2, IntegrateZeroDisplacement) this->t, this->x, this->dt, this->eps_prev, this->eps, this->sigma_prev, *state, this->T); - ASSERT_TRUE(solution != boost::none); + ASSERT_TRUE(solution != std::nullopt); state = std::move(std::get<1>(*solution)); ASSERT_TRUE(state != nullptr); state.reset(nullptr); @@ -174,7 +174,7 @@ TYPED_TEST(MaterialLib_SolidModelsMFront3, IntegrateZeroDisplacement) this->t, this->x, this->dt, this->eps_prev, this->eps, this->sigma_prev, *state, this->T); - ASSERT_TRUE(solution != boost::none); + ASSERT_TRUE(solution != std::nullopt); state = std::move(std::get<1>(*solution)); ASSERT_TRUE(state != nullptr); state.reset(nullptr);