G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsMuscleAssembler.h
Go to the documentation of this file.
1
15#pragma once
16
18
19namespace gismo
20{
21
26template <class T>
28{
29public:
31
34 const gsMultiBasis<T> & basisDisp,
35 const gsMultiBasis<T> & basisPres,
36 const gsBoundaryConditions<T> & bconditions,
37 const gsFunction<T> & body_force,
38 const gsPiecewiseFunction<T> & tendonMuscleDistribution,
39 const gsVector<T> & fiberDirection);
40
41 //--------------------- SYSTEM ASSEMBLY ----------------------------------//
42
46 using Base::assemble;
47 virtual bool assemble(const gsMatrix<T> & solutionVector,
48 const std::vector<gsMatrix<T> > & fixedDoFs);
49
50 //--------------------- SPECIALS ----------------------------------//
51
54 virtual void constructCauchyStresses(const gsMultiPatch<T> & displacement,
55 const gsMultiPatch<T> & pressure,
57 stress_components::components component = stress_components::von_mises) const;
58
59protected:
60 using Base::m_options;
61 using Base::m_pde_ptr;
62 using Base::m_system;
63 gsPiecewiseFunction<T> const & muscleTendon;
64 gsVector<T> const & fiberDir;
65};
66
67
68} // namespace gismo ends
69
70#ifndef GISMO_BUILD_LIB
71#include GISMO_HPP_HEADER(gsMuscleAssembler.hpp)
72#endif
gsSparseSystem< T > m_system
Global sparse linear system.
Definition gsAssembler.h:290
gsOptionList m_options
Options.
Definition gsAssembler.h:285
memory::shared_ptr< gsPde< T > > m_pde_ptr
Definition gsAssembler.h:276
const gsMultiPatch< T > & patches() const
Return the multipatch.
Definition gsAssembler.h:601
Class containing a set of boundary conditions.
Definition gsBoundaryConditions.h:342
Assembles the stiffness matrix and the right-hand side vector for linear and nonlinear elasticity for...
Definition gsElasticityAssembler.h:32
virtual void assemble()
Main assemble routine, to be implemented in derived classes.
Definition gsElasticityAssembler.h:62
virtual void constructCauchyStresses(const gsMultiPatch< T > &displacement, gsPiecewiseFunction< T > &result, stress_components::components component=stress_components::von_mises) const
Construct Cauchy stresses for evaluation or visualization.
Definition gsElasticityAssembler.hpp:284
A function from a n-dimensional domain to an m-dimensional image.
Definition gsFunction.h:60
A matrix with arbitrary coefficient type and fixed or dynamic size.
Definition gsMatrix.h:41
Holds a set of patch-wise bases and their topology information.
Definition gsMultiBasis.h:37
Container class for a set of geometry patches and their topology, that is, the interface connections ...
Definition gsMultiPatch.h:100
Assembler for incompressible nonlinear elasticity problem with a muscle material model....
Definition gsMuscleAssembler.h:28
virtual void assemble()
Definition gsElasticityAssembler.h:62
virtual void constructCauchyStresses(const gsMultiPatch< T > &displacement, const gsMultiPatch< T > &pressure, gsPiecewiseFunction< T > &result, stress_components::components component=stress_components::von_mises) const
Construct Cauchy stresses for evaluation or visualization.
Definition gsMuscleAssembler.hpp:86
A function depending on an index i, typically referring to a patch/sub-domain. On each patch a differ...
Definition gsPiecewiseFunction.h:29
A vector with arbitrary coefficient type and fixed or dynamic size.
Definition gsVector.h:37
Provides linear and nonlinear elasticity systems for 2D plain strain and 3D continua.
The G+Smo namespace, containing all definitions for the library.
components
Definition gsBaseUtils.h:112