KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
Muscle - Tendon mixed geometries. More...
Muscle - Tendon mixed geometries.
Variant 2: A single element with the top 9 gauss points as tendons (tmr=1) and the lower part muscle (tmr=0). Fixed (xz only) on right side and pulled on left side over 4 seconds increasing to 4MPa
Variant 3: A 2x2x3 geometry on domain [0 2]x[0 6]x[0 2] with a nonlinear muscle/tendon function (use plotTMRFun to see). Fixed xz on right side (with xyz fix in center node) and pulled on left with 4MPa. The fibres are at 45deg throughout the muscle
Variant 4: The same geometry as Variant 4 with same muscle/tendon ratio, but this time completely fixed at both long ends. An activation ramp is applied over 4s from 0 to 1.
Variant 5: The same geometry as variant 2 (single cube) with same setup. No pulling force is applied but the muscle activated over 4s to 1
Variant 6/7: A belly-shaped setup is used.
Definition at line 20 of file MuscleTendonMix.m.
Public Member Functions | |
MuscleTendonMix (varargin) | |
function | configureModel (m) |
function u = | getInputs () |
Ramp up the external pressure. More... | |
function tmr = | getTendonMuscleRatio (points) |
Returns the [0,1] ratio between tendon and muscle at all specified points. More... | |
function tmr = | TMRFun (z,matrix< double > y) |
function | plotTMRFun () |
function P = | getBoundaryPressure (elemidx, faceidx) |
Determines the neumann forces on the boundary. More... | |
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_MuscleTendonMix (variant) |
Public Attributes | |
Variant | |
ylen | |
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 anull = | seta0 (anull) |
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.MuscleTendonMix.MuscleTendonMix | ( | varargin | ) |
Definition at line 65 of file MuscleTendonMix.m.
References fem.AFEMConfig.addOption(), and models.muscle.AMuscleConfig.init().
function models.muscle.examples.MuscleTendonMix.configureModel | ( | m | ) |
Definition at line 74 of file MuscleTendonMix.m.
References fem.AFEMConfig.Options.
function P = models.muscle.examples.MuscleTendonMix.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 185 of file MuscleTendonMix.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 215 of file MuscleTendonMix.m.
References fem.AFEMConfig.Options, and ylen.
function u = models.muscle.examples.MuscleTendonMix.getInputs | ( | ) |
Ramp up the external pressure.
Definition at line 115 of file MuscleTendonMix.m.
References models.muscle.AMuscleConfig.getAlphaRamp().
function tmr = models.muscle.examples.MuscleTendonMix.getTendonMuscleRatio | ( | points | ) |
Returns the [0,1] ratio between tendon and muscle at all specified points.
This method simply returns an all-zero ratio, meaning muscle only.
Definition at line 125 of file MuscleTendonMix.m.
References k, fem.AFEMConfig.Options, TMRFun(), and ylen.
function models.muscle.examples.MuscleTendonMix.plotTMRFun | ( | ) |
Definition at line 174 of file MuscleTendonMix.m.
References PlotManager.LeaveOpen, TMRFun(), and Y.
|
protected |
Definition at line 269 of file MuscleTendonMix.m.
References fem.AFEMConfig.Options.
|
protectedvirtual |
% Dirichlet conditions: Position (fix one side)
Implements fem.AFEMConfig.
Definition at line 237 of file MuscleTendonMix.m.
References fem.AFEMConfig.FEM, and fem.AFEMConfig.Options.
|
static |
Definition at line 283 of file MuscleTendonMix.m.
References k.
Definition at line 168 of file MuscleTendonMix.m.
Referenced by getTendonMuscleRatio(), and plotTMRFun().
models.muscle.examples.MuscleTendonMix.Variant |
Definition at line 55 of file MuscleTendonMix.m.
models.muscle.examples.MuscleTendonMix.ylen |
Definition at line 60 of file MuscleTendonMix.m.
Referenced by getGeometry(), and getTendonMuscleRatio().