-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
74637d4
commit ead5a30
Showing
7 changed files
with
629 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+1.09 MB
tests/regression/solid_mechanics/recovery/nonassociative_isotropic_kinematic/gold/result.pt
Binary file not shown.
166 changes: 166 additions & 0 deletions
166
tests/regression/solid_mechanics/recovery/nonassociative_isotropic_kinematic/model.i
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
[Tensors] | ||
[end_time] | ||
type = LogspaceScalar | ||
start = -1 | ||
end = 5 | ||
nstep = 20 | ||
[] | ||
[times] | ||
type = LinspaceScalar | ||
start = 0 | ||
end = end_time | ||
nstep = 100 | ||
[] | ||
[exx] | ||
type = FullScalar | ||
batch_shape = '(20)' | ||
value = 0.1 | ||
[] | ||
[eyy] | ||
type = FullScalar | ||
batch_shape = '(20)' | ||
value = -0.05 | ||
[] | ||
[ezz] | ||
type = FullScalar | ||
batch_shape = '(20)' | ||
value = -0.05 | ||
[] | ||
[max_strain] | ||
type = FillSR2 | ||
values = 'exx eyy ezz' | ||
[] | ||
[strains] | ||
type = LinspaceSR2 | ||
start = 0 | ||
end = max_strain | ||
nstep = 100 | ||
[] | ||
[] | ||
|
||
[Drivers] | ||
[driver] | ||
type = SolidMechanicsDriver | ||
model = 'model' | ||
times = 'times' | ||
prescribed_strains = 'strains' | ||
save_as = 'result.pt' | ||
[] | ||
[regression] | ||
type = TransientRegression | ||
driver = 'driver' | ||
reference = 'gold/result.pt' | ||
[] | ||
[] | ||
|
||
[Solvers] | ||
[newton] | ||
type = Newton | ||
[] | ||
[] | ||
|
||
[Models] | ||
[isoharden] | ||
type = SlopeSaturationVoceIsotropicHardening | ||
saturated_hardening = 100 | ||
initial_hardening_rate = 1200.0 | ||
[] | ||
[kinharden] | ||
type = SR2LinearCombination | ||
from_var = 'state/internal/X1 state/internal/X2' | ||
to_var = 'state/internal/X' | ||
[] | ||
[mandel_stress] | ||
type = IsotropicMandelStress | ||
[] | ||
[overstress] | ||
type = SR2LinearCombination | ||
to_var = 'state/internal/O' | ||
from_var = 'state/internal/M state/internal/X' | ||
coefficients = '1 -1' | ||
[] | ||
[vonmises] | ||
type = SR2Invariant | ||
invariant_type = 'VONMISES' | ||
tensor = 'state/internal/O' | ||
invariant = 'state/internal/s' | ||
[] | ||
[yield] | ||
type = YieldFunction | ||
yield_stress = 5 | ||
isotropic_hardening = 'state/internal/k' | ||
[] | ||
[flow] | ||
type = ComposedModel | ||
models = 'overstress vonmises yield' | ||
[] | ||
[normality] | ||
type = Normality | ||
model = 'flow' | ||
function = 'state/internal/fp' | ||
from = 'state/internal/M' | ||
to = 'state/internal/NM' | ||
[] | ||
[flow_rate] | ||
type = PerzynaPlasticFlowRate | ||
reference_stress = 100 | ||
exponent = 2 | ||
[] | ||
[X1rate] | ||
type = FredrickArmstrongPlasticHardening | ||
back_stress = 'state/internal/X1' | ||
C = 10000 | ||
g = 100 | ||
[] | ||
[X2rate] | ||
type = FredrickArmstrongPlasticHardening | ||
back_stress = 'state/internal/X2' | ||
C = 1000 | ||
g = 9 | ||
[] | ||
[Eprate] | ||
type = AssociativePlasticFlow | ||
[] | ||
[Erate] | ||
type = SR2VariableRate | ||
variable = 'forces/E' | ||
rate = 'forces/E_rate' | ||
[] | ||
[Eerate] | ||
type = SR2LinearCombination | ||
from_var = 'forces/E_rate state/internal/Ep_rate' | ||
to_var = 'state/internal/Ee_rate' | ||
coefficients = '1 -1' | ||
[] | ||
[elasticity] | ||
type = LinearIsotropicElasticity | ||
youngs_modulus = 1e5 | ||
poisson_ratio = 0.3 | ||
rate_form = true | ||
[] | ||
[integrate_k] | ||
type = ScalarBackwardEulerTimeIntegration | ||
variable = 'state/internal/k' | ||
[] | ||
[integrate_X1] | ||
type = SR2BackwardEulerTimeIntegration | ||
variable = 'state/internal/X1' | ||
[] | ||
[integrate_X2] | ||
type = SR2BackwardEulerTimeIntegration | ||
variable = 'state/internal/X2' | ||
[] | ||
[integrate_stress] | ||
type = SR2BackwardEulerTimeIntegration | ||
variable = 'state/S' | ||
[] | ||
[implicit_rate] | ||
type = ComposedModel | ||
models = 'isoharden kinharden mandel_stress overstress vonmises yield normality flow_rate Eprate X1rate X2rate Erate Eerate elasticity integrate_stress integrate_k integrate_X1 integrate_X2' | ||
[] | ||
[model] | ||
type = ImplicitUpdate | ||
implicit_model = 'implicit_rate' | ||
solver = 'newton' | ||
[] | ||
[] |
Binary file added
BIN
+1.09 MB
tests/regression/solid_mechanics/recovery/static_recovery/gold/result.pt
Binary file not shown.
204 changes: 204 additions & 0 deletions
204
tests/regression/solid_mechanics/recovery/static_recovery/model.i
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,204 @@ | ||
[Tensors] | ||
[end_time] | ||
type = LogspaceScalar | ||
start = -1 | ||
end = 5 | ||
nstep = 20 | ||
[] | ||
[times] | ||
type = LinspaceScalar | ||
start = 0 | ||
end = end_time | ||
nstep = 100 | ||
[] | ||
[exx] | ||
type = FullScalar | ||
batch_shape = '(20)' | ||
value = 0.1 | ||
[] | ||
[eyy] | ||
type = FullScalar | ||
batch_shape = '(20)' | ||
value = -0.05 | ||
[] | ||
[ezz] | ||
type = FullScalar | ||
batch_shape = '(20)' | ||
value = -0.05 | ||
[] | ||
[max_strain] | ||
type = FillSR2 | ||
values = 'exx eyy ezz' | ||
[] | ||
[strains] | ||
type = LinspaceSR2 | ||
start = 0 | ||
end = max_strain | ||
nstep = 100 | ||
[] | ||
[] | ||
|
||
[Drivers] | ||
[driver] | ||
type = SolidMechanicsDriver | ||
model = 'model' | ||
times = 'times' | ||
prescribed_strains = 'strains' | ||
save_as = 'result.pt' | ||
[] | ||
[regression] | ||
type = TransientRegression | ||
driver = 'driver' | ||
reference = 'gold/result.pt' | ||
[] | ||
[] | ||
|
||
[Solvers] | ||
[newton] | ||
type = Newton | ||
[] | ||
[] | ||
|
||
[Models] | ||
[isoharden] | ||
type = SlopeSaturationVoceIsotropicHardening | ||
saturated_hardening = 100 | ||
initial_hardening_rate = 1200.0 | ||
isotropic_hardening_rate = 'state/internal/k_rate_base' | ||
[] | ||
[isoharden_recovery] | ||
type = IsotropicHardeningStaticRecovery | ||
n = 2.0 | ||
tau = 1000.0 | ||
[] | ||
[isoharden_total] | ||
type = ScalarLinearCombination | ||
to_var = 'state/internal/k_rate' | ||
from_var = 'state/internal/k_rate_base state/internal/k_recovery_rate' | ||
coefficients = '1 1' | ||
[] | ||
[kinharden] | ||
type = SR2LinearCombination | ||
from_var = 'state/internal/X1 state/internal/X2' | ||
to_var = 'state/internal/X' | ||
[] | ||
[mandel_stress] | ||
type = IsotropicMandelStress | ||
[] | ||
[overstress] | ||
type = SR2LinearCombination | ||
to_var = 'state/internal/O' | ||
from_var = 'state/internal/M state/internal/X' | ||
coefficients = '1 -1' | ||
[] | ||
[vonmises] | ||
type = SR2Invariant | ||
invariant_type = 'VONMISES' | ||
tensor = 'state/internal/O' | ||
invariant = 'state/internal/s' | ||
[] | ||
[yield] | ||
type = YieldFunction | ||
yield_stress = 5 | ||
isotropic_hardening = 'state/internal/k' | ||
[] | ||
[flow] | ||
type = ComposedModel | ||
models = 'overstress vonmises yield' | ||
[] | ||
[normality] | ||
type = Normality | ||
model = 'flow' | ||
function = 'state/internal/fp' | ||
from = 'state/internal/M' | ||
to = 'state/internal/NM' | ||
[] | ||
[flow_rate] | ||
type = PerzynaPlasticFlowRate | ||
reference_stress = 100 | ||
exponent = 2 | ||
[] | ||
[X1rate] | ||
type = FredrickArmstrongPlasticHardening | ||
back_stress = 'state/internal/X1' | ||
back_stress_rate = 'state/internal/X1_rate_base' | ||
C = 10000 | ||
g = 100 | ||
[] | ||
[X1_recovery] | ||
type = KinematicHardeningStaticRecovery | ||
back_stress = 'state/internal/X1' | ||
n = 2.0 | ||
tau = 1000.0 | ||
[] | ||
[X1_total] | ||
type = SR2LinearCombination | ||
to_var = 'state/internal/X1_rate' | ||
from_var = 'state/internal/X1_rate_base state/internal/X1_recovery_rate' | ||
coefficients = '1 1' | ||
[] | ||
[X2rate] | ||
type = FredrickArmstrongPlasticHardening | ||
back_stress = 'state/internal/X2' | ||
back_stress_rate = 'state/internal/X2_rate_base' | ||
C = 1000 | ||
g = 9 | ||
[] | ||
[X2_recovery] | ||
type = KinematicHardeningStaticRecovery | ||
back_stress = 'state/internal/X2' | ||
n = 2.5 | ||
tau = 500.0 | ||
[] | ||
[X2_total] | ||
type = SR2LinearCombination | ||
to_var = 'state/internal/X2_rate' | ||
from_var = 'state/internal/X2_rate_base state/internal/X2_recovery_rate' | ||
coefficients = '1 1' | ||
[] | ||
[Eprate] | ||
type = AssociativePlasticFlow | ||
[] | ||
[Erate] | ||
type = SR2VariableRate | ||
variable = 'forces/E' | ||
rate = 'forces/E_rate' | ||
[] | ||
[Eerate] | ||
type = SR2LinearCombination | ||
from_var = 'forces/E_rate state/internal/Ep_rate' | ||
to_var = 'state/internal/Ee_rate' | ||
coefficients = '1 -1' | ||
[] | ||
[elasticity] | ||
type = LinearIsotropicElasticity | ||
youngs_modulus = 1e5 | ||
poisson_ratio = 0.3 | ||
rate_form = true | ||
[] | ||
[integrate_k] | ||
type = ScalarBackwardEulerTimeIntegration | ||
variable = 'state/internal/k' | ||
[] | ||
[integrate_X1] | ||
type = SR2BackwardEulerTimeIntegration | ||
variable = 'state/internal/X1' | ||
[] | ||
[integrate_X2] | ||
type = SR2BackwardEulerTimeIntegration | ||
variable = 'state/internal/X2' | ||
[] | ||
[integrate_stress] | ||
type = SR2BackwardEulerTimeIntegration | ||
variable = 'state/S' | ||
[] | ||
[implicit_rate] | ||
type = ComposedModel | ||
models = 'isoharden isoharden_recovery isoharden_total kinharden mandel_stress overstress vonmises yield normality flow_rate Eprate X1rate X1_recovery X1_total X2rate X2_recovery X2_total Erate Eerate elasticity integrate_stress integrate_k integrate_X1 integrate_X2' | ||
[] | ||
[model] | ||
type = ImplicitUpdate | ||
implicit_model = 'implicit_rate' | ||
solver = 'newton' | ||
[] | ||
[] |
Binary file added
BIN
+1.11 MB
tests/regression/solid_mechanics/recovery/thermal_annealing/gold/result.pt
Binary file not shown.
Oops, something went wrong.