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.Debug Class Reference

A simple configuration for Debug purposes. More...

Detailed Description

A simple configuration for Debug purposes.

Uses a single undeformed cube with triquadratic position shape functions and trilinear shape functions for pressure.

Version 1: No fibres, and one fixed side. Simple "does it simulate" test Version 2: Fibres, but no FibreTypes Version 3: Fibres with fibre type distribution and APExp evaluations

Versions 4-9 are related to one-element tests, where the element is stretched in x-direction over time and the forces at both the fixed and moved side are extracted. Tests 4-6 use material parameters from M. Sprenger and stretch to x=1.5[mm], and 7-9 use the built-in Material from T. Heidlauf and stretch to 1.4[mm]. Version 4/7: No fibres Version 5/8: Fibres in x-direction Version 6/9: Fibres in y-direction

Version 10: One side is fixed and a certain pressure is applied to the other side's face Version 11: A slightly rotated cube with one side fixed and velocity boundary conditions Version 12: A cube with fibres and additional cross-fibre direction markert pressure. (only activation used)

Definition at line 20 of file Debug.m.

Public Member Functions

 Debug (varargin)
 Quick fix for old-style DebugConfig call passing in the version number directly. More...
 
function  configureModel (m)
 
function  configureModelFinal ()
 
function P = getBoundaryPressure (elemidx, faceidx)
 Determines the neumann forces on the boundary. More...
 
function u = getInputs ()
 
- 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_DebugConfigV4_9 (version)
 Results: 4: Force at T=20, x-position (center node) 1.49844: -0.0476511N 5: Force at T=20, x-position (center node) 1.4986: -0.170556N 6: Force at T=20, x-position (center node) 1.49844: -0.0476511N 7: Force at T=50, x-position (center node) 1.39931: 0.00210816N with 4^3 gaussp: 5^3 gaussp: 8: Force at T=50, x-position (center node) 1.39056: 0.000453817N with 4^3 gaussp: 5^3 gaussp: 9: Force at T=50, x-position (center node) 1.39931: 0.00210815N with 4^3 gaussp: 5^3 gaussp: More...
 
static function  test_DebugConfigs (versions)
 

Protected Member Functions

function geo = getGeometry ()
 Single cube with same config as reference element. More...
 
function
displ_dir = 
setPositionDirichletBC (displ_dir)
 
function [
velo_dir ,
velo_dir_val ] = 
setVelocityDirichletBC (velo_dir, velo_dir_val)
 Determines the dirichlet velocities. 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)
 

Additional Inherited Members

- 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...
 

Constructor & Destructor Documentation

models.muscle.examples.Debug.Debug (   varargin)

Quick fix for old-style DebugConfig call passing in the version number directly.

Definition at line 57 of file Debug.m.

References fem.AFEMConfig.addOption(), models.muscle.AMuscleConfig.init(), fem.AFEMConfig.Options, and fem.AFEMConfig.VelocityBCTimeFun.

Here is the call graph for this function:

Member Function Documentation

function models.muscle.examples.Debug.configureModel (   m)
function models.muscle.examples.Debug.configureModelFinal ( )

Definition at line 174 of file Debug.m.

References fem.AFEMConfig.Model.

function P = models.muscle.examples.Debug.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 182 of file Debug.m.

References fem.AFEMConfig.Options.

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

Single cube with same config as reference element.

Implements fem.AFEMConfig.

Definition at line 214 of file Debug.m.

References fem.AFEMConfig.Options.

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

Definition at line 203 of file Debug.m.

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

Here is the call graph for this function:

function anull = models.muscle.examples.Debug.seta0 (   anull)
protected

Definition at line 284 of file Debug.m.

References fem.AFEMConfig.Options.

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

Implements fem.AFEMConfig.

Definition at line 238 of file Debug.m.

References fem.AFEMConfig.FEM, and fem.AFEMConfig.Options.

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

Determines the dirichlet velocities.

The unit for the applied quantities is [mm/ms] = [m/s]

Definition at line 254 of file Debug.m.

References fem.AFEMConfig.FEM, and fem.AFEMConfig.Options.

static function models.muscle.examples.Debug.test_DebugConfigs (   versions)
static

Definition at line 343 of file Debug.m.

References k, and t.

function models.muscle.examples.Debug.test_DebugConfigV4_9 (   version)
static

Results: 4: Force at T=20, x-position (center node) 1.49844: -0.0476511N 5: Force at T=20, x-position (center node) 1.4986: -0.170556N 6: Force at T=20, x-position (center node) 1.49844: -0.0476511N 7: Force at T=50, x-position (center node) 1.39931: 0.00210816N with 4^3 gaussp: 5^3 gaussp: 8: Force at T=50, x-position (center node) 1.39056: 0.000453817N with 4^3 gaussp: 5^3 gaussp: 9: Force at T=50, x-position (center node) 1.39931: 0.00210815N with 4^3 gaussp: 5^3 gaussp:

Definition at line 301 of file Debug.m.

References t.


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