87 this =
this@models.BaseFirstOrderSystem(model);
101 rsys = models.ReducedSecondOrderSystem(rmodel);
127 function dx_xdot_c =
ODEFun(
double t,x_xdot_c) {
128 dx_xdot_c = zeros(size(x_xdot_c));
132 x = x_xdot_c(1:num_x_dof);
133 xdot = x_xdot_c(num_x_dof+(1:num_xdot_dof));
138 if num_x_dof ~= num_xdot_dof
140 dx = zeros(num_x_dof,1);
150 dx_xdot_c(1:num_x_dof) = dx;
153 dx_xdot_c(1:num_x_dof) = xdot;
157 dy = zeros(num_xdot_dof,1);
167 if ~isempty(this.
B) && ~isempty(this.
inputidx)
171 dx_xdot_c(num_x_dof+(1:num_xdot_dof)) = dy;
174 dx_xdot_c(num_x_dof+num_xdot_dof+1:end) = this.
g.
evaluate(x_xdot_c,t);
198 xdot = x_xdot_c(xdotpos);
200 J(xpos,:) = this.
JDX;
232 this.
JDX= [sparse(sd,sd)
I sparse(sd,ad)];
233 JP(1:sd,:) = this.
JDX;
261 x_c0 =
getX0@models.BaseFirstOrderSystem(
this, mu);
267 x_xdot_c0(1:num_x_dof) = x_c0(1:num_x_dof);
273 x_xdot_c0(num_x_dof+num_xdot_dof+1:end) = x_c0(num_x_dof+1:end);
289 if ~isa(
M,
" dscomponents.ConstMassMatrix ")
290 error(
" Non-constant mass matrices not yet implemented for second order systems ");
296 M = blkdiag(speye(sd),M,sparse(ad,ad));
301 M = dscomponents.ConstMassMatrix(M,algdofs);
315 if ~isa(model,
" models.BaseModel ")
316 error(
" The Model property has to be a child of models.BaseModel ");
BaseSecondOrderSystem(models.BaseFullModel model)
Creates a new base dynamical system class instance.
function J = getStateJacobian(unused1, unused2, unused3)
function rsys = getReducedSystemInstance(models.ReducedModel rmodel)
Creates a reduced system given the current system and the reduced model.
function updateSparsityPattern()
The state space vector (NumTotalDofs) is composed of x: Original state space of second order model...
The base class for any KerMor detailed model.
function J = getStateJacobian(x, t)
Default implementation of jacobian matrix evaluation via finite differences.
function updateDimensions()
dscomponents.AInputConv B
The input conversion.
function prepareSimulation(colvec< double > mu)
A method that allows parameter-dependent computations to be performed before a simulation using this ...
JDX
Pre-Computed pattern for dx-part.
function val = getDerivativeInitialValues(unused1)
Computes the derivative initial values.
function registerProps(varargin)
Call this method at any class that defines DPCM observed properties.
The KerMor reduced model class.
inputidx
The current inputindex of the function .
Base class for all KerMor second-order dynamical systems.
dscomponents.LinearCoreFun D
The damping matrix of the second order system.
function fx = evaluate(colvec< double > x, unused1, unused2)
mu
The current parameter for simulations, [] is none used.
DerivativeDirichletPosInStateDofs
A logical column vector containing true at the locations of explicit derivative dirichlet conditions...
function validateModel(models.BaseFullModel model)
Validates if the model to be set is a valid BaseModel at least. Extracting this function out of the s...
function J = getJacobian(double t, x_xdot_c)
Computes the global jacobian of the current RHS system.
function fx = evaluate(x, t)
Evaluates the f-approximation. Depending on a possible projection and the CustomProjection-property t...
Linear core function for state space models (no time or parameter)
function M = getMassMatrix()
sparse< logical > JSparsityPattern
Sparsity pattern for the jacobian matrix.
dscomponents.ACoreFun f
The core f function from the dynamical system.
function x_xdot_c0 = getX0(colvec< double > mu)
Compiles the global x0 vector of the global dof vector.
dscomponents.ACoreFun g
The system's algebraic constraints function.
SparsityPattern
The global sparsity pattern for the entire RHS.
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...
dscomponents.AMassMatrix M
The system's mass matrix.
virtual function val = getDerivativeDirichletValues(double t)
Computes the derivative dirichlet values dependent on the current time.
function prepareSimulation(colvec< double > mu,integer inputidx)
u
The current input function as function handle, [] if none used.
Base class for all KerMor first-order dynamical systems.
Simple affine-linear core function "f" for a dynamical system.
dscomponents.LinearCoreFun A
Represents a linear or affine-linear component of the dynamical system.