- KBulk modulus
C++ Type:std::string
Controllable:No
Description:Bulk modulus
- bufferThe buffer this compute is writing to
C++ Type:std::string
Controllable:No
Description:The buffer this compute is writing to
- constitutive_modelTensor compute for the constitutive model (computes stress from displacement gradeint tensor)
C++ Type:std::string
Controllable:No
Description:Tensor compute for the constitutive model (computes stress from displacement gradeint tensor)
FFTMechanics
deGeus variational mechanics solve. Updates the coupled buffer holding the deformation gradient tensor.
Solve a heterogeneous mechanics problem using the approach by deGeus et al. de Geus et al. (2017).
Example Input File Syntax
[TensorComputes]
[Solve]
[root]
[applied_strain]
type = MacroscopicShearTensor
buffer = applied_strain
F = F
[]
[hyper_elasticity]
type = HyperElasticIsotropic
buffer = stress
F = Fnew
K = K
mu = mu
[]
[mech]
type = FFTMechanics
buffer = Fnew
F = F
K = K
mu = mu
l_tol = 1e-2
nl_rel_tol = 2e-2
nl_abs_tol = 2e-2
constitutive_model = hyper_elasticity
stress = stress
tangent_operator = dstressdstrain
applied_macroscopic_strain = applied_strain
[]
[]
[]
[]
!listing-endNotes: - Supplies and updates the deformation gradient buffer Fnew. - Requires a constitutive-model compute that provides stress and its tangent. - An optional macroscopic strain buffer lets you impose a prescribed average deformation.
See also: MacroscopicShearTensor, HyperElasticIsotropic, ComputeDisplacements.
Input Parameters
- FFDeformation gradient tensor.
Default:F
C++ Type:std::string
Controllable:No
Description:Deformation gradient tensor.
- applied_macroscopic_strainApplied macroscopic strain
C++ Type:std::string
Controllable:No
Description:Applied macroscopic strain
- l_max_itsMaximum number of congugate gradient solve iterations
C++ Type:unsigned int
Controllable:No
Description:Maximum number of congugate gradient solve iterations
- l_tol0.01Linear congugate gradient solve tolerance
Default:0.01
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Linear congugate gradient solve tolerance
- muShear modulus
C++ Type:std::string
Controllable:No
Description:Shear modulus
- nl_abs_tol1e-08Nonlinear solve relative tolerance
Default:1e-08
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Nonlinear solve relative tolerance
- nl_max_its100Maximum number of nonlinear solve iterations
Default:100
C++ Type:unsigned int
Controllable:No
Description:Maximum number of nonlinear solve iterations
- nl_rel_tol1e-05Nonlinear solve absolute tolerance
Default:1e-05
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Nonlinear solve absolute tolerance
- stressstressComputed stress
Default:stress
C++ Type:std::string
Controllable:No
Description:Computed stress
- tangent_operatordstressdstrainTangent operator
Default:dstressdstrain
C++ Type:std::string
Controllable:No
Description:Tangent operator
- verboseFalsePrint non-linear residuals.
Default:False
C++ Type:bool
Controllable:No
Description:Print non-linear residuals.
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.
Advanced Parameters
Input Files
References
- T.W.J. de Geus, J. Vondřejc, J. Zeman, R.H.J. Peerlings, and M.G.D. Geers.
Finite strain fft-based non-linear solvers made simple.
Computer Methods in Applied Mechanics and Engineering, 318:412–430, 2017.
URL: https://www.sciencedirect.com/science/article/pii/S0045782516318709, doi:https://doi.org/10.1016/j.cma.2016.12.032.[BibTeX]