function evaluateConfinedSimulation(caseNameOriginal, approxCaseName, mapToEmbedding)

zerotol = 1e-6;

%% load data
if ~exist('mapToEmbedding', 'var')
    mapToEmbedding = 1;
end
if ischar(caseNameOriginal)
    [resultRef pbeDefRef] = loadLocalPbeResult(caseNameOriginal);
    [result pbeDef] = loadLocalPbeResult(approxCaseName);
else
    % alternative call with providing the structures, directly
    resultRef = caseNameOriginal{1};
    pbeDefRef = caseNameOriginal{2};
    result = approxCaseName{1};
    pbeDef = approxCaseName{2};
end

%% generate coordinates
% reference
dataRef = readResultData(resultRef, pbeDefRef);
heMatrixRef = dataRef.hcMatrix;
% this main
dataCase = readResultData(result, pbeDef);
pbeDef.dec
if mapToEmbedding
    heMatrix = mapToProperEmbedding(dataCase.hcMatrix, pbeDef.dec, 1e-6);
else
    heMatrix = dataCase.hcMatrix;
end

%% print coordinate time evolution
printTimeEvolution(dataRef.timeVector, heMatrix, heMatrixRef)
title('simulation')

%% print measure evolution
measMatrixRef = computeMeasureDec(pbeDefRef.dec, 'hC', heMatrixRef, ...
    {'volume', 'surface', 'meanWidth'}, zerotol, [], 1);
measMatrix = computeMeasureDec(pbeDefRef.dec, 'hC', heMatrix, ...
    {'volume', 'surface', 'meanWidth'}, zerotol, [], 1);
printTimeEvolution(dataRef.timeVector, measMatrix, ...
    measMatrixRef, {'volume', 'surface', 'meanWidth'})
title('simulation')

