KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
Thin tendon experiment for parameter fitting of tendon params. More...
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) |
models.muscle.examples.ThinTendon.ThinTendon | ( | varargin | ) |
Definition at line 44 of file ThinTendon.m.
References fem.AFEMConfig.addOption(), configs, models.muscle.AExperimentModelConfig.init(), movetime, models.muscle.AExperimentModelConfig.NumConfigurations, models.muscle.AExperimentModelConfig.NumOutputs, fem.AFEMConfig.VelocityBCTimeFun, and ylen.
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.
|
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.
u | The 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.
|
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 |
Definition at line 185 of file ThinTendon.m.
|
protectedvirtual |
% Dirichlet conditions: Position (fix one side)
Implements fem.AFEMConfig.
Definition at line 145 of file ThinTendon.m.
References fem.AFEMConfig.FEM.
|
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 |
Definition at line 177 of file ThinTendon.m.
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().