DMUG-Archiv 2020

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: [Dmug] RelationGraph mit Zerfallsketten an der Linie beschriften mit der Zerfallsart

Hallo Peter,

zu den Funktionen, die schon seit dem letzten Mal (September 2019) da sind, schreibt man hinzu


betaDecayQ[s1_Entity, s2_Entity] :=
 daughterNuclidesQ[s1, s2] &&
  IsotopeData[s1, "MassNumber"] == IsotopeData[s2, "MassNumber"] &&
  IsotopeData[s1, "AtomicNumber"] - IsotopeData[s2, "AtomicNumber"] == -1

(* beta decay edge selector *)
Clear[betaEdge, betaDecay]
betaEdge[s1_Entity, s2_Entity] := If[betaDecayQ[s1, s2],
  {s1, s2},(* else *)
  Missing[]
  ]

betaDecay[l_List?VectorQ] :=
 Block[{res, x1, x2,
    betaP = IsotopeData[
       EntityClass["Isotope", "BetaDecay"]] \[Intersection] l},
   res = If[Length[Cases[betaP, _Entity]] == 0,
     Print["betaDecay::given entities do not emit electrons"];
     {}, (* else *)
     DeleteMissing[Flatten[Outer[betaEdge, betaP, l], 1]]
     ]; (*
   If you do not use DirectedEdge you catch unintelligible errors \
until you do! *)
   res //. {x1_Entity, x2_Entity} :>
     Rule[DirectedEdge[x1, x2], {Thick, Blue}]
   ] /; Length[Cases[l, _Entity]] > 0


und erzeugt das Bildchen in der Beilage mit


In[168]:= With[{x = vertsPu241},
 With[{he = alphaDecay[x], el = betaDecay[x]},
  RelationGraph[daughterNuclidesQ, x,
   VertexLabels -> (label1 /@ x),
   EdgeStyle -> Union[he, el],
   EdgeLabels ->
    Union[ReplaceAll[he, {Thickness[Large], RGBColor[1, 0, 0]} -> "\[Alpha]"],
     ReplaceAll[el, {Thickness[Large], RGBColor[0, 0, 1]} ->
       "\!\(\*SuperscriptBox[\(\[Beta]\), \(-\)]\)"]],
   PlotRangePadding -> 0.85, ImageSize -> 500,
   PlotTheme -> "Scientific"]
  ]
 ]


Bei den restlichen Zerfällen verfahren Sie analog, nachdem Sie die Zerfallsart nachgeschlagen haben.

Bei der Zerfallsart sind die Wolfram Curated Data wieder unglaublich kenntnisreich:

In[1]:= IsotopeData["Classes"] // Shallow

Out[1]//Shallow= {EntityClass["Isotope", "AlphaEmission"],
 EntityClass["Isotope", "BetaDecay"],
 EntityClass["Isotope", "BetaDelayedAlphaEmission"],
 EntityClass["Isotope", "BetaDelayedDeuteronEmission"],
 EntityClass["Isotope", "BetaDelayedFission"],
 EntityClass["Isotope", "BetaDelayedFourNeutronEmission"],
 EntityClass["Isotope", "BetaDelayedNeutronAlphaEmission"],
 EntityClass["Isotope", "BetaDelayedNeutronEmission"],
 EntityClass["Isotope", "BetaDelayedThreeNeutronEmission"],
 EntityClass["Isotope", "BetaDelayedTritonEmission"], <<37>>}


Mit den besten Grüssen

udo.

P.S. 1: Die EdgeLabels erscheinen wirklich klein, man kann die noch verschieben etc. etc. ...

P.S. 2: Wenn Sie es mit dem Output der Wolfram Summer School 2019 machen wollen, müssen Sie halt dort eine Funktion EdgeLabels -> makeEdgeLabel[isotope] einfügen.


Am 21.08.2020 um 17:04 schrieb Peter Klamser via demug:
Hallo, kann mir bitte jemand weiter helfen?
Ich will an einem RelationGraph mit einer Zerfallskette die Linie mit der
Zerfallsart beschriften.
Es gibt da die Funktion EdgeLabels. Aber da komme ich nicht weiter.
Das Notebook stammt von:

https://www.wolframcloud.com/objects/nbarch/2019/07/2019-07-5kp1y6b/2019-07-5kp1y6b.nb

Dort will ich in dem Ausdruck ein Edgelabel hinzufügen:

makeDecayGraphSample[isotope_] :=
  RelationGraph[DaughterNuclidesQ, children[isotope],
   Sequence[VertexLabels -> makeVertexLabels[isotope],
    PlotRangePadding -> 0.65, ImageSize -> 300,
    PlotTheme -> "Scientific"(*,
    EdgeLabels\[Rule]{3\[UndirectedEdge]1->}*)]]
makeDecayGraphSample[Entity["Isotope", "Pu241"]]

Danke sagt Peter

_______________________________________________
DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv: http://www.mathematica.ch/archiv.html

Attachment: klamserIsotopeData.nb
Description: application/vnd.wolfram.nb

Attachment: klamser-isotope-2020-08-22.png
Description: PNG image

_______________________________________________
DMUG Deutschsprachiges Mathematica-Forum demug@XXXXXXX.ch
http://www.mathematica.ch/mailman/listinfo/demug
Archiv: http://www.mathematica.ch/archiv.html
Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html