diff --git a/src/Models/Material/Material_Basis.jl b/src/Models/Material/Material_Basis.jl index 810dc2fcc..209a6bd95 100644 --- a/src/Models/Material/Material_Basis.jl +++ b/src/Models/Material/Material_Basis.jl @@ -339,7 +339,7 @@ function get_Hooke_matrix(parameter::Dict, symmetry::String, dof::Int64, ID::Int end end -function get_2D_Hooke_matrix(aniso_matrix::Matrix{Float64}, symmetry::String, dof::Int64) +function get_2D_Hooke_matrix(aniso_matrix::MMatrix, symmetry::String, dof::Int64) if dof == 3 return aniso_matrix elseif occursin("plane strain", symmetry) diff --git a/src/Models/Material/Material_Models/BondBased/Bondbased_Elastic.jl b/src/Models/Material/Material_Models/BondBased/Bondbased_Elastic.jl index 890493e64..d0663c696 100644 --- a/src/Models/Material/Material_Models/BondBased/Bondbased_Elastic.jl +++ b/src/Models/Material/Material_Models/BondBased/Bondbased_Elastic.jl @@ -4,7 +4,9 @@ module Bondbased_Elastic include("../../Material_Basis.jl") +include("../../../../Support/Helpers.jl") using .Material_Basis: get_symmetry, apply_pointwise_E, compute_bond_based_constants +using .Helpers: is_dependent using LoopVectorization using TimerOutputs export init_model @@ -105,6 +107,9 @@ function compute_model( E = material_parameter["Young's Modulus"] + dependend_value, dependent_field = + is_dependent("Young's Modulus", material_parameter, datamanager) + for iID in nodes if any(deformed_bond_length[iID] .== 0) @error "Length of bond is zero due to its deformation." @@ -128,7 +133,11 @@ function compute_model( # end # might be put in constant - apply_pointwise_E(nodes, E, bond_force) + if dependend_value + apply_pointwise_E(nodes, E, bond_force, dependent_field) + else + apply_pointwise_E(nodes, E, bond_force) + end return datamanager end diff --git a/test/fullscale_tests/test_DCB/DCBmodel_PD_solid_temp_depended.yaml b/test/fullscale_tests/test_DCB/DCBmodel_PD_solid_temp_depended.yaml index 2183287c9..74adfa193 100644 --- a/test/fullscale_tests/test_DCB/DCBmodel_PD_solid_temp_depended.yaml +++ b/test/fullscale_tests/test_DCB/DCBmodel_PD_solid_temp_depended.yaml @@ -94,12 +94,12 @@ PeriLab: External_Forces: True External_Displacements: True Temperature: True + Cauchy Stress: True Models: Damage Models: Damage: Damage Model: Critical Energy - Critical Value: crictical_energy_temperature_depended.txt #0.0035714285714285716 - # Temperature dependend: "crictical_energy_temperature_depended.txt" + Critical Value: crictical_energy_temperature_depended.txt Thermal Models: Temp: Thermal Model: "Thermal Flow" @@ -125,5 +125,6 @@ PeriLab: Damage Models: true Thermal Models: true Numerical Damping: 5.0e-06 + Calculate Cauchy: true Verlet: Safety Factor: 0.9 diff --git a/test/fullscale_tests/test_DCB/Reference/DCBmodel_PD_solid_temp_depended.e b/test/fullscale_tests/test_DCB/Reference/DCBmodel_PD_solid_temp_depended.e index fa3bade8d..678de5fb0 100644 Binary files a/test/fullscale_tests/test_DCB/Reference/DCBmodel_PD_solid_temp_depended.e and b/test/fullscale_tests/test_DCB/Reference/DCBmodel_PD_solid_temp_depended.e differ