KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
A simple configuration for Debug purposes. More...
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)
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... | |
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.
function models.muscle.examples.Debug.configureModel | ( | m | ) |
Definition at line 85 of file Debug.m.
References fem.AFEMConfig.FEM, models.muscle.AMuscleConfig.FibreTypeWeights, fem.AFEMConfig.Options, and models.muscle.AMuscleConfig.Pool.
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.
|
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.
|
protected |
Definition at line 284 of file Debug.m.
References fem.AFEMConfig.Options.
|
protectedvirtual |
Implements fem.AFEMConfig.
Definition at line 238 of file Debug.m.
References fem.AFEMConfig.FEM, and fem.AFEMConfig.Options.
|
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 |
|
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.