KerMor
0.9
Model order reduction for nonlinear dynamical systems and nonlinear approximation
|
AModelConfig. More...
AModelConfig.
Definition at line 18 of file AFEMConfig.m.
Public Member Functions | |
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 () |
Public Attributes | |
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 | 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) |
virtual function
displ_dir = | setPositionDirichletBC (displ_dir) |
virtual function geo = | getGeometry () |
Returns the intended geometry for this model config. More... | |
fem.AFEMConfig.AFEMConfig | ( | varargin | ) |
Definition at line 82 of file AFEMConfig.m.
References addOption().
|
protected |
Definition at line 219 of file AFEMConfig.m.
Referenced by models.muscle.tests.Activation.Activation(), AFEMConfig(), models.muscle.AMuscleConfig.AMuscleConfig(), models.muscle.examples.Debug.Debug(), models.muscle.examples.Long.Long(), models.muscle.examples.MuscleTendonMix.MuscleTendonMix(), models.muscle.tests.NeumannPressure.NeumannPressure(), models.muscle.examples.Shear.Shear(), models.muscle.examples.SubElemInhomogMaterial.SubElemInhomogMaterial(), and models.muscle.examples.ThinTendon.ThinTendon().
function fem.AFEMConfig.configureModel | ( | models.BaseFullModel | model | ) |
Overload this method to set model-specific quantities like simulation time etc.
model | A KerMor full model |
Definition at line 95 of file AFEMConfig.m.
References Model.
function fem.AFEMConfig.configureModelFinal | ( | ) |
Definition at line 107 of file AFEMConfig.m.
function [displ_dir , velo_dir , velo_dir_val ] = fem.AFEMConfig.getBC | ( | ) |
Definition at line 241 of file AFEMConfig.m.
References Geometry, setPositionDirichletBC(), and setVelocityDirichletBC().
function P = fem.AFEMConfig.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 127 of file AFEMConfig.m.
Referenced by getSpatialExternalForces().
|
protectedpure virtual |
Returns the intended geometry for this model config.
The options will be set at call time, e.g. "GeoNr" is already set.
Implemented in models.muscle.examples.MuscleTendonMix, models.muscle.examples.Debug, models.muscle.examples.ThinTendon, models.muscle.examples.LongForceBC, models.muscle.examples.CubePull, models.muscle.tests.NeumannPressure, models.muscle.examples.Shear, models.muscle.examples.Cube2ForceBC, models.muscle.examples.SubElemInhomogMaterial, models.muscle.examples.SprengerUnitCube8Elem, models.muscle.examples.EntireTA, models.muscle.examples.Belly, models.muscle.tests.Activation, models.muscle.examples.Shaker, models.muscle.examples.FibreDirections, models.muscle.examples.Cube12, and models.muscle.examples.Long.
Referenced by init().
function str = fem.AFEMConfig.getOptionStr | ( | withtag | ) |
Definition at line 145 of file AFEMConfig.m.
References handle.fieldnames, handle.fields, Utils.implode(), k, and Options.
Referenced by models.muscle.AExperimentModelConfig.getX0().
function [force , nodeidx , faceswithforce ] = fem.AFEMConfig.getSpatialExternalForces | ( | ) |
Definition at line 255 of file AFEMConfig.m.
References FEM, getBoundaryPressure(), NeumannCoordinateSystem, and t.
|
protected |
% Parse the options
Definition at line 181 of file AFEMConfig.m.
References FEM, Geometry, getGeometry(), and Options.
function fem.AFEMConfig.plotGeometryInfo | ( | allnode, | |
elemnr | |||
) |
Definition at line 166 of file AFEMConfig.m.
References FEM.
Overload this method to initialize model-specific quantities that are fixed for each simulation.
Called by override of computeTrajectory in muscle.Model
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 111 of file AFEMConfig.m.
|
protectedpure virtual |
Implemented in models.muscle.examples.Debug, models.muscle.examples.MuscleTendonMix, models.muscle.examples.ThinTendon, models.muscle.examples.LongForceBC, models.muscle.examples.SubElemInhomogMaterial, models.muscle.examples.CubePull, models.muscle.tests.NeumannPressure, models.muscle.examples.Shear, models.muscle.examples.Cube2ForceBC, models.muscle.examples.SprengerUnitCube8Elem, models.muscle.examples.EntireTA, models.muscle.tests.Activation, models.muscle.examples.FibreDirections, models.muscle.examples.Belly, models.muscle.examples.Shaker, models.muscle.examples.Long, and models.muscle.examples.Cube12.
Referenced by getBC().
|
protected |
Determines the dirichlet velocities.
The unit for the applied quantities is [mm/ms] = [m/s]
In the default implementation there are no velocity conditions.
Definition at line 202 of file AFEMConfig.m.
Referenced by getBC().
fem.AFEMConfig.FEM |
Definition at line 28 of file AFEMConfig.m.
Referenced by models.muscle.examples.Belly.Belly(), models.muscle.examples.Debug.configureModel(), models.muscle.AMuscleConfig.geta0(), models.muscle.AMuscleConfig.getFibreTypeWeights(), getSpatialExternalForces(), init(), plotGeometryInfo(), models.muscle.examples.Long.seta0(), models.muscle.examples.Cube12.setPositionDirichletBC(), models.muscle.examples.Long.setPositionDirichletBC(), models.muscle.examples.Shaker.setPositionDirichletBC(), models.muscle.examples.Belly.setPositionDirichletBC(), models.muscle.examples.FibreDirections.setPositionDirichletBC(), models.muscle.tests.Activation.setPositionDirichletBC(), models.muscle.examples.EntireTA.setPositionDirichletBC(), models.muscle.examples.SprengerUnitCube8Elem.setPositionDirichletBC(), models.muscle.examples.Cube2ForceBC.setPositionDirichletBC(), models.muscle.examples.Shear.setPositionDirichletBC(), models.muscle.tests.NeumannPressure.setPositionDirichletBC(), models.muscle.examples.CubePull.setPositionDirichletBC(), models.muscle.examples.SubElemInhomogMaterial.setPositionDirichletBC(), models.muscle.examples.LongForceBC.setPositionDirichletBC(), models.muscle.examples.ThinTendon.setPositionDirichletBC(), models.muscle.examples.MuscleTendonMix.setPositionDirichletBC(), models.muscle.examples.Debug.setPositionDirichletBC(), models.muscle.examples.Shaker.setVelocityDirichletBC(), models.muscle.examples.Shear.setVelocityDirichletBC(), models.muscle.examples.SubElemInhomogMaterial.setVelocityDirichletBC(), models.muscle.examples.ThinTendon.setVelocityDirichletBC(), and models.muscle.examples.Debug.setVelocityDirichletBC().
fem.AFEMConfig.Geometry |
Definition at line 31 of file AFEMConfig.m.
Referenced by models.muscle.AMuscleConfig.geta0(), getBC(), init(), and models.muscle.AMuscleConfig.init().
fem.AFEMConfig.Model |
Definition at line 34 of file AFEMConfig.m.
Referenced by models.muscle.AExperimentModelConfig.computeInitialConditions(), configureModel(), models.muscle.examples.CubePull.configureModelFinal(), models.muscle.AMuscleConfig.configureModelFinal(), models.muscle.examples.Debug.configureModelFinal(), and models.muscle.examples.ThinTendon.getOutputOfInterest().
fem.AFEMConfig.NeumannCoordinateSystem = "local" |
The coordinate system in which to interpret the applied pressure of neumann boundary conditions.
local
uses the normals on the faces as given in the reference configuration, i.e. the "true" normals.
global
uses the global coordinate system of the geometry, i.e. the master element. This can be used to apply forces coming from one fixed direction over a possibly noneven geometry surface.
Default: local
SetAccess = Protected, GetAccess = Public
Definition at line 39 of file AFEMConfig.m.
Referenced by getSpatialExternalForces().
fem.AFEMConfig.Options |
Definition at line 60 of file AFEMConfig.m.
Referenced by models.muscle.tests.Activation.Activation(), models.muscle.examples.Shear.configureModel(), models.muscle.examples.MuscleTendonMix.configureModel(), models.muscle.examples.Debug.configureModel(), models.muscle.examples.Debug.Debug(), models.muscle.examples.Shear.getBoundaryPressure(), models.muscle.examples.ThinTendon.getBoundaryPressure(), models.muscle.examples.Debug.getBoundaryPressure(), models.muscle.examples.MuscleTendonMix.getBoundaryPressure(), models.muscle.examples.Long.getGeometry(), models.muscle.tests.Activation.getGeometry(), models.muscle.examples.SubElemInhomogMaterial.getGeometry(), models.muscle.examples.Shear.getGeometry(), models.muscle.examples.Debug.getGeometry(), models.muscle.examples.MuscleTendonMix.getGeometry(), models.muscle.examples.Shear.getInputs(), models.muscle.examples.ThinTendon.getInputs(), models.muscle.examples.Debug.getInputs(), getOptionStr(), models.muscle.examples.SubElemInhomogMaterial.getTendonMuscleRatio(), models.muscle.examples.MuscleTendonMix.getTendonMuscleRatio(), init(), models.muscle.tests.NeumannPressure.seta0(), models.muscle.examples.SubElemInhomogMaterial.seta0(), models.muscle.examples.MuscleTendonMix.seta0(), models.muscle.examples.Debug.seta0(), models.muscle.AMuscleConfig.setForceLengthFun(), models.muscle.tests.Activation.setPositionDirichletBC(), models.muscle.examples.Shear.setPositionDirichletBC(), models.muscle.examples.SubElemInhomogMaterial.setPositionDirichletBC(), models.muscle.examples.MuscleTendonMix.setPositionDirichletBC(), models.muscle.examples.Debug.setPositionDirichletBC(), models.muscle.examples.Shear.setVelocityDirichletBC(), models.muscle.examples.SubElemInhomogMaterial.setVelocityDirichletBC(), models.muscle.examples.ThinTendon.setVelocityDirichletBC(), and models.muscle.examples.Debug.setVelocityDirichletBC().
fem.AFEMConfig.VelocityBCTimeFun |
Velocity conditions application function.
Definition at line 65 of file AFEMConfig.m.
Referenced by models.muscle.examples.Debug.Debug(), models.muscle.examples.Shaker.Shaker(), models.muscle.examples.SubElemInhomogMaterial.SubElemInhomogMaterial(), and models.muscle.examples.ThinTendon.ThinTendon().