cantera/interfaces/matlab/toolbox/@ReactorSurface/ReactorSurface.m

55 lines
1.7 KiB
Matlab

function x = ReactorSurface(kinetics, reactor, area)
% REACTORSURFACE ReactorSurface class constructor.
% x = ReactorSurface(kinetics, reactor, area)
%
% A surface on which heterogeneous reactions take place. The mechanism object
% (typically an instance of class :mat:func:`Interface`) must be constructed so
% that it is properly linked to the object representing the fluid in the
% reactor. The surface temperature on each side is taken to be equal to the
% temperature of the reactor.
%
% Note: all of the arguments are optional and can be activated after initial
% construction by using the various methods of the :mat:func:`ReactorSurface`
% class.
%
% :param kleft:
% Surface reaction mechanisms for the left-facing surface. This must be an
% instance of class :mat:func:`Kinetics`, or of a class derived from Kinetics,
% such as :mat:func:`Interface`.
% :param reactor:
% Instance of class :mat:func:`Reactor` to be used as the adjacent bulk
% phase. See :mat:func:`install`
% :param area:
% The area of the surface in m**2. See :mat:func:`area` and
% :mat:func:`setArea`. Defaults to 1.0 m**2 if not specified.
% :return:
% Instance of class :mat:func:`ReactorSurface`
x.index = reactorsurfacemethods(0, 0);
if x.index < 0
error(geterr);
end
x.reactor = -1;
x = class(x, 'ReactorSurface');
if nargin >= 1
setKinetics(x, kinetics);
end
if nargin >= 2
if isa(reactor, 'Reactor')
install(x, reactor);
else
warning(['"reactor" was not an instance of Reactor, ' ...
'and was not installed.'])
end
end
if nargin >= 3
if isnumeric(area)
setArea(x, area);
else
warning('area was not a number and the area was not set')
end
end