From 102dc8688e12b4b9e8b6f3b5a06c04c9ffdf1a9c Mon Sep 17 00:00:00 2001 From: Gautier Bureau Date: Wed, 17 Jan 2018 10:02:05 +0100 Subject: [PATCH] #1215 Corrections made. --- MoReFEM.xcodeproj/project.pbxproj | 2 ++ .../BilinearForm/Local/Bidomain.cpp | 20 +++++++++---------- .../Local/GradPhiTauTauGradPhi.cpp | 2 ++ .../BilinearForm/Local/SurfacicBidomain.cpp | 16 +++++++-------- .../ViscoelasticityPolicy/Viscoelasticity.hxx | 2 +- .../InvariantComputation.cpp | 6 ++++++ .../ComputeGradientBasedElasticityTensor.cpp | 1 + .../Seldon.xcodeproj/project.pbxproj | 2 ++ 8 files changed, 32 insertions(+), 19 deletions(-) diff --git a/MoReFEM.xcodeproj/project.pbxproj b/MoReFEM.xcodeproj/project.pbxproj index dfc9e3ded5..4d3f055385 100644 --- a/MoReFEM.xcodeproj/project.pbxproj +++ b/MoReFEM.xcodeproj/project.pbxproj @@ -3653,6 +3653,7 @@ 0A2CBE961D05B87A007262F2 /* RefineMesh.hxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = RefineMesh.hxx; sourceTree = ""; }; 0ACDD43A1CE4800800D60602 /* RefineMesh */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = RefineMesh; sourceTree = BUILT_PRODUCTS_DIR; }; 0ACDD4601CE4823F00D60602 /* main_refined_mesh_output.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main_refined_mesh_output.cpp; sourceTree = ""; }; + 130000801FFFDDA7005F0CCC /* morefem_common.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = morefem_common.xcconfig; sourceTree = ""; }; 1318A4701C2045CF00C56983 /* QuadrangleQ1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = QuadrangleQ1.cpp; sourceTree = ""; }; 1318A4711C2045F700C56983 /* QuadrangleQ1.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = QuadrangleQ1.hpp; sourceTree = ""; }; 131D43911B4407ED0015EBF9 /* ReactionCoefficient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ReactionCoefficient.cpp; path = Reaction/ReactionCoefficient.cpp; sourceTree = ""; }; @@ -8393,6 +8394,7 @@ BE3024D81EA74C9100F2B39F /* XCodeConfig */ = { isa = PBXGroup; children = ( + 130000801FFFDDA7005F0CCC /* morefem_common.xcconfig */, BE6D0AAE1FE4714500CB5DD5 /* morefem_debug.xcconfig */, BE6D0AAF1FE4714500CB5DD5 /* morefem_release.xcconfig */, ); diff --git a/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/Bidomain.cpp b/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/Bidomain.cpp index 61023c936e..a35fa8957f 100644 --- a/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/Bidomain.cpp +++ b/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/Bidomain.cpp @@ -269,9 +269,9 @@ namespace MoReFEM } // Then report it into the elementary matrix. - for (int node_unknown1_index_j = 0; node_unknown1_index_j < Nnode_for_unknown1; ++node_unknown1_index_j) + for (int node_unknown1_index_j = 0; node_unknown1_index_j < Nnode_for_test_unknown1; ++node_unknown1_index_j) { - for (int node_unknown1_index_i = 0; node_unknown1_index_i < Nnode_for_test_unknown1; ++node_unknown1_index_i) + for (int node_unknown1_index_i = 0; node_unknown1_index_i < Nnode_for_unknown1; ++node_unknown1_index_i) { const double value1 = block_matrix1(node_unknown1_index_i, node_unknown1_index_j); @@ -279,29 +279,29 @@ namespace MoReFEM } } - for (int node_unknown2_index_j = 0; node_unknown2_index_j < Nnode_for_unknown2; ++node_unknown2_index_j) + for (int node_unknown2_index_j = 0; node_unknown2_index_j < Nnode_for_test_unknown2; ++node_unknown2_index_j) { - for (int node_unknown2_index_i = 0; node_unknown2_index_i < Nnode_for_test_unknown2; ++node_unknown2_index_i) + for (int node_unknown2_index_i = 0; node_unknown2_index_i < Nnode_for_unknown2; ++node_unknown2_index_i) { const double value2 = block_matrix2(node_unknown2_index_i, node_unknown2_index_j); - matrix_result(node_unknown2_index_i + Nnode_for_unknown1, node_unknown2_index_j + Nnode_for_unknown1) += value2; + matrix_result(node_unknown2_index_i + Nnode_for_unknown1, node_unknown2_index_j + Nnode_for_test_unknown1) += value2; } } - for (int node_unknown2_index_j = 0; node_unknown2_index_j < Nnode_for_unknown2; ++node_unknown2_index_j) + for (int node_unknown2_index_j = 0; node_unknown2_index_j < Nnode_for_test_unknown2; ++node_unknown2_index_j) { - for (int node_unknown1_index_i = 0; node_unknown1_index_i < Nnode_for_test_unknown1; ++node_unknown1_index_i) + for (int node_unknown1_index_i = 0; node_unknown1_index_i < Nnode_for_unknown1; ++node_unknown1_index_i) { const double value3 = block_matrix3(node_unknown1_index_i, node_unknown2_index_j); - matrix_result(node_unknown1_index_i, node_unknown2_index_j + Nnode_for_unknown1) += value3; + matrix_result(node_unknown1_index_i, node_unknown2_index_j + Nnode_for_test_unknown1) += value3; } } - for (int node_unknown1_index_j = 0; node_unknown1_index_j < Nnode_for_unknown1; ++node_unknown1_index_j) + for (int node_unknown1_index_j = 0; node_unknown1_index_j < Nnode_for_test_unknown1; ++node_unknown1_index_j) { - for (int node_unknown2_index_i = 0; node_unknown2_index_i < Nnode_for_test_unknown2; ++node_unknown2_index_i) + for (int node_unknown2_index_i = 0; node_unknown2_index_i < Nnode_for_unknown2; ++node_unknown2_index_i) { const double value4 = block_matrix4(node_unknown2_index_i, node_unknown1_index_j); diff --git a/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/GradPhiTauTauGradPhi.cpp b/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/GradPhiTauTauGradPhi.cpp index f8f8d4a144..98088e8dc6 100644 --- a/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/GradPhiTauTauGradPhi.cpp +++ b/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/GradPhiTauTauGradPhi.cpp @@ -100,6 +100,8 @@ namespace MoReFEM assert(Ncomponent == 1u && "GradPhiTauTauGradPhi operator limited to scalar unknowns."); + static_cast(Ncomponent); + const auto& transverse_diffusion_tensor = GetTransverseDiffusionTensor(); const auto& fiber_diffusion_tensor = GetFiberDiffusionTensor(); diff --git a/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/SurfacicBidomain.cpp b/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/SurfacicBidomain.cpp index 126b181440..86a479e0ed 100644 --- a/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/SurfacicBidomain.cpp +++ b/Sources/OperatorInstances/VariationalOperator/BilinearForm/Local/SurfacicBidomain.cpp @@ -223,8 +223,8 @@ namespace MoReFEM assert(dphi_test.GetM() == Nnode_for_test_unknown1); assert(dpsi_test.GetM() == Nnode_for_test_unknown2); - Wrappers::Seldon::Transpose(dphi, transposed_dphi_test); - Wrappers::Seldon::Transpose(dpsi, transposed_dpsi_test); + Wrappers::Seldon::Transpose(dphi_test, transposed_dphi_test); + Wrappers::Seldon::Transpose(dpsi_test, transposed_dpsi_test); block_matrix1.Zero(); block_matrix2.Zero(); @@ -366,7 +366,7 @@ namespace MoReFEM } // Then report it into the elementary matrix. - for (int node_unknown1_index_j = 0; node_unknown1_index_j < Nnode_for_unknown1; ++node_unknown1_index_j) + for (int node_unknown1_index_j = 0; node_unknown1_index_j < Nnode_for_test_unknown1; ++node_unknown1_index_j) { for (int node_unknown1_index_i = 0; node_unknown1_index_i < Nnode_for_unknown1; ++node_unknown1_index_i) { @@ -376,27 +376,27 @@ namespace MoReFEM } } - for (int node_unknown2_index_j = 0; node_unknown2_index_j < Nnode_for_unknown2; ++node_unknown2_index_j) + for (int node_unknown2_index_j = 0; node_unknown2_index_j < Nnode_for_test_unknown2; ++node_unknown2_index_j) { for (int node_unknown2_index_i = 0; node_unknown2_index_i < Nnode_for_unknown2; ++node_unknown2_index_i) { const double value2 = block_matrix2(node_unknown2_index_i, node_unknown2_index_j); - matrix_result(node_unknown2_index_i + Nnode_for_unknown1, node_unknown2_index_j + Nnode_for_unknown1) += value2; + matrix_result(node_unknown2_index_i + Nnode_for_unknown1, node_unknown2_index_j + Nnode_for_test_unknown1) += value2; } } - for (int node_unknown2_index_j = 0; node_unknown2_index_j < Nnode_for_unknown2; ++node_unknown2_index_j) + for (int node_unknown2_index_j = 0; node_unknown2_index_j < Nnode_for_test_unknown2; ++node_unknown2_index_j) { for (int node_unknown1_index_i = 0; node_unknown1_index_i < Nnode_for_unknown1; ++node_unknown1_index_i) { const double value3 = block_matrix3(node_unknown1_index_i, node_unknown2_index_j); - matrix_result(node_unknown1_index_i, node_unknown2_index_j + Nnode_for_unknown1) += value3; + matrix_result(node_unknown1_index_i, node_unknown2_index_j + Nnode_for_test_unknown1) += value3; } } - for (int node_unknown1_index_j = 0; node_unknown1_index_j < Nnode_for_unknown1; ++node_unknown1_index_j) + for (int node_unknown1_index_j = 0; node_unknown1_index_j < Nnode_for_test_unknown1; ++node_unknown1_index_j) { for (int node_unknown2_index_i = 0; node_unknown2_index_i < Nnode_for_unknown2; ++node_unknown2_index_i) { diff --git a/Sources/OperatorInstances/VariationalOperator/NonlinearForm/Local/SecondPiolaKirchhoffStressTensor/ViscoelasticityPolicy/Viscoelasticity.hxx b/Sources/OperatorInstances/VariationalOperator/NonlinearForm/Local/SecondPiolaKirchhoffStressTensor/ViscoelasticityPolicy/Viscoelasticity.hxx index c4cef47679..26a8ce070e 100644 --- a/Sources/OperatorInstances/VariationalOperator/NonlinearForm/Local/SecondPiolaKirchhoffStressTensor/ViscoelasticityPolicy/Viscoelasticity.hxx +++ b/Sources/OperatorInstances/VariationalOperator/NonlinearForm/Local/SecondPiolaKirchhoffStressTensor/ViscoelasticityPolicy/Viscoelasticity.hxx @@ -42,7 +42,7 @@ namespace MoReFEM : matrix_parent(), vector_parent(), time_manager_(time_manager), - viscosity_(solid.GetParameter()) + viscosity_(solid.GetViscosity()) { std::pair identity_size; const unsigned int square_Ncomponent = NumericNS::Square(Ncomponent); diff --git a/Sources/Operators/LocalVariationalOperator/CauchyAndInvariant/InvariantComputation.cpp b/Sources/Operators/LocalVariationalOperator/CauchyAndInvariant/InvariantComputation.cpp index 4b502cd1c8..bd2aa76795 100644 --- a/Sources/Operators/LocalVariationalOperator/CauchyAndInvariant/InvariantComputation.cpp +++ b/Sources/Operators/LocalVariationalOperator/CauchyAndInvariant/InvariantComputation.cpp @@ -81,6 +81,9 @@ namespace MoReFEM { assert(out.GetLength() == 1); assert(tensor.GetSize() == 1); + + static_cast(tensor); + out(0) = 2.; } @@ -122,6 +125,9 @@ namespace MoReFEM { assert(out.GetLength() == 1); assert(tensor.GetSize() == 1); + + static_cast(tensor); + out(0) = 1.; } diff --git a/Sources/ParameterInstances/GradientBasedElasticityTensor/Internal/ComputeGradientBasedElasticityTensor.cpp b/Sources/ParameterInstances/GradientBasedElasticityTensor/Internal/ComputeGradientBasedElasticityTensor.cpp index ba9f530ea6..caeb5466a6 100644 --- a/Sources/ParameterInstances/GradientBasedElasticityTensor/Internal/ComputeGradientBasedElasticityTensor.cpp +++ b/Sources/ParameterInstances/GradientBasedElasticityTensor/Internal/ComputeGradientBasedElasticityTensor.cpp @@ -110,6 +110,7 @@ namespace MoReFEM const LocalMatrix& ComputeGradientBasedElasticityTensor<::MoReFEM::ParameterNS::GradientBasedElasticityTensorConfiguration::dim1> ::ComputeEngineeringElasticityTensor(const double young_modulus, const double poisson_ratio) { + static_cast(poisson_ratio); assert(NumericNS::AreEqual(poisson_ratio, 0.)); auto& engineering_elasticity_tensor = GetNonCstEngineeringElasticityTensor(); diff --git a/ThirdPartyXCodeProjects/Seldon.xcodeproj/project.pbxproj b/ThirdPartyXCodeProjects/Seldon.xcodeproj/project.pbxproj index ddf41c430d..8c7a539db1 100644 --- a/ThirdPartyXCodeProjects/Seldon.xcodeproj/project.pbxproj +++ b/ThirdPartyXCodeProjects/Seldon.xcodeproj/project.pbxproj @@ -1323,6 +1323,7 @@ SELDON_WITH_COMPILED_LIBRARY, "_LIBCPP_DEBUG2=0", SELDON_WITHOUT_TO_STR_CHECKDIM, + SELDON_WITH_BLAS, ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -1383,6 +1384,7 @@ SELDON_WITH_COMPILED_LIBRARY, NDEBUG, SELDON_WITHOUT_TO_STR_CHECKDIM, + SELDON_WITH_BLAS, ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; -- GitLab