ZiehenBiplat[GeometrieVek_, ProcessVek_, MaterialVek_, NumVek_] :=
Block[{phiAvor, phiBvor, v1, vE, vz, TA0, TB0, alphaw, EK, rA, rA0,
rA1, Aa0, Ab0, Aa, Ab, zmax, \[Alpha], LGl, rB0, rB, NMat, phiA,
phiB, dotphivA, dotphivB, \[Micro]RAW, \[Micro]RAB, kF, cpA, rhoA,
lambdaA, cpB, rhoB, lambdaB,
KoeffizientenLoc, \[Lambda]AB, \[Alpha]AB, lsg, FktPlot,
FktPlotSigma, DGLVec,
zlI, \[CapitalDelta]q1EA, \[CapitalDelta]q1EB, dridz, driplus1dz,
q, qB, TA, TB, rA0loc, rA1loc, rBloc, vzAStart, vzA, v0A, v0B,
alphaloc},
{rA0, rA1, \[Alpha], LGl, rB0} = GeometrieVek;
{phiAvor, phiBvor, v1, TA0, TB0, alphaw, \[Micro]RAW, \[Micro]RAB} =
ProcessVek;
{cpA, rhoA, lambdaA, cpB, rhoB, lambdaB, KoeffizientenLoc} =
MaterialVek;
{EK} = NumVek;
(* Anzahl der Werkstoffe: hier Test mit 2 *)
NMat = Length[MaterialVek];
(* Ziehholgeoemtrie *)
zmax = Cot[\[Alpha]] (rA0 - rA1); (*
Ende des Ziehols und Übergang zur Glättlänge LGl *)
rA[z_, rA0loc_, rA1loc_, alphaloc_] :=
If[z < zmax, rA0loc - z Tan[alphaloc], rA1loc];
(* rA[z,rA0,rA1,\[Alpha]]:=rA0; *)
(* Berührungspunkt Material B mit Ziehhol *)
zlI = If[rB0 >= rA1,
z /. FindRoot[rA[z, rA0, rA1, \[Alpha]] - rB0 == 0, {z, 0}][[1]],
zmax + LGl];
(* Flächeninhalt Eintrittsquerschnitt *)
Aa0 = Pi (Power[rA0, 2] - Power[rB0, 2]);
Ab0 = Pi Power[rB0, 2];
(* momentaner Flächeninhalt *)
Aa[z_, rBloc_] :=
Pi (Power[rA[z, rA0, rA1, \[Alpha]], 2] - Power[rBloc, 2]);
Ab[z_, rBloc_] := Pi Power[rBloc, 2];
(* lokale Geschwindigkeit *)
(* Startlösung *)
vzAStart[z_, rB_] := v1 Aa[zmax, rB]/Aa[z, rB];
vzA[z_, rB_] := vzAStart[z, 0];
v0A := vzAStart[0, 0];
v0B := vzAStart[0, 0];
(* Umformgrad allgemein *)
phiA[Aa0_, Aa_, phiAvor_] := Log[Aa0/Aa[z, rBloc]] + phiAvor;
phiB[Ab0_, Ab_, phiBvor_] := Log[Ab0/Ab[z, rBloc]] + phiBvor;
(* Umformgeschwindigkeit allgmein *)
(* vz in [mm/s] ... \
Ziehgeschwindigkeit *)
dotphivA[ri_, riplus1_, dridz_, driplus1dz_, vz_] :=
2.0 Abs[vz (ri dridz + riplus1 driplus1dz) (rA0^2 - rB0^2)/
Power[(Power[ri, 2] - Power[riplus1, 2]), 2]];
dotphivB[ri_, riplus1_, dridz_, driplus1dz_, vz_] :=
Abs[vz (riplus1 driplus1dz) (rB0^2)/Power[(Power[riplus1, 2]), 2]];
(* Fließspannungsvektor FG-Ansatz*)
(* ProcessData: {phi,dotphi,T}*)
(* \
Koeffizienten: {MatName,A,m1,m2,m3,m4,m5,m6,m7,m8,m9} *)
(* Schicht: \
Nummer der Schicht *)
kF[ProcessData_, Koeffizienten_, Schicht_] :=
Koeffizienten[[Schicht,
2]] Exp[-Koeffizienten[[Schicht, 3]] ProcessData[[3]]] Power[
ProcessData[[1]] + 0.05, Koeffizienten[[Schicht, 4]]] Power[
ProcessData[[2]], Koeffizienten[[Schicht, 5]] ] Exp[
Koeffizienten[[Schicht, 6]]/(ProcessData[[1]] + 0.05)] Power[
1 + ProcessData[[1]] + 0.05,
Koeffizienten[[Schicht, 7]] ProcessData[[3]]] Power[
1 + ProcessData[[1]] + 0.05, Koeffizienten[[Schicht, 8]]] Exp[
Koeffizienten[[Schicht, 9]] (ProcessData[[1]] + 0.05)] Power[
ProcessData[[2]],
Koeffizienten[[Schicht, 10]] ProcessData[[3]]] Power[
ProcessData[[3]], Koeffizienten[[Schicht, 11]]];
\[Lambda]AB[z_] := ((rA[z, rA0, rA1, \[Alpha]] - rB[z])/2 \[Lambda]A +
rB[z]/2 \[Lambda]B)/(
rA[z, rA0,
rA1, \[Alpha]]/2);(* Wärmeleitfähigkeit mit z zwischen Material A \
und B *)
\[Alpha]AB = (
2 \[Lambda]A \[Lambda]B)/(\[Lambda]B (rA0 - rA1) + \[Lambda]A rB0);
(*Lösung im Bereich 1 für die Spannungs- und Temperaturgleichungen *)
If[kF[{phiAvor, 0.1, TA0 - 273.15}, KoeffizientenLoc, 1] <
kF[{phiBvor, 0.1, TB0 - 273.15}, KoeffizientenLoc, 2],
(* Schicht A weicher als Schicht B *)
rB[z_] := rB0;
dridz := Tan[\[Alpha]];
driplus1dz := 0;
2020年04月21日 16点04分
4