Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
Classes | Namespaces | Functions | Variables
solid_mechanics.hpp File Reference

Tools for tagging a set of components of a vector field for boundary condition enforcement. More...

#include <cstddef>
#include <array>
#include <functional>
#include <memory>
#include <optional>
#include <string>
#include <unordered_map>
#include <utility>
#include <vector>
#include "mfem.hpp"
#include "smith/smith_config.hpp"
#include "smith/physics/common.hpp"
#include "smith/physics/solid_mechanics_input.hpp"
#include "smith/physics/base_physics.hpp"
#include "smith/physics/boundary_conditions/components.hpp"
#include "smith/numerics/odes.hpp"
#include "smith/numerics/stdfunction_operator.hpp"
#include "smith/numerics/functional/shape_aware_functional.hpp"
#include "smith/numerics/functional/domain.hpp"
#include "smith/physics/mesh.hpp"
#include "smith/physics/state/state_manager.hpp"
#include "smith/physics/materials/solid_material.hpp"
#include "smith/infrastructure/accelerator.hpp"
#include "smith/infrastructure/profiling.hpp"
#include "smith/numerics/equation_solver.hpp"
#include "smith/numerics/functional/differentiate_wrt.hpp"
#include "smith/numerics/functional/functional.hpp"
#include "smith/numerics/functional/geometry.hpp"
#include "smith/numerics/functional/quadrature_data.hpp"
#include "smith/numerics/functional/tensor.hpp"
#include "smith/numerics/functional/tuple.hpp"
#include "smith/numerics/petsc_solvers.hpp"
#include "smith/numerics/solver_config.hpp"
#include "smith/physics/boundary_conditions/boundary_condition_manager.hpp"
#include "smith/physics/state/finite_element_dual.hpp"
#include "smith/physics/state/finite_element_state.hpp"
#include "smith/physics/state/finite_element_vector.hpp"
Include dependency graph for solid_mechanics.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  smith::SolidMechanics< order, dim, Parameters< parameter_space... >, std::integer_sequence< int, parameter_indices... > >
 The nonlinear solid solver class. More...
 
struct  smith::SolidMechanics< order, dim, Parameters< parameter_space... >, std::integer_sequence< int, parameter_indices... > >::MaterialStressFunctor< Material >
 Functor representing a material stress. A functor is used here instead of an extended, generic lambda for compatibility with NVCC. More...
 
struct  smith::SolidMechanics< order, dim, Parameters< parameter_space... >, std::integer_sequence< int, parameter_indices... > >::RateDependentMaterialStressFunctor< Material >
 
struct  smith::SolidMechanics< order, dim, Parameters< parameter_space... >, std::integer_sequence< int, parameter_indices... > >::BodyForceIntegrand< BodyForceType >
 Functor representing a body force integrand. A functor is necessary instead of an extended, generic lambda for compatibility with NVCC. More...
 

Namespaces

 smith
 Accelerator functionality.
 
 smith::solid_mechanics
 SolidMechanics helper data types.
 

Functions

void smith::solid_mechanics::detail::adjoint_integrate (double dt_n, double dt_np1, mfem::HypreParMatrix *m_mat, mfem::HypreParMatrix *k_mat, mfem::HypreParVector &disp_adjoint_load_vector, mfem::HypreParVector &velo_adjoint_load_vector, mfem::HypreParVector &accel_adjoint_load_vector, mfem::HypreParVector &adjoint_displacement_, mfem::HypreParVector &implicit_sensitivity_displacement_start_of_step_, mfem::HypreParVector &implicit_sensitivity_velocity_start_of_step_, mfem::HypreParVector &adjoint_essential_, BoundaryConditionManager &bcs_, mfem::Solver &lin_solver)
 integrates part of the adjoint equations backward in time
 

Variables

const LinearSolverOptions smith::solid_mechanics::default_linear_options
 default method and tolerances for solving the systems of linear equations that show up in implicit solid mechanics simulations More...
 
const LinearSolverOptions smith::solid_mechanics::direct_linear_options = {.linear_solver = LinearSolver::SuperLU, .print_level = 0}
 the default direct solver option for solving the linear stiffness equations
 
const NonlinearSolverOptions smith::solid_mechanics::default_nonlinear_options
 default iteration limits, tolerances and verbosity for solving the systems of nonlinear equations that show up in implicit solid mechanics simulations More...
 
const TimesteppingOptions smith::solid_mechanics::default_quasistatic_options = {TimestepMethod::QuasiStatic}
 default quasistatic timestepping options for solid mechanics
 
const TimesteppingOptions smith::solid_mechanics::default_timestepping_options
 default implicit dynamic timestepping options for solid mechanics More...
 

Detailed Description

Tools for tagging a set of components of a vector field for boundary condition enforcement.

An object containing the solver for total Lagrangian finite deformation solid mechanics.

Definition in file solid_mechanics.hpp.