JSON Objects: Metadata¶
There are a variety of options available that can be configured with metadata.
Either resolution or cell_size must be specified, but no other options need to specified.
Default values will be used when not specified.
units¶
The default units for the scenario, including geometry. Note that this default does not apply to materials, which will default to MKS unless specified there.
basis_order¶
The type of finite element used. The default is 1, which would be linear elements. 2 is for quadratic elements.
max_iterations_multiplier¶
This parameters changes the max iterations for iterative solvers, it scales with the number of degrees of freedom. Use a parameter less then one for faster solve times, with the tradeoff of accuracy.
tolerance¶
The tolerance for iterative solvers. The default value is 1e-20. That value is meant to achieve high accuracy at the cost of solve runtime. Increasing the tolerance will decrease solve time, but will yield less accurate results.
resolution¶
The target number of elements. An iterative process is used to determine a cell size that achieves approximately the specified number of elements. The logging output will include the resolved number of elements and cell size. Either resolution or cell_size must be specified.
cell_size¶
The cell size to use. The log output will include the resolved number of elements. When possible, specifying cell_size will skip the expensive iterative process when using the resolution parameters.
omega_cutoff¶
A parameter to tune the use of solution structure method for enforcing boundary conditions. By default, there is no cutoff, and it is not recommended to tune this parameter without additional input from Intact Solutions.
solver_override¶
The solver_override parameter can be used to explicitly specify the solver to use.
The default solver for linear elasticity and modal scenarios is AMGCL_amg_rigid_body.
The default solver for thermal scenarios is AMGCL_amg.
The following solvers are available:
// Iterative conjugate gradient solver without preconditioner.
AMGCL_cg
// Iterative conjugate gradient solver with ilu0 preconditioner.
AMGCL_ilu0_cg
// Iterative conjugate gradient solver with damped jacobi predonditioner.
AMGCL_damped_jacobi_cg
// Iterative AMG based solver with smoothed aggregation.
// This is the default solver for thermal scenarios.
AMGCL_amg
// Iterative AMG based solver with rigid body modes based coarsening.
// This is the default solver for linear elasticity.
// This solver cannot be used with thermal scenarios.
AMGCL_amg_rigid_body
// Direct solver that uses LU decomposition.
Eigen_SparseLU
// A sparse direct Cholesky (LDLT) factorization and solver based on the PARDISO library provided by Intel's MKL.
MKL_PardisoLDLT
// A sparse direct Cholesky (LLT) factorization and solver based on the PARDISO library provided by Intel's MKL.
MKL_PardisoLLT
// A sparse direct LU factorization and solver based on the PARDISO library provided by Intel's MKL.
MKL_PardisoLU
integrator_override¶
For some physics types, there may be multiple integrator implementations available;
the integrator_override configuration allows choosing among the available implementations.
In general, the default choice is the best choice.
The following integrators are available:
// Default for modal scenarios.
IntactModal
IntactLinearElasticity
// Default for thermal scenarios.
MPCStaticThermal
// Default for linear elasticity scenarios.
MPCLinearElasticity
LinearBuckling
MPCThermoLinearElasticity
use_caching¶
By default, Intact.simulation will cache all quadrature rules and material properties for each cell. This can use significant amounts of memory for problems with lots of elements. To really push the problem size that can be run on a given machine, caching can be turned off to decrease the memory footprint of a simulation run at the cost of additional runtime.
"use_caching": false
verbose_solver¶
Some of the sparse linear solvers used by intact can provide feedback about their progress. By default this is false, but if set to true some solvers will report their progress to standard out. For AMGCL solvers, every five iterations the iteration number and various error measurements will be printed. This can be useful for long running simulations to observe progress.