DAMASK_EICMD/trunk/documentation/NSD/crystallite_stressAndItsTan...

57 lines
3.8 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<root text="&#34;crystallite_stressAndItsTangent (Crystallite Loop)&#34;" comment="" color="ffffff" type="sub" style="nice">
<children>
<instruction text="&#34;NiterationCrystallite = NiterationCrystallite + 1&#34;" comment="" color="ffffff" rotated="0"></instruction>
<alternative text="&#34;any: .not. crystallite_converged .and. .not. crystallite_localConstitution&#34;" comment="" color="ffffff">
<qTrue>
<instruction text="&#34;all: crystallite_converged = crystallite_converged .and. crystallite_localConstitution&#34;" comment="" color="ffffff" rotated="0"></instruction>
</qTrue>
<qFalse>
</qFalse>
</alternative>
<alternative text="&#34;crystallite_converged&#34;" comment="" color="ffffff">
<qTrue>
<instruction text="&#34;WINDING FORWARD: &#34;,&#34;crystallite_subFrac = crystallite_subFrac + crystallite_subStep&#34;,&#34;crystallite_subStep = min(1.0 - _crystallite_subFrac, 2.0 * crystallite_subStep)&#34;" comment="" color="ffffff" rotated="0"></instruction>
<alternative text="&#34;crystallite_subStep &#62; subStepMin&#34;" comment="" color="ffffff">
<qTrue>
<instruction text="&#34;crystallite_subF0 = crystallite_subF&#34;,&#34;crystallite_subFp0 = crystallite_Fp&#34;,&#34;crystallite_subLp0 = crystallite_Lp&#34;,&#34;constitutive_subState0 = crystallite_state&#34;" comment="" color="ffffff" rotated="0"></instruction>
</qTrue>
<qFalse>
</qFalse>
</alternative>
</qTrue>
<qFalse>
<instruction text="&#34;CUTBACK:&#34;,&#34;crystallite_subStep = 0.5 * crystallite_subStep&#34;,&#34;crystallite_Fp = crystallite_subFp0&#34;,&#34;crystallite_Lp = crystallite_subLp0&#34;,&#34;constitutive_state = crystallite_subState0&#34;" comment="" color="ffffff" rotated="0"></instruction>
</qFalse>
</alternative>
<instruction text="&#34;crystallite_onTrack = crystallite_subStep &#62; subStepMin&#34;" comment="" color="ffffff" rotated="0"></instruction>
<alternative text="&#34;crystallite_onTrack&#34;" comment="" color="ffffff">
<qTrue>
<instruction text="&#34;crystallite_subF = crystallite_subF0 + crystallite_subStep * ( crystallite_partionedF - crystallite_partionedF0)&#34;,&#34;crystallite_subdt = crystallite_subStep * crystallite_dt&#34;,&#34;crystallite_converged = .false.&#34;" comment="" color="ffffff" rotated="0"></instruction>
</qTrue>
<qFalse>
</qFalse>
</alternative>
<instruction text="&#34;NiterationState = 0&#34;" comment="" color="ffffff" rotated="0"></instruction>
<for text="&#34;STATE LOOP: any: crystallite_requested .and. crystallite_onTrack .and. .not. crystallite_converged&#34;,&#34; .and. NiterationState &#60; ncryst&#34;" comment="" color="ffffff">
<qFor>
<instruction text="&#34;NiterationState = NiterationState + 1&#34;" comment="" color="ffffff" rotated="0"></instruction>
<alternative text="&#34;crystallite_requested .and. crystallite_onTrack .and. .not. crystallite_converged&#34;" comment="&#34;&#34;" color="ffffff">
<qTrue>
<call text="&#34;crystallite_stateConverged = crystallite_updateState&#34;" comment="&#34;&#34;" color="ffffff"></call>
</qTrue>
<qFalse>
</qFalse>
</alternative>
<alternative text="&#34;crystallite_requested .and. crystallite_onTrack .and. .not. crystallite_converged&#34;" comment="&#34;&#34;" color="ffffff">
<qTrue>
<call text="&#34;crystallite_stressConverged = crystallite_integrateStress&#34;" comment="&#34;&#34;" color="ffffff"></call>
<instruction text="&#34;crystallite_onTrack = crystallite_stressConverged&#34;,&#34;crystallite_converged = crystallite_stateConverged .and. crystallite_stressConverged&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
</qTrue>
<qFalse>
</qFalse>
</alternative>
</qFor>
</for>
</children>
</root>