|
using | Traits = TraitsFromFE< Basis_, FERequirements_, useEigenRef > |
|
using | Basis = typename Traits::Basis |
|
using | FlatBasis = typename Traits::FlatBasis |
|
using | FERequirementType = typename Traits::FERequirementType |
|
using | LocalView = typename Traits::LocalView |
|
using | Geometry = typename Traits::Geometry |
|
using | GridView = typename Traits::GridView |
|
using | Element = typename Traits::Element |
|
using | ResultRequirementsType = typename Traits::ResultRequirementsType |
|
using | BasePowerFE = PowerBasisFE< FlatBasis > |
|
using | Material = Material_ |
|
using | VolumeType = Volume< NonLinearElastic< Basis_, Material_, FERequirements_, useEigenRef >, Traits > |
|
using | TractionType = Traction< NonLinearElastic< Basis_, Material_, FERequirements_, useEigenRef >, Traits > |
|
using | LocalBasisType = decltype(std::declval< LocalView >().tree().child(0).finiteElement().localBasis()) |
|
using | RootBasis = Basis_::FlatBasis |
| Type of the root basis. More...
|
|
using | GlobalIndex = typename LocalView::MultiIndex |
| Type of the global index. More...
|
|
using | GridElement = typename LocalView::Element |
| Type of the grid element. More...
|
|
|
template<typename VolumeLoad = utils::LoadDefault, typename NeumannBoundaryLoad = utils::LoadDefault> |
| NonLinearElastic (const Basis &globalBasis, const typename LocalView::Element &element, const Material &p_mat, VolumeLoad p_volumeLoad={}, const BoundaryPatch< GridView > *p_neumannBoundary=nullptr, NeumannBoundaryLoad p_neumannBoundaryLoad={}) |
| Constructor for the NonLinearElastic class. More...
|
|
template<typename ScalarType = double> |
auto | displacementFunction (const FERequirementType &par, const std::optional< const Eigen::VectorX< ScalarType > > &dx=std::nullopt) const |
| Get the displacement function for the given FERequirementType. More...
|
|
template<typename ScalarType = double> |
auto | strainFunction (const FERequirementType &par, const std::optional< const Eigen::VectorX< ScalarType > > &dx=std::nullopt) const |
| The strain function for the given FERequirementType. More...
|
|
template<typename ScalarType , int strainDim, bool voigt = true> |
auto | materialTangent (const Eigen::Vector< ScalarType, strainDim > &strain) const |
| Get the material tangent for the given strain. More...
|
|
template<typename ScalarType , int strainDim> |
auto | getInternalEnergy (const Eigen::Vector< ScalarType, strainDim > &strain) const |
| Get the internal energy for the given strain. More...
|
|
template<typename ScalarType , int strainDim, bool voigt = true> |
auto | getStress (const Eigen::Vector< ScalarType, strainDim > &strain) const |
| Get the stress for the given strain. More...
|
|
const Geometry & | geometry () const |
|
size_t | numberOfNodes () const |
|
int | order () const |
|
double | calculateScalar (const FERequirementType &par) const |
| Calculate the scalar value associated with the given FERequirementType. More...
|
|
void | calculateVector (const FERequirementType &par, typename Traits::template VectorType<> force) const |
| Calculate the vector associated with the given FERequirementType. More...
|
|
void | calculateMatrix (const FERequirementType &par, typename Traits::template MatrixType<> K) const |
| Calculate the matrix associated with the given FERequirementType. More...
|
|
void | calculateAt (const ResultRequirementsType &req, const Dune::FieldVector< double, Traits::mydim > &local, ResultTypeMap< double > &result) const |
| Calculate specified results at a given local position. More...
|
|
constexpr size_t | size () const |
| Get the size of the local view. More...
|
|
void | globalFlatIndices (std::vector< GlobalIndex > &globalIndices) const |
| Get the global flat indices for the power basis. More...
|
|
const GridElement & | gridElement () const |
| Get the grid element associated with the local view. More...
|
|
const LocalView & | localView () const |
| Get the const reference to the local view. More...
|
|
LocalView & | localView () |
| Get the reference to the local view. More...
|
|
double | calculateScalar (const FERequirementType &req) const |
| Calculate the scalar value. More...
|
|
void | calculateVector (const FERequirementType &req, typename Traits::template VectorType<> force) const |
| Calculate the vector associated with the given FERequirementType. More...
|
|
void | calculateMatrix (const FERequirementType &req, typename Traits::template MatrixType<> K) const |
| Calculate the matrix associated with the given FERequirementType. More...
|
|
double | calculateScalar (const FERequirementType &req) const |
| Calculate the scalar value. More...
|
|
void | calculateVector (const FERequirementType &req, typename Traits::template VectorType<> force) const |
| Calculate the vector associated with the given FERequirementType. More...
|
|
void | calculateMatrix (const FERequirementType &req, typename Traits::template MatrixType<> K) const |
| Calculate the matrix associated with the given FERequirementType. More...
|
|
|
template<typename ScalarType > |
auto | calculateScalarImpl (const FERequirementType &par, const std::optional< const Eigen::VectorX< ScalarType > > &dx=std::nullopt) const -> ScalarType |
|
template<typename ScalarType > |
void | calculateVectorImpl (const FERequirementType &par, typename Traits::template VectorType< ScalarType > force, const std::optional< const Eigen::VectorX< ScalarType > > &dx=std::nullopt) const |
|
auto | calculateScalarImpl (const FERequirementType &par, const std::optional< const Eigen::VectorX< ScalarType > > &dx=std::nullopt) const -> ScalarType |
|
void | calculateVectorImpl (const FERequirementType &par, typename Traits::template VectorType< ScalarType > force, const std::optional< const Eigen::VectorX< ScalarType > > &dx=std::nullopt) const |
|
void | calculateMatrixImpl (const FERequirementType &par, typename Traits::template MatrixType<> K, const std::optional< const Eigen::VectorX< ScalarType > > &dx=std::nullopt) const |
|
auto | calculateScalarImpl (const FERequirementType &par, const std::optional< const Eigen::VectorX< ScalarType > > &dx=std::nullopt) const -> ScalarType |
|
void | calculateVectorImpl (const FERequirementType &par, typename Traits::template VectorType< ScalarType > force, const std::optional< const Eigen::VectorX< ScalarType > > dx=std::nullopt) const |
|
void | calculateMatrixImpl (const FERequirementType &par, typename Traits::template MatrixType<> K, const std::optional< const Eigen::VectorX< ScalarType > > &dx=std::nullopt) const |
|
template<typename Basis_, typename Material_, typename FERequirements_ = FERequirements<>, bool useEigenRef = false>
class Ikarus::NonLinearElastic< Basis_, Material_, FERequirements_, useEigenRef >
- Template Parameters
-
Basis_ | The basis type for the finite element. |
Material_ | The material type for the finite element. |
FERequirements_ | The requirements for the finite element. |
useEigenRef | A boolean flag indicating whether to use Eigen references. |