|
Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
|
#include "smith/physics/weak_form.hpp"#include "smith/differentiable_numerics/field_state.hpp"#include "smith/differentiable_numerics/lumped_mass_weak_form.hpp"#include "smith/physics/boundary_conditions/boundary_condition_manager.hpp"

Go to the source code of this file.
Namespaces | |
| smith | |
| Accelerator functionality. | |
Functions | |
| FieldState | smith::computeLumpedMass (const WeakForm *mass_residual_eval, const FieldState &shape_u, const FieldState &lumped_field, const FieldState &rho) |
| gretl-function implementation to compute lumped mass vectors from shape_displacements FieldState and a density field FieldState. A lumped_field is also passed to communicate the intended dimension of the lumped mass. For example, as scalar lumped field will result in a single lumped mass per node, while a vector lumped field will give a nodal lumped field, where every component of the lumped vector per node has the full mass lumped value (the sum of all lumped masses will be dim * total_mass) | |
| FieldState | smith::diagInverse (const FieldState &x) |
| gretl-function implementation to compute invert the values for every entry in a FieldState. | |
| FieldState | smith::evalResidual (const WeakForm *residual_eval, FieldState shape_disp, const std::vector< FieldState > &states, const std::vector< FieldState > ¶ms, TimeInfo time_info, size_t inertial_index) |
| gretl-function implementation which evaluates the residual force (which is minus the mechanical force) given shape displacement, states and params. The inertial index denotes which index in the state corresponds to the highest time derivative term (e.g., acceleration for solid mechanics). | |
| FieldState | smith::componentWiseMult (const FieldState &x, const FieldState &y, const BoundaryConditionManager *bc_manager) |
| gretl-function implementation which multiplies x and y component-wise to create a new FieldState. The bc_manager is used to zero the constrained dofs of the output Field. | |
| FieldState | smith::negativeComponentWiseMult (const FieldState &x, const FieldState &y, const BoundaryConditionManager *bc_manager) |
| gretl-function implementation which multiplies and then negates x and y component-wise to create a new FieldState. The bc_manager is used to zero the constrained dofs of the output Field. The intended use-case here is explicit dynamics, where the residual is the negative of the force, and the inverse of the mass is strictly positive. The negative component-wise multiplication of these gives the nodal accelerations. | |