38 varargin(end+1:end+2) = [
" FL ",2];
39 this =
this@models.muscle.AMuscleConfig(varargin[:]);
57 mu(6) = 47.270456264135881;
61 mu(9) = 3.6463903963e-2;
64 mu(10) = 3.859558659683e-3;
82 s = load(fullfile(fileparts(which(mfilename)),
" Sprenger8Elem.mat "));
88 geo = this.
FEM.Geometry;
89 displ_dir(:,geo.Elements([1 3 5 7],geo.MasterFaces(1,:))) =
true;
90 displ_dir(:,geo.Elements([2 4 6 8],geo.MasterFaces(2,:))) =
true;
114 c = models.muscle.examples.SprengerUnitCube8Elem;
116 dfpos = m.getPositionDirichletBCFaceIdx([1 3 5 7],1);
117 dfpos2 = m.getPositionDirichletBCFaceIdx([2 4 6 8],2);
123 forces = zeros(2,length(alphas));
124 pi =
ProcessIndicator(
" Running tests for %d alpha values ",length(alphas),
false,length(alphas));
126 for k = 1:length(alphas)
128 c.ActivationRampMax= alphas(
k);
129 [
t,y] = m.simulate(mu);
130 df = m.getResidualForces(
t,y);
131 forces(1,
k) = sum(df(dfpos,end));
132 forces(2,
k) = sum(df(dfpos2,end));
136 disp(
" Units are mN (milliNewton) ");
function displ_dir = setPositionDirichletBC(displ_dir)
% Dirichlet conditions: Position (fix one side)
Different tests for comparison between CMISS and KerMor.
SprengerUnitCube8Elem(varargin)
A variable number of input arguments.
static function test_SprengerUnitCube8Elem_ForceComparison()
.1 .2 .3 .4 14.9477 28.5314 41.0593 52.7679
disp
Handle object disp method which is called by the display method. See the MATLAB disp function...
function configureModel(m)
function anull = seta0(anull)
Direction is xz.
function geo = getGeometry()
Returns the intended geometry for this model config.
ProcessIndicator: A simple class that indicates process either via waitbar or text output...