KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
MuscleFibreSystem: The global dynamical system used within the MuscleFibreModel. More...
MuscleFibreSystem: The global dynamical system used within the MuscleFibreModel.
The system u' + K(u) is transformed into the first order system v' + K(u), u' = v
Public Member Functions | |
System (models.BaseFullModel model) | |
Call superclass constructor. More... | |
function rsys = | buildReducedSystem (models.ReducedModel rmodel) |
Overrides the default buildReducedModel method in order to temporarily set the A component used in projection. More... | |
function | configUpdated () |
function | prepareSimulation (colvec< double > mu,integer inputidx) |
Check for viscosity setting. More... | |
function pm = | plotDiff (double t, uvw1, uvw2, fac, varargin) |
function uvwall = | includeDirichletValues (double t, uvw) |
% Re-add the dirichlet nodes Efficient for single vector More... | |
Public Member Functions inherited from models.BaseSecondOrderSystem | |
BaseSecondOrderSystem (models.BaseFullModel model) | |
Creates a new base dynamical system class instance. More... | |
function rsys = | getReducedSystemInstance (models.ReducedModel rmodel) |
Creates a reduced system given the current system and the reduced model. More... | |
function | prepareSimulation (colvec< double > mu,integer inputidx) |
function
dx_xdot_c = | ODEFun (double t, x_xdot_c) |
The state space vector is composed of x: Original state space of second order model xdot: Substituted variable x'=y for first order transformation c: Algebraic constraint variables. More... | |
function J = | getJacobian (double t, x_xdot_c) |
Computes the global jacobian of the current RHS system. More... | |
function | updateSparsityPattern () |
The state space vector (NumTotalDofs) is composed of x: Original state space of second order model, NumStateDofs xdot: Substituted variable x'=y for first order transformation #NumDerivativeDoFs c: Algebraic constraint variables NumAlgebraicDofs. More... | |
function
x_xdot_c0 = | getX0 (colvec< double > mu) |
Compiles the global x0 vector of the global dof vector. More... | |
function M = | getMassMatrix () |
Public Member Functions inherited from models.BaseFirstOrderSystem | |
BaseFirstOrderSystem (models.BaseFullModel model) | |
Creates a new base dynamical system class instance. More... | |
function rsys = | getReducedSystemInstance (models.ReducedModel rmodel) |
Creates a reduced system given the current system and the reduced model. More... | |
function | setConfig (mu, inputidx) |
Sets the dynamical system's configuration. More... | |
function | prepareSimulation (colvec< double > mu,integer inputidx) |
function dx = | ODEFun (double t,colvec< double > x) |
Debug variant for single evaluation. Commented in function above. More... | |
function y = | computeOutput (matrix< double > x,colvec< double > mu) |
Computes the output \(y(t) = C(t,\mu)Sx(t)\) from a given state result vector \(x(t)\), using the system's time and current mu (if given). More... | |
function | updateSparsityPattern () |
function J = | getJacobian (double t, xc) |
Computes the global jacobian of the current system. More... | |
function matrix < double > x0 = | getX0 (rowvec< double > mu) |
Gets the initial state variable at \(t=0\). More... | |
function M = | getMassMatrix () |
For first order systems, only algebraic constraints need to be catered for. More... | |
function ModelParam p = | addParam (char name, default, varargin) |
Adds a parameter with the given values to the parameter collection of the current dynamical system. More... | |
function pidx = | getParamIndexFromName (paramname) |
Gets the index within the parameter vector \(\mu\) for a given parameter name. More... | |
function pt = | getParamInfo (colvec< double > mu) |
function | plotInputs (pm) |
Public Member Functions inherited from KerMorObject | |
KerMorObject () | |
Constructs a new KerMor object. More... | |
function | display () |
disp(object2str(this)); More... | |
function bool = | eq (B) |
Checks equality of two KerMor objects. More... | |
function bool = | ne (B) |
Checks if two KerMorObjects are different. More... | |
function cn = | getClassName () |
Returns the simple class name of this object without packages. More... | |
Public Member Functions inherited from DPCMObject | |
DPCMObject () | |
Creates a new DPCM object. More... | |
DPCMObject () | |
Static Public Member Functions | |
static function res = | test_UnassembledEvaluation () |
Public Attributes | |
idx_u_elems_local | |
The global index of node x,y,z positions within uvw. More... | |
idx_p_elems_local | |
The global index of node pressures within uvw. More... | |
idx_p_to_u_nodes | |
This contains the indices of the nodes tracking pressure (linear / 8-corner elements) within the quadratic global node numbering. More... | |
val_uv_bc_glob | |
The overall values of dirichlet conditions. More... | |
idx_uv_bc_glob | |
The positions of the dirichlet values within the global node/xyz state space vector. More... | |
bool_u_bc_nodes | |
% Position dirichlet fields Boundary conditions: 3 times numnodes logical matrix telling which degree of freedom of which (position) node is fixed n1 n2 n3 ... x | 1 0 0 | y | 1 1 0 ... | z | 1 0 0 | More... | |
idx_u_bc_glob | |
idx_u_bc_local | |
val_u_bc | |
[mm] More... | |
bool_expl_v_bc_nodes | |
% Velocity dirichlet fields This set comprises the explicitly/directly set velocity boundary conditions More... | |
idx_expl_v_bc_glob | |
idx_expl_v_bc_local | |
val_expl_v_bc | |
[mm/ms] More... | |
idx_v_bc_glob | |
This set comprises both the explicit velocity conditions and the implicit zero velocity conditions that apply for each position dirichlet condition. More... | |
idx_v_bc_local | |
val_v_bc | |
[mm/ms] More... | |
idx_v_bc_u_dof | |
Positions of velocity-bc affected DoFs in the u dofs. More... | |
idx_neumann_bc_glob | |
% Neumann fields [N] More... | |
idx_neumann_bc_dof | |
[N] More... | |
bc_neum_forces_val | |
FacesWithForce | |
idx_uv_dof_glob | |
% Convenience variables A helper array containing the indices of the actual dofs in the global indexing. More... | |
idx_u_dof_glob | |
The indices of u,v,p components in the effective dof vector. More... | |
idx_v_dof_glob | |
num_v_bc | |
idx_p_dof_glob | |
num_uvp_glob | |
Total number of discrete field points including dirichlet values. More... | |
Minv | |
HasFibres = false | |
% Fibre stuff More... | |
HasFibreTypes = false | |
HasMotoPool = false | |
HasForceArgument = false | |
Property only useful when fullmodel.System is used.. comes due to use of inheritance. Better solutions could be thought of, but this is to get it going! More... | |
a0 | |
a0oa0 | |
dNa0 | |
a0Base | |
HasTendons = false | |
% Tendon stuff More... | |
MuscleTendonParamMapFun = @("v,mi,ma)10.^(log10(mi) + v.*(log10(ma)-log10(mi))") | |
The function used to map between muscle (mi) and tendon (ma) parameter over [0,1] (v) More... | |
MuscleTendonRatioGP = "[]" | |
MuscleTendonRatioNodes = "[]" | |
MuscleTendonParamc10 = "[]" | |
Fields to contain c10/c01 values for mooney-rivlin law (muscle+tendon) More... | |
MuscleTendonParamc01 = "[]" | |
MooneyRivlinICConst = "[]" | |
Stress free initial condition constant for mooney-rivlin law This was "classically" done by setting the pressure to this constant, however, if inhomogeneous material constants are present, the linear pressure model cannot resolve those values and hence any initial condition would be inconsistent. Now, the pressure is initialized as zero and the MooneyRivlinICConst takes care of consistent initial conditions. More... | |
a0oa0n1 | |
% Cross-fibre stiffness stuff normals to a0 More... | |
a0oa0n2 | |
logical | UseDirectMassInversion |
Flag to invert the velocity mass matrix before simulations. More... | |
logaical | UseCrossFibreStiffness |
Flag to indicate if this system should use stiffness terms (Markert) for cross-fibre directions. More... | |
Plotter | |
Public Attributes inherited from models.BaseSecondOrderSystem | |
dscomponents.LinearCoreFun | D |
The damping matrix of the second order system. More... | |
NumDerivativeDofs | |
DerivativeDirichletPosInStateDofs | |
A logical column vector containing true at the locations of explicit derivative dirichlet conditions. The vector must have the same size as NumStateDofs. More... | |
Public Attributes inherited from models.BaseFirstOrderSystem | |
dscomponents.ACoreFun | f |
The core f function from the dynamical system. More... | |
dscomponents.LinearCoreFun | A = "[]" |
Represents a linear or affine-linear component of the dynamical system. More... | |
dscomponents.AInputConv | B = "[]" |
The input conversion. More... | |
dscomponents.LinearOutputConv | C |
The output conversion Defaults to an LinearOutputConv instance using a 1-matrix, which just forwards the state variables and supports projection. More... | |
dscomponents.AInitialValue | x0 = "[]" |
Function handle to initial state evaluation. More... | |
dscomponents.AMassMatrix | M = "[]" |
The system's mass matrix. More... | |
dscomponents.ACoreFun | g = "[]" |
The system's algebraic constraints function. More... | |
Inputs = {""} | |
The system's possible input functions. A cell array of function handles, each taking a time argument t. More... | |
Params = data.ModelParam.empty | |
The parameters usable for the dynamical system. More... | |
integer | DependentParamIndices = -1 |
Indices of the parameter vector that are effectively used in the system's core function. More... | |
double | MaxTimestep = "[]" |
The maximum timestep allowed for any ODE solvers. More... | |
colvec | StateScaling = 1 |
The scaling for the state vectors. More... | |
SparsityPattern | |
The global sparsity pattern for the entire RHS. More... | |
mu = "[]" | |
The current parameter \(\mu\) for simulations, [] is none used. More... | |
u = "[]" | |
The current input function \(u(t)\) as function handle, [] if none used. More... | |
inputidx = "[]" | |
The current inputindex of the function \(u(t)\). More... | |
NumStateDofs = "[]" | |
NumAlgebraicDofs = 0 | |
NumTotalDofs = "[]" | |
InputCount | |
The number of inputs available. More... | |
ParamCount | |
The number of the system's parameters. More... | |
Model | |
The Model this System is attached to. More... | |
Public Attributes inherited from DPCMObject | |
WorkspaceVariableName = "" | |
The workspace variable name of this class. Optional. More... | |
ID = "[]" | |
An ID that allows to uniquely identify this DPCMObject (at least within the current MatLab session/context). More... | |
PropertiesChanged = "[]" | |
The Dictionary containing all the property settings as key/value pairs. 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 | updateDimensions (mc) |
function x0 = | assembleX0 () |
Constant initial values as current node positions. More... | |
function Baff = | assembleB () |
function MM = | assembleMassMatrix () |
% Compile Mass Matrix More... | |
function Daff = | assembleDampingMatrix () |
% Compile Damping/Viscosity Matrix More... | |
function | computeDirichletBC () |
function val = | getDerivativeDirichletValues (double t) |
Computes the derivative dirichlet values dependent on the current time. More... | |
function | inita0 () |
function | initMuscleTendonRatios () |
Protected Member Functions inherited from models.BaseSecondOrderSystem | |
function | updateDimensions () |
function | validateModel (models.BaseFullModel model) |
Validates if the model to be set is a valid BaseModel at least. Extracting this function out of the setter enables subclasses to further restrict the objects that may be passed, as is being done in models.ReducedSystem, for example. More... | |
function val = | getDerivativeInitialValues (unused1) |
Computes the derivative initial values. More... | |
Protected Member Functions inherited from models.BaseFirstOrderSystem | |
function | updateDimensions () |
function ad_ic = | getAlgebraicDofsInitialConditions () |
The default is to return all zeros. More... | |
function | validateModel (models.BaseFullModel model) |
Validates if the model to be set is a valid BaseModel at least. Extracting this function out of the setter enables subclasses to further restrict the objects that may be passed, as is being done in models.ReducedSystem, for example. More... | |
Protected Member Functions inherited from KerMorObject | |
function | checkType (obj, type) |
Object typechecker. More... | |
Protected Member Functions inherited from DPCMObject | |
function | registerProps (varargin) |
Call this method at any class that defines DPCM observed properties. More... | |
function | registerProps (varargin) |
Additional Inherited Members | |
Static Protected Member Functions inherited from DPCMObject | |
static function obj = | loadobj (obj, from) |
Re-register any registered change listeners! More... | |
static function obj = | loadobj (obj, from) |
Protected Attributes inherited from models.BaseSecondOrderSystem | |
JDX | |
Pre-Computed pattern for dx-part. More... | |
models.muscle.System.System | ( | models.BaseFullModel | model | ) |
Call superclass constructor.
model | A KerMor full model |
Definition at line 439 of file System.m.
References models.BaseFirstOrderSystem.addParam(), models.BaseFirstOrderSystem.f, and models.BaseFirstOrderSystem.g.
Referenced by models.muscle.Model.Model().
|
protected |
Definition at line 838 of file System.m.
References models.BaseFirstOrderSystem.B, bc_neum_forces_val, models.muscle.Model.Config, FacesWithForce, idx_neumann_bc_dof, idx_neumann_bc_glob, idx_v_bc_local, and dscomponents.AInputConv.TimeDependent.
Referenced by configUpdated().
|
protected |
% Compile Damping/Viscosity Matrix
Definition at line 887 of file System.m.
References models.muscle.Model.Config, models.BaseSecondOrderSystem.D, models.BaseFirstOrderSystem.g, I, idx_v_bc_local, and t.
Referenced by configUpdated().
|
protected |
% Compile Mass Matrix
Definition at line 857 of file System.m.
References models.muscle.Model.Config, models.BaseFirstOrderSystem.g, I, idx_v_bc_local, Minv, models.muscle.Model.MuscleDensity, t, and UseDirectMassInversion.
Referenced by configUpdated().
|
protected |
Constant initial values as current node positions.
Definition at line 816 of file System.m.
References models.muscle.Model.Config, idx_u_bc_local, and models.BaseFirstOrderSystem.x0.
Referenced by configUpdated().
function rsys = models.muscle.System.buildReducedSystem | ( | models.ReducedModel | rmodel | ) |
Overrides the default buildReducedModel method in order to temporarily set the A component used in projection.
(So far the extra efficiency of "no A" for mu(1) == 0 is neglected in any reduced model)
rmodel | A KerMor reduced model |
Definition at line 567 of file System.m.
References models.BaseSecondOrderSystem.D.
|
protected |
Definition at line 914 of file System.m.
References bool_expl_v_bc_nodes, bool_u_bc_nodes, models.muscle.Model.Config, models.BaseSecondOrderSystem.DerivativeDirichletPosInStateDofs, idx_expl_v_bc_glob, idx_expl_v_bc_local, idx_u_bc_glob, idx_u_bc_local, idx_uv_bc_glob, idx_v_bc_glob, idx_v_bc_local, num_v_bc, handle.sort, val_expl_v_bc, val_u_bc, val_uv_bc_glob, and val_v_bc.
Referenced by configUpdated().
function models.muscle.System.configUpdated | ( | ) |
Definition at line 585 of file System.m.
References assembleB(), assembleDampingMatrix(), assembleMassMatrix(), assembleX0(), models.BaseFirstOrderSystem.B, computeDirichletBC(), models.muscle.Model.Config, models.BaseFirstOrderSystem.f, models.BaseFirstOrderSystem.g, HasFibres, HasFibreTypes, HasForceArgument, HasMotoPool, idx_p_elems_local, idx_p_to_u_nodes, idx_u_elems_local, inita0(), initMuscleTendonRatios(), models.BaseFirstOrderSystem.Inputs, models.BaseFirstOrderSystem.M, KerMorObject.ne(), models.BaseSecondOrderSystem.updateDimensions(), models.BaseSecondOrderSystem.updateSparsityPattern(), and models.BaseFirstOrderSystem.x0.
Referenced by models.muscle.Model.setConfig().
|
protectedvirtual |
Computes the derivative dirichlet values dependent on the current time.
t | The current time(s) \(t \in [0, T]\) |
Implements models.BaseSecondOrderSystem.
Definition at line 999 of file System.m.
References val_expl_v_bc.
function uvwall = models.muscle.System.includeDirichletValues | ( | double | t, |
uvw | |||
) |
% Re-add the dirichlet nodes Efficient for single vector
t | The current time(s) \(t \in [0, T]\) |
Definition at line 710 of file System.m.
References idx_uv_bc_glob, idx_uv_dof_glob, idx_v_bc_glob, num_uvp_glob, and val_uv_bc_glob.
|
protected |
Definition at line 1021 of file System.m.
References a0, a0Base, a0oa0, a0oa0n1, a0oa0n2, models.muscle.Model.Config, dNa0, HasFibres, t, and models.BaseFirstOrderSystem.u.
Referenced by configUpdated().
|
protected |
Definition at line 1100 of file System.m.
References models.muscle.Model.Config, models.BaseFirstOrderSystem.g, HasTendons, MuscleTendonRatioGP, and MuscleTendonRatioNodes.
Referenced by configUpdated().
function pm = models.muscle.System.plotDiff | ( | double | t, |
uvw1, | |||
uvw2, | |||
fac, | |||
varargin | |||
) |
Definition at line 700 of file System.m.
References dscomponents.AInitialValue.evaluate(), and models.BaseFirstOrderSystem.x0.
Check for viscosity setting.
mu | The currently used parameter \(\vmu\). Set to \([]\) if not used. |
inputidx | The index \(i\) of the currently used input function \(u_i(t)\). Set to \([]\) if not used. |
Definition at line 664 of file System.m.
References models.muscle.Model.Config, models.BaseSecondOrderSystem.D, MooneyRivlinICConst, models.BaseFirstOrderSystem.mu, MuscleTendonParamc01, and MuscleTendonParamc10.
Referenced by models.muscle.Model.Model(), and models.muscle.Model.plotGeometrySetup().
|
static |
Definition at line 1148 of file System.m.
References dscomponents.ACoreFun.evaluate(), models.BaseFirstOrderSystem.g, Norm.L2(), and t.
|
protected |
Definition at line 792 of file System.m.
References idx_expl_v_bc_local, idx_u_bc_glob, idx_uv_bc_glob, idx_uv_dof_glob, num_uvp_glob, models.BaseFirstOrderSystem.NumAlgebraicDofs, models.BaseSecondOrderSystem.NumDerivativeDofs, models.BaseFirstOrderSystem.NumStateDofs, and models.BaseSecondOrderSystem.updateDimensions().
models.muscle.System.a0oa0n1 |
% Cross-fibre stiffness stuff normals to a0
SetAccess = Private, GetAccess = Public
Definition at line 357 of file System.m.
Referenced by inita0().
models.muscle.System.bc_neum_forces_val |
Definition at line 208 of file System.m.
Referenced by assembleB().
models.muscle.System.bool_expl_v_bc_nodes |
% Velocity dirichlet fields This set comprises the explicitly/directly set velocity boundary conditions
SetAccess = Private, GetAccess = Public
Definition at line 128 of file System.m.
Referenced by computeDirichletBC(), and models.muscle.Model.getVelocityDirichletBCFaceIdx().
models.muscle.System.bool_u_bc_nodes |
% Position dirichlet fields Boundary conditions: 3 times numnodes logical matrix telling which degree of freedom of which (position) node is fixed n1 n2 n3 ... x | 1 0 0 | y | 1 1 0 ... | z | 1 0 0 |
SetAccess = Private, GetAccess = Public
Definition at line 98 of file System.m.
Referenced by computeDirichletBC(), models.muscle.Model.getPositionDirichletBCFaceIdx(), and models.muscle.Model.getVelocityDirichletBCFaceIdx().
models.muscle.System.FacesWithForce |
Definition at line 210 of file System.m.
Referenced by assembleB().
models.muscle.System.HasFibres = false |
% Fibre stuff
SetAccess = Private, GetAccess = Public
Definition at line 259 of file System.m.
Referenced by configUpdated(), and inita0().
models.muscle.System.HasFibreTypes = false |
Definition at line 270 of file System.m.
Referenced by configUpdated().
models.muscle.System.HasForceArgument = false |
Property only useful when fullmodel.System is used.. comes due to use of inheritance. Better solutions could be thought of, but this is to get it going!
SetAccess = Private, GetAccess = Public
Definition at line 274 of file System.m.
Referenced by configUpdated().
models.muscle.System.HasMotoPool = false |
Definition at line 272 of file System.m.
Referenced by configUpdated().
models.muscle.System.HasTendons = false |
% Tendon stuff
SetAccess = Private, GetAccess = Public
Definition at line 296 of file System.m.
Referenced by initMuscleTendonRatios().
models.muscle.System.idx_expl_v_bc_glob |
Definition at line 140 of file System.m.
Referenced by computeDirichletBC().
models.muscle.System.idx_expl_v_bc_local |
Definition at line 142 of file System.m.
Referenced by computeDirichletBC(), and updateDimensions().
models.muscle.System.idx_neumann_bc_dof |
[N]
SetAccess = Private, GetAccess = Public
Definition at line 199 of file System.m.
Referenced by assembleB().
models.muscle.System.idx_neumann_bc_glob |
% Neumann fields [N]
SetAccess = Private, GetAccess = Public
Definition at line 189 of file System.m.
Referenced by assembleB().
models.muscle.System.idx_p_elems_local |
The global index of node pressures within uvw.
Definition at line 45 of file System.m.
Referenced by configUpdated().
models.muscle.System.idx_p_to_u_nodes |
This contains the indices of the nodes tracking pressure (linear / 8-corner elements) within the quadratic global node numbering.
Used for plotting only so far.
SetAccess = Private, GetAccess = Public
Definition at line 55 of file System.m.
Referenced by configUpdated().
models.muscle.System.idx_u_bc_glob |
Definition at line 114 of file System.m.
Referenced by computeDirichletBC(), models.muscle.Model.getPositionDirichletBCFaceIdx(), and updateDimensions().
models.muscle.System.idx_u_bc_local |
Definition at line 116 of file System.m.
Referenced by assembleX0(), and computeDirichletBC().
models.muscle.System.idx_u_dof_glob |
The indices of u,v,p components in the effective dof vector.
SetAccess = Private, GetAccess = Public
models.muscle.System.idx_u_elems_local |
The global index of node x,y,z positions within uvw.
The velocities are indentically indexed but 3*NumNodes later.
Definition at line 35 of file System.m.
Referenced by configUpdated().
models.muscle.System.idx_uv_bc_glob |
The positions of the dirichlet values within the global node/xyz state space vector.
Collected from idx_u_bc_glob, idx_v_bc_glob
SetAccess = Private, GetAccess = Public
Definition at line 84 of file System.m.
Referenced by computeDirichletBC(), includeDirichletValues(), and updateDimensions().
models.muscle.System.idx_uv_dof_glob |
% Convenience variables A helper array containing the indices of the actual dofs in the global indexing.
Used to join dofs with dirichlet values
SetAccess = Private, GetAccess = Public
Definition at line 213 of file System.m.
Referenced by includeDirichletValues(), and updateDimensions().
models.muscle.System.idx_v_bc_glob |
This set comprises both the explicit velocity conditions and the implicit zero velocity conditions that apply for each position dirichlet condition.
SetAccess = Private, GetAccess = Public
Definition at line 154 of file System.m.
Referenced by computeDirichletBC(), models.muscle.Model.getVelocityDirichletBCFaceIdx(), and includeDirichletValues().
models.muscle.System.idx_v_bc_local |
Definition at line 166 of file System.m.
Referenced by assembleB(), assembleDampingMatrix(), assembleMassMatrix(), and computeDirichletBC().
models.muscle.System.idx_v_bc_u_dof |
Positions of velocity-bc affected DoFs in the u dofs.
SetAccess = Private, GetAccess = Public
models.muscle.System.Minv |
Definition at line 256 of file System.m.
Referenced by assembleMassMatrix().
models.muscle.System.MooneyRivlinICConst = "[]" |
Stress free initial condition constant for mooney-rivlin law This was "classically" done by setting the pressure to this constant, however, if inhomogeneous material constants are present, the linear pressure model cannot resolve those values and hence any initial condition would be inconsistent. Now, the pressure is initialized as zero and the MooneyRivlinICConst takes care of consistent initial conditions.
SetAccess = Private, GetAccess = Public
Definition at line 338 of file System.m.
Referenced by prepareSimulation().
models.muscle.System.MuscleTendonParamc01 = "[]" |
Definition at line 336 of file System.m.
Referenced by prepareSimulation().
models.muscle.System.MuscleTendonParamc10 = "[]" |
Fields to contain c10/c01 values for mooney-rivlin law (muscle+tendon)
SetAccess = Private, GetAccess = Public
Definition at line 324 of file System.m.
Referenced by prepareSimulation().
models.muscle.System.MuscleTendonParamMapFun = @("v,mi,ma)10.^(log10(mi) + v.*(log10(ma)-log10(mi))") |
The function used to map between muscle (mi) and tendon (ma) parameter over [0,1] (v)
SetAccess = Private, GetAccess = Public
models.muscle.System.MuscleTendonRatioGP = "[]" |
Definition at line 319 of file System.m.
Referenced by initMuscleTendonRatios().
models.muscle.System.MuscleTendonRatioNodes = "[]" |
Definition at line 321 of file System.m.
Referenced by initMuscleTendonRatios().
models.muscle.System.num_uvp_glob |
Total number of discrete field points including dirichlet values.
SetAccess = Private, GetAccess = Public
Definition at line 245 of file System.m.
Referenced by includeDirichletValues(), and updateDimensions().
models.muscle.System.num_v_bc |
Definition at line 240 of file System.m.
Referenced by computeDirichletBC().
models.muscle.System.UseCrossFibreStiffness |
Flag to indicate if this system should use stiffness terms (Markert) for cross-fibre directions.
Default: false
Dependent
set to true. models.muscle.System.UseDirectMassInversion |
Flag to invert the velocity mass matrix before simulations.
If this is set to true, the mass matrix for the velocity part will be assembled, the boundary condition rows removed and the inverse of the remaining matrix will be pre-computed. This inverse will be pre-multiplied to the velocity-dofs inside the models.muscle.Dynamics evaluate and getStateJacobian functions.
This in general results in higher simulation speed but it remains open to see how well reduced modeling will work with that scheme.
Default: false
Dependent
set to true. Definition at line 373 of file System.m.
Referenced by assembleMassMatrix().
models.muscle.System.val_expl_v_bc |
[mm/ms]
SetAccess = Private, GetAccess = Public
Definition at line 144 of file System.m.
Referenced by computeDirichletBC(), and getDerivativeDirichletValues().
models.muscle.System.val_u_bc |
[mm]
SetAccess = Private, GetAccess = Public
Definition at line 118 of file System.m.
Referenced by computeDirichletBC(), and models.muscle.Model.getVelocityDirichletBCFaceIdx().
models.muscle.System.val_uv_bc_glob |
The overall values of dirichlet conditions.
To specify in [mm] for position and [mm/ms] for velocity
Collected from val_u_bc, val_v_bc
SetAccess = Private, GetAccess = Public
Definition at line 69 of file System.m.
Referenced by computeDirichletBC(), and includeDirichletValues().
models.muscle.System.val_v_bc |
[mm/ms]
SetAccess = Private, GetAccess = Public
Definition at line 168 of file System.m.
Referenced by computeDirichletBC().