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
SubMeshModelConfig.m
Go to the documentation of this file.
1 namespace models{
2 namespace muscle{
3 
4 
5 /* (Autoinserted by mtoc++)
6  * This source code has been filtered by the mtoc++ executable,
7  * which generates code that can be processed by the doxygen documentation tool.
8  *
9  * On the other hand, it can neither be interpreted by MATLAB, nor can it be compiled with a C++ compiler.
10  * Except for the comments, the function bodies of your M-file functions are untouched.
11  * Consequently, the FILTER_SOURCE_FILES doxygen switch (default in our Doxyfile.template) will produce
12  * attached source files that are highly readable by humans.
13  *
14  * Additionally, links in the doxygen generated documentation to the source code of functions and class members refer to
15  * the correct locations in the source code browser.
16  * However, the line numbers most likely do not correspond to the line numbers in the original MATLAB source files.
17  */
18 
20  :public .models.models.muscle.AMuscleConfig {
28  public:
29 
30 
31 
32  public:
33 
35 
36 
38 
40 
42 
43 
44  public:
45 
47  geo = full.FEM.Geometry;
48  [subgeo, nodeidx, faceidx] = geo.getSubMesh(elems, varargin[:]);
49  this = this@models.muscle.AMuscleConfig(subgeo);
50 
51  /* Store original config */
52  this.FullConfig= full;
53  /* Store index of elems/nodes in original geometry */
54  this.SubToFullNodeIdx= nodeidx;
55  this.SubToFullElemIdx= elems;
56  this.SubToFullFaceIdx= faceidx;
57 
58  /* Copy other quantities */
59  this.NeumannCoordinateSystem= full.NeumannCoordinateSystem;
60  this.a0CoordinateSystem= full.a0CoordinateSystem;
61  this.FibreTypeWeights= full.FibreTypeWeights;
62  this.Pool= full.Pool;
63  }
64 
65 
67  this.FullConfig.configureModel(model);
68  }
69 
70 
71  function prepareSimulation(colvec<double> mu,integer inputidx) {
72  this.FullConfig.prepareSimulation(mu, inputidx);
73  }
74 
75 
76  function P = getBoundaryPressure(elemidx,faceidx) {
77  fullelemidx = this.SubToFullElemIdx(elemidx);
78  fullfaceidx = this.SubToFullFaceIdx(faceidx);
79  P = this.FullConfig.getBoundaryPressure(fullelemidx, fullfaceidx);
80  }
81 
82 
83  function u = getInputs() {
84  u = this.FullConfig.getInputs;
85  }
86 
87 
88  function x0 = getX0(x0) {
89  x0 = this.FullConfig.getX0(x0);
90  }
99  protected:
100 
101  function anull = seta0(unused1) {
102  fullanull = this.FullConfig.geta0;
103  anull = fullanull(:,:,this.SubToFullElemIdx);
104  }
105 
106 
107  function [velo_dir , velo_dir_val ] = setVelocityDirichletBC(unused1,unused2) {
108  [~, velo_dir, velo_dir_val] = this.FullConfig.getBC;
109  velo_dir = velo_dir(:,this.SubToFullNodeIdx);
110  velo_dir_val = velo_dir_val(:,this.SubToFullNodeIdx);
111  }
112 
113 
114 
115  function displ_dir = setPositionDirichletBC(unused1) {
116  displ_dir = this.FullConfig.getBC;
117  displ_dir = displ_dir(:,this.SubToFullNodeIdx);
118  }
119 
120 
121 
122 };
123 }
124 }
125 
126 
127 
function configureModel(models.BaseFullModel model)
function [ velo_dir , velo_dir_val ] = setVelocityDirichletBC(unused1, unused2)
The base class for any KerMor detailed model.
Definition: BaseFullModel.m:18
function prepareSimulation(colvec< double > mu,integer inputidx)
function P = getBoundaryPressure(elemidx, faceidx)
An integer value.
SUBMESHMODELCONFIG A Model config providing the same settings as another model config but for a subme...
A variable number of input arguments.
SubMeshModelConfig(full, elems, varargin)
function displ_dir = setPositionDirichletBC(unused1)
function anull = seta0(unused1)