KerMor  0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
models.muscle.examples.ThinTendon Class Reference

Thin tendon experiment for parameter fitting of tendon params. More...

Detailed Description

Thin tendon experiment for parameter fitting of tendon params.

Option BC == 1 uses configurable velocity BCs to move the loose end. Used for experiment. Option BC == 2 enables to pull with a given force (via mu) at the loose end. Can be applied to test stretch given an external force.

Definition at line 20 of file ThinTendon.m.

Public Member Functions

 ThinTendon (varargin)
 
function  configureModel (m)
 
function tmr = getTendonMuscleRatio (points)
 Pure tendon material! More...
 
function u = getInputs ()
 Returns the inputs \(u(t)\) of the model. More...
 
function P = getBoundaryPressure (elemidx, faceidx)
 Determines the neumann forces on the boundary. More...
 
function o = getOutputOfInterest (double t,matrix< double > y)
 
- Public Member Functions inherited from models.muscle.AExperimentModelConfig
 AExperimentModelConfig (varargin)
 Override in subclasses and set NumConfigurations to the number of possible experiment runs with different IC/BCs. More...
 
function x0 = getX0 (x0)
 
function  computeInitialConditions ()
 
- Public Member Functions inherited from models.muscle.AMuscleConfig
 AMuscleConfig (varargin)
 
function m = createModel ()
 Convenience method. More...
 
function  configureModelFinal ()
 
function u = getInputs ()
 Returns the inputs \(u(t)\) of the model. More...
 
function x0 = getX0 (x0)
 do nothing More...
 
function  setForceLengthFun (f)
 Provided here only for convenient outside access. More...
 
function alpha = getAlphaRamp (ramptime,double alphamax,double starttime)
 Creates a linearly increasing scalar function starting at starttime milliseconds ranging from zero to alphamax over ramptime. More...
 
function tmr = getTendonMuscleRatio (unused1)
 Returns the [0,1] ratio between tendon and muscle at all gauss points of all elements. More...
 
function anull = geta0 ()
 
- Public Member Functions inherited from fem.AFEMConfig
 AFEMConfig (varargin)
 
function  configureModel (models.BaseFullModel model)
 Overload this method to set model-specific quantities like simulation time etc. More...
 
function  configureModelFinal ()
 
function  prepareSimulation (colvec< double > mu,integer inputidx)
 Overload this method to initialize model-specific quantities that are fixed for each simulation. More...
 
function P = getBoundaryPressure (elemidx, faceidx)
 Determines the neumann forces on the boundary. More...
 
function str = getOptionStr (withtag)
 
function  plotGeometryInfo (allnode, elemnr)
 
function [
displ_dir ,
velo_dir ,
velo_dir_val ] = 
getBC ()
 
function [ force ,

nodeidx ,
faceswithforce ] = 
getSpatialExternalForces ()
 

Static Public Member Functions

static function  test_ThinTendon ()
 
static function  runExperiment ()
 

Public Attributes

 ylen = 200
 
 movetime = 80
 
 configs
 
- Public Attributes inherited from models.muscle.AExperimentModelConfig
 OutputDir = "[]"
 
 ImgDir
 
 CurrentConfigNr
 Sets the configuration number. More...
 
 NumConfigurations
 
 NumOutputs
 
 TargetOutputValues
 The experimentally determined output values. Must be a NumConfigurations x NumOutputs vector, if set. More...
 
 RequiresComputedInitialConditions = false
 
 ICCompMode
 
- Public Attributes inherited from models.muscle.AMuscleConfig
 PressureFEM
 
 FibreTypeWeights = "[]"
 
 Pool
 
char a0CoordinateSystem = "master"
 The coordinate system in which to interpret the a0 vectors of fibre directions. More...
 
double ActivationRampMax = 1
 Determines the default value for maximum activation in activation ramps. More...
 
double ActivationRampOffset = 0
 Determines the default number of milliseconds to wait before activation is started. More...
 
- Public Attributes inherited from fem.AFEMConfig
 FEM
 
 Geometry
 
 Model
 
char NeumannCoordinateSystem = "local"
 The coordinate system in which to interpret the applied pressure of neumann boundary conditions. More...
 
 Options
 
 VelocityBCTimeFun
 Velocity conditions application function. More...
 
- Public Attributes inherited from handle
 addlistener
 Creates a listener for the specified event and assigns a callback function to execute when the event occurs. More...
 
 notify
 Broadcast a notice that a specific event is occurring on a specified handle object or array of handle objects. More...
 
 delete
 Handle object destructor method that is called when the object's lifecycle ends. More...
 
 disp
 Handle object disp method which is called by the display method. See the MATLAB disp function. More...
 
 display
 Handle object display method called when MATLAB software interprets an expression returning a handle object that is not terminated by a semicolon. See the MATLAB display function. More...
 
 findobj
 Finds objects matching the specified conditions from the input array of handle objects. More...
 
 findprop
 Returns a meta.property objects associated with the specified property name. More...
 
 fields
 Returns a cell array of string containing the names of public properties. More...
 
 fieldnames
 Returns a cell array of string containing the names of public properties. See the MATLAB fieldnames function. More...
 
 isvalid
 Returns a logical array in which elements are true if the corresponding elements in the input array are valid handles. This method is Sealed so you cannot override it in a handle subclass. More...
 
 eq
 Relational functions example. See details for more information. More...
 
 transpose
 Transposes the elements of the handle object array. More...
 
 permute
 Rearranges the dimensions of the handle object array. See the MATLAB permute function. More...
 
 reshape
 hanges the dimensions of the handle object array to the specified dimensions. See the MATLAB reshape function. More...
 
 sort
 ort the handle objects in any array in ascending or descending order. More...
 

Protected Member Functions

function geo = getGeometry ()
 Returns the intended geometry for this model config. More...
 
function
displ_dir = 
setPositionDirichletBC (displ_dir)
 % Dirichlet conditions: Position (fix one side) More...
 
function [
velo_dir ,
velo_dir_val ] = 
setVelocityDirichletBC (velo_dir, velo_dir_val)
 % Dirichlet conditions: Position (fix one side) More...
 
- Protected Member Functions inherited from models.muscle.AExperimentModelConfig
function  init ()
 
- Protected Member Functions inherited from models.muscle.AMuscleConfig
function  init ()
 
function anull = seta0 (anull)
 do nothing! More...
 
function ftw = getFibreTypeWeights ()
 This is a lazy pre-implementation as fullmodels.muscle.Models always have fibre types and thus weights. More...
 
- Protected Member Functions inherited from fem.AFEMConfig
function  init ()
 % Parse the options More...
 
function [
velo_dir ,
velo_dir_val ] = 
setVelocityDirichletBC (velo_dir, velo_dir_val)
 Determines the dirichlet velocities. More...
 
function  addOption (name, default, varargin)
 

Constructor & Destructor Documentation

models.muscle.examples.ThinTendon.ThinTendon (   varargin)

Member Function Documentation

function models.muscle.examples.ThinTendon.configureModel (   m)

Definition at line 55 of file ThinTendon.m.

References movetime.

function P = models.muscle.examples.ThinTendon.getBoundaryPressure (   elemidx,
  faceidx 
)

Determines the neumann forces on the boundary.

The unit for the applied quantities is megaPascal [MPa]

In the default implementation there are no force boundary conditions.

Definition at line 103 of file ThinTendon.m.

References fem.AFEMConfig.Options.

function geo = models.muscle.examples.ThinTendon.getGeometry ( )
protectedvirtual

Returns the intended geometry for this model config.

The options will be set at call time, e.g. "GeoNr" is already set.

Implements fem.AFEMConfig.

Definition at line 135 of file ThinTendon.m.

References ylen.

function u = models.muscle.examples.ThinTendon.getInputs ( )

Returns the inputs \(u(t)\) of the model.

if neumann boundary conditions are used, this input is multiplied with the mu(3) parameter, which determines the maximum force that is applied. u(t) determines its temporal strength.

this.Model can be used to get access to the model this configuration is applied to.

Default:
{}
Return values
uThe cell array of input functions to use within this model.

Definition at line 78 of file ThinTendon.m.

References models.muscle.AMuscleConfig.getAlphaRamp(), movetime, and fem.AFEMConfig.Options.

Here is the call graph for this function:

function o = models.muscle.examples.ThinTendon.getOutputOfInterest ( double  t,
matrix< double y 
)
virtual

Implements models.muscle.AExperimentModelConfig.

Definition at line 122 of file ThinTendon.m.

References fem.AFEMConfig.Model, and t.

function tmr = models.muscle.examples.ThinTendon.getTendonMuscleRatio (   points)

Pure tendon material!

Definition at line 67 of file ThinTendon.m.

static function models.muscle.examples.ThinTendon.runExperiment ( )
static

Definition at line 185 of file ThinTendon.m.

function displ_dir = models.muscle.examples.ThinTendon.setPositionDirichletBC (   displ_dir)
protectedvirtual

% Dirichlet conditions: Position (fix one side)

Implements fem.AFEMConfig.

Definition at line 145 of file ThinTendon.m.

References fem.AFEMConfig.FEM.

function [ velo_dir , velo_dir_val ] = models.muscle.examples.ThinTendon.setVelocityDirichletBC (   velo_dir,
  velo_dir_val 
)
protected

% Dirichlet conditions: Position (fix one side)

Definition at line 159 of file ThinTendon.m.

References configs, models.muscle.AExperimentModelConfig.CurrentConfigNr, fem.AFEMConfig.FEM, and fem.AFEMConfig.Options.

static function models.muscle.examples.ThinTendon.test_ThinTendon ( )
static

Definition at line 177 of file ThinTendon.m.

Member Data Documentation

models.muscle.examples.ThinTendon.configs

Definition at line 39 of file ThinTendon.m.

Referenced by setVelocityDirichletBC(), and ThinTendon().

models.muscle.examples.ThinTendon.movetime = 80

Definition at line 37 of file ThinTendon.m.

Referenced by configureModel(), getInputs(), and ThinTendon().

models.muscle.examples.ThinTendon.ylen = 200

Definition at line 35 of file ThinTendon.m.

Referenced by getGeometry(), and ThinTendon().


The documentation for this class was generated from the following file: