%DMS-Rosette.m
%Berechnen der Hauptspannungen der DMS Rosette (Rechtwinklig)
%Eingabewerte in der Einheit mV/V
%https://www.me-systeme.de/docs/de/basics/TechNotes/TN-515_DMS_Rosetten.pdf
%werte vgl. mit https://www.me-systeme.de/de/support/kalkulator/hauptspannungen
function D = DMS(a, b, c)
k = input('Bitte geben Sie den k-Faktor des DMS ein: k=');
ea=a*(4/k)*1000; %Dehnung in Richtung des DMS a
eb=b*(4/k)*1000; %Dehnung in Richtung des DMS b
ec=c*(4/k)*1000; %Dehnung in Richtung des DMS c
disp(['Die Dehnung in Richtung a ist: ' num2str(ea) 'um/m'])
disp(['Die Dehnung in Richtung b ist: ' num2str(eb) 'um/m'])
disp(['Die Dehnung in Richtung c ist: ' num2str(ec) 'um/m'])
E = input('Bitte geben Sie den E-Modul des Werkstoffes in MPa ein: E=');
E=E/1000000; 
ep=((ea+ec)/2)+(1/sqrt(2))*sqrt(((ea-eb)^2+(eb-ec)^2));
eq=((ea+ec)/2)-(1/sqrt(2))*sqrt(((ea-eb)^2+(eb-ec)^2));
phi=0.5*atan((2*eb-ea-ec)/(ea-ec)); %Winkel zwischen Gitter1 und Hauptdehnung
phigrad=phi*(180/pi);
if ea>ec
  phi=phi;
  phigrad=phigrad;
  disp(['Der Winkel phi betraegt : ' num2str(phigrad) 'Grad'])
  elseif ea<ec
    phi=phi+pi;
    phigrad=phigrad+180;
    disp(['Der Winkel phi betraegt : ' num2str(phigrad) 'Grad'])
  elseif ea==ec && eb<ea
    phi=-pi/4;
    phigrad=-45;
    disp(['Der Winkel phi betraegt : ' num2str(phigrad) 'Grad'])
  elseif ea==ec && eb>ea
    phi=pi/4;
    phigrad=45;
    disp(['Der Winkel phi betraegt : ' num2str(phigrad) 'Grad'])
   elseif ea==eb==ec
   printf('Der Winkel Phi ist unbestimmt, da ein hydrostatischer Spannungszustand vorliegt \n')
endif
nu = input('Bitte geben Sie die Poissonzahl des Werkstoffes ein: nu= '); 
sigmap=E/(1-nu^2)*(ep+nu*eq); % Hauptspannung in sigmap 
disp(['Die Hauptspannung \\sigma 1 ist : ' num2str(sigmap) 'MPa'])
sigmaq=E/(1-nu^2)*(eq+nu*ep); % Hauptspannung in sigmaq
disp(['Die Hauptspannung  \\igma 2 ist : ' num2str(sigmaq) 'MPa'])
r=0.5*(sigmap-sigmaq);  %Radius des Spannungkreises = maximale Schubspannung
m=0.5*(sigmaq+sigmap);  %Mittelpunkt des Spannungkreises  
disp(['Die maximale Schubspannung  ist : ' num2str(r) 'MPa'])
vonmises=sqrt(sigmap^2-sigmap*sigmaq+sigmaq^2); %nach Anhang A13.1 aus Mayer TM
disp(['Die von-Mises Spannung ist      : ' num2str(vonmises) 'MPa'])
circle(m, 0, r);
%Hier die gerade plotten um schubspannung txy zu ermitteln
end