From d00173cbb479fa439a7542eb04b58f452634dc85 Mon Sep 17 00:00:00 2001 From: Dmitri Naumov <github@naumov.de> Date: Thu, 22 Aug 2019 11:33:48 +0200 Subject: [PATCH] Revert "[PL] SD; Non-equilibrium initial stress state." This reverts commit d825ea546b2f0f7efdb5c295be78d12cebb0e131. --- .../i_nonequilibrium_state_variables.md | 3 -- .../t_stress.md | 1 - .../CreateSmallDeformationProcess.cpp | 20 +--------- .../SmallDeformation/SmallDeformationFEM.h | 39 ++----------------- .../SmallDeformationProcessData.h | 2 - 5 files changed, 5 insertions(+), 60 deletions(-) delete mode 100644 Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/i_nonequilibrium_state_variables.md delete mode 100644 Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/t_stress.md diff --git a/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/i_nonequilibrium_state_variables.md b/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/i_nonequilibrium_state_variables.md deleted file mode 100644 index 23309741b0f..00000000000 --- a/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/i_nonequilibrium_state_variables.md +++ /dev/null @@ -1,3 +0,0 @@ -Non-equilibrium initial state variables which are not explicitly in equilibrium -with any boundary conditions. They are not considered in the weak form but -affect the constitutive behaviour of the materials. diff --git a/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/t_stress.md b/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/t_stress.md deleted file mode 100644 index ff6539590e8..00000000000 --- a/Documentation/ProjectFile/prj/processes/process/SMALL_DEFORMATION/nonequilibrium_state_variables/t_stress.md +++ /dev/null @@ -1 +0,0 @@ -Non-equilibrium stress. diff --git a/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp b/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp index 20ab4de1d70..2c16a7b9f2a 100644 --- a/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp +++ b/ProcessLib/SmallDeformation/CreateSmallDeformationProcess.cpp @@ -102,25 +102,9 @@ std::unique_ptr<Process> createSmallDeformationProcess( config.getConfigParameter<double>( "reference_temperature", std::numeric_limits<double>::quiet_NaN()); - // Non-equilibrium variables - ParameterLib::Parameter<double> const* nonequilibrium_stress = nullptr; - const auto& nonequilibrium_state_variables_config = - //! \ogs_file_param{prj__processes__process__SMALL_DEFORMATION__nonequilibrium_state_variables} - config.getConfigSubtreeOptional("nonequilibrium_state_variables"); - if (nonequilibrium_state_variables_config) - { - nonequilibrium_stress = &ParameterLib::findParameter<double>( - *nonequilibrium_state_variables_config, - //! \ogs_file_param_special{prj__processes__process__SMALL_DEFORMATION__nonequilibrium_state_variables__stress} - "stress", parameters, - MathLib::KelvinVector::KelvinVectorDimensions< - DisplacementDim>::value); - } - SmallDeformationProcessData<DisplacementDim> process_data{ - materialIDs(mesh), std::move(solid_constitutive_relations), - solid_density, specific_body_force, - nonequilibrium_stress, reference_temperature}; + materialIDs(mesh), std::move(solid_constitutive_relations), + solid_density, specific_body_force, reference_temperature}; SecondaryVariableCollection secondary_variables; diff --git a/ProcessLib/SmallDeformation/SmallDeformationFEM.h b/ProcessLib/SmallDeformation/SmallDeformationFEM.h index b17c6225c9a..7d195f6d899 100644 --- a/ProcessLib/SmallDeformation/SmallDeformationFEM.h +++ b/ProcessLib/SmallDeformation/SmallDeformationFEM.h @@ -48,13 +48,6 @@ struct IntegrationPointData final typename BMatricesType::KelvinVectorType sigma, sigma_prev; typename BMatricesType::KelvinVectorType eps, eps_prev; - - /// Non-equilibrium initial stress. - typename BMatricesType::KelvinVectorType sigma_neq = - BMatricesType::KelvinVectorType::Zero( - MathLib::KelvinVector::KelvinVectorDimensions< - DisplacementDim>::value); - double free_energy_density = 0; MaterialLib::Solids::MechanicsBase<DisplacementDim> const& solid_material; @@ -139,8 +132,6 @@ public: _process_data.material_ids, e.getID()); - ParameterLib::SpatialPosition x_position; - for (unsigned ip = 0; ip < n_integration_points; ip++) { _ip_data.emplace_back(solid_material); @@ -156,30 +147,8 @@ public: static const int kelvin_vector_size = MathLib::KelvinVector::KelvinVectorDimensions< DisplacementDim>::value; - // Initialize current time step values - if (_process_data.nonequilibrium_stress) - { - // Computation of non-equilibrium stress. - x_position.setCoordinates(MathLib::Point3d( - interpolateCoordinates<ShapeFunction, ShapeMatricesType>( - e, ip_data.N))); - std::vector<double> sigma_neq_data = - (*_process_data.nonequilibrium_stress)( - std::numeric_limits< - double>::quiet_NaN() /* time independent */, - x_position); - ip_data.sigma_neq = - Eigen::Map<typename BMatricesType::KelvinVectorType>( - sigma_neq_data.data(), - MathLib::KelvinVector::KelvinVectorDimensions< - DisplacementDim>::value, - 1); - } - // Initialization from non-equilibrium sigma, which is zero by - // default, or is set to some value. - ip_data.sigma = ip_data.sigma_neq; - + ip_data.sigma.setZero(kelvin_vector_size); ip_data.eps.setZero(kelvin_vector_size); // Previous time step values are not initialized and are set later. @@ -288,7 +257,6 @@ public: auto const& eps_prev = _ip_data[ip].eps_prev; auto const& sigma_prev = _ip_data[ip].sigma_prev; - auto const& sigma_neq = _ip_data[ip].sigma_neq; auto& eps = _ip_data[ip].eps; auto& sigma = _ip_data[ip].sigma; @@ -313,9 +281,8 @@ public: auto const rho = _process_data.solid_density(t, x_position)[0]; auto const& b = _process_data.specific_body_force; - local_b.noalias() -= (B.transpose() * (sigma - sigma_neq) - - N_u_op.transpose() * rho * b) * - w; + local_b.noalias() -= + (B.transpose() * sigma - N_u_op.transpose() * rho * b) * w; local_Jac.noalias() += B.transpose() * C * B * w; } } diff --git a/ProcessLib/SmallDeformation/SmallDeformationProcessData.h b/ProcessLib/SmallDeformation/SmallDeformationProcessData.h index 24b7f5776ec..d48be7dabf7 100644 --- a/ProcessLib/SmallDeformation/SmallDeformationProcessData.h +++ b/ProcessLib/SmallDeformation/SmallDeformationProcessData.h @@ -45,8 +45,6 @@ struct SmallDeformationProcessData /// A vector of displacement dimension's length. Eigen::Matrix<double, DisplacementDim, 1> const specific_body_force; - ParameterLib::Parameter<double> const* const nonequilibrium_stress = - nullptr; double const reference_temperature = std::numeric_limits<double>::quiet_NaN(); -- GitLab