added Nassi-Schneidermann-Diagrams for two more functions

This commit is contained in:
Christoph Kords 2009-06-02 15:48:21 +00:00
parent 7b638d7b94
commit f4095e4127
8 changed files with 71343 additions and 0 deletions

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<root text="&#34;crystallite_stressAndItsTangent&#34;" comment="" color="ffffff" type="sub" style="nice">
<children>
<alternative text="&#34;crystallite_requested&#34;" comment="" color="ffffff">
<qTrue>
<instruction text="&#34;constitutive_subState0 = constitutive_partionedState0 crystallite_subFrac = 0.0&#34;,&#34;crystallite_subFp0 = crystallite_partionedFp0 crystallite_subStep = 2.0&#34;,&#34;crystallite_subLp0 = crystallite_partionedLp0 crystallite_onTrack = .true.&#34;,&#34;crystallite_subF0 = crystallite_partionedF0 crystallite_converged = .false.&#34;" comment="" color="ffffff" rotated="0"></instruction>
</qTrue>
<qFalse>
</qFalse>
</alternative>
<instruction text="&#34;NiterationCrystallite = 0&#34;" comment="" color="ffffff" rotated="0"></instruction>
<while text="&#34;CRYSTALLITE LOOP: any: crystallite_subStep &#62; subStepMin&#34;" comment="" color="ffffff">
<qWhile>
<instruction text="&#34;(see crystallite_stressAndItsTangent_CrystalliteLoop.nsd)&#34;" comment="" color="ffffff" rotated="0"></instruction>
</qWhile>
</while>
<alternative text="&#34;.not. crystallite_converged&#34;" comment="" color="ffffff">
<qTrue>
<instruction text="&#34;ELASTIC RESPONSE:&#34;" comment="" color="ffffff" rotated="0"></instruction>
<call text="&#34;Fe_guess = crystallite_partionedF * crystallite_partionedFp0 ^ -1&#34;" comment="" color="ffffff"></call>
<call text="&#34;Tstar = 0.5 * constitutive_homogenizedC * ( Fe_guess ^ T * Fe_guess - math_I3 )&#34;" comment="" color="ffffff"></call>
<call text="&#34;crystallite_P = Fe_guess * Tstar * crystallite_partionedFp0 ^ -T&#34;" comment="" color="ffffff"></call>
</qTrue>
<qFalse>
</qFalse>
</alternative>
<alternative text="&#34;updateJaco&#34;" comment="" color="ffffff">
<qTrue>
<instruction text="&#34;STIFFNESS CALCULATION: (see crystallite_stressAndItsTangent_StiffnessCalculation.nsd)&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
</qTrue>
<qFalse>
</qFalse>
</alternative>
</children>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<root text="&#34;crystallite_stressAndItsTangent (Crystallite Loop)&#34;" comment="&#34;&#34;" color="ffffff" type="sub" style="nice">
<children>
<instruction text="&#34;NiterationCrystallite = NiterationCrystallite + 1&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
<alternative text="&#34;any: .not. crystallite_converged .and. .not. crystallite_localConstitution&#34;" comment="&#34;&#34;" color="ffffff">
<qTrue>
<instruction text="&#34;all: crystallite_converged = crystallite_converged .and. crystallite_localConstitution&#34;" comment="&#34;&#34;" 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="&#34;&#34;" 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="&#34;&#34;" 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="&#34;&#34;" 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="&#34;&#34;" color="ffffff" rotated="0"></instruction>
</qTrue>
<qFalse>
</qFalse>
</alternative>
<instruction text="&#34;NiterationState = 0&#34;" comment="&#34;&#34;" 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="&#34;&#34;" color="ffffff">
<qFor>
<instruction text="&#34;NiterationState = NiterationState + 1&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
<alternative text="&#34;crystallite_requested .and. crystallite_onTrack&#34;" comment="&#34;&#34;" color="ffffff">
<qTrue>
<call text="&#34;crystallite_onTrack = crystallite_integrateStress&#34;" comment="" color="ffffff"></call>
</qTrue>
<qFalse>
</qFalse>
</alternative>
<alternative text="&#34;crystallite_requested .and. crystallite_onTrack&#34;" comment="&#34;&#34;" color="ffffff">
<qTrue>
<call text="&#34;crystallite_converged = crystallite_updateState&#34;" comment="" color="ffffff"></call>
</qTrue>
<qFalse>
</qFalse>
</alternative>
</qFor>
</for>
</children>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<root text="&#34;crystallite_stressAndItsTangent (stiffness calculation)&#34;" comment="" color="ffffff" type="sub" style="nice">
<children>
<alternative text="&#34;crystallite_converged&#34;" comment="&#34;&#34;" color="ffffff">
<qTrue>
<instruction text="&#34;myState = constitutive_state&#34;,&#34;myF = crystallite_subF&#34;,&#34;myFp = crystallite_Fp&#34;,&#34;myFe = crystallite_Fe&#34;,&#34;myLp = crystallite_Lp&#34;,&#34;myP = crystallite_P&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
<for text="&#34;k = 1 , 3&#34;" comment="&#34;&#34;" color="ffffff">
<qFor>
<while text="&#34;l = 1 , 3&#34;" comment="&#34;&#34;" color="ffffff">
<qWhile>
<instruction text="&#34;crystallite_subF(:,:) = myF&#34;,&#34;crystallite_subF(k,l) = crystallite_subF(k,l) + pert_Fg&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
<instruction text="&#34;onTrack = .true.&#34;,&#34;converged = .false.&#34;,&#34;NiterationState = 0&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
<for text="&#34;STIFFNESS LOOP: .not. converged .and. onTrack .and. NiterationState &#60; nState&#34;" comment="&#34;&#34;" color="ffffff">
<qFor>
<instruction text="&#34;NiterationState = NiterationState + 1&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
<call text="&#34;onTrack = crystallite_integrateStress&#34;" comment="&#34;&#34;" color="ffffff"></call>
<alternative text="&#34;onTrack&#34;" comment="&#34;&#34;" color="ffffff">
<qTrue>
<call text="&#34;converged = crystallite_updateState&#34;" comment="&#34;&#34;" color="ffffff"></call>
</qTrue>
<qFalse>
</qFalse>
</alternative>
</qFor>
</for>
<alternative text="&#34;converged&#34;" comment="&#34;&#34;" color="ffffff">
<qTrue>
<instruction text="&#34;crystallite_dPdF = ( crystallite_P - myP ) / pert_Fg&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
</qTrue>
<qFalse>
</qFalse>
</alternative>
<instruction text="&#34;constitutive_state = myState&#34;,&#34;crystallite_Fp = myFp&#34;,&#34;crystallite_Fe = myFe&#34;,&#34;crystallite_Lp = myLp&#34;,&#34;crystallite_P = myP&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
</qWhile>
</while>
</qFor>
</for>
</qTrue>
<qFalse>
<instruction text="&#34;crystallite_dPdF = crystallite_fallbackdPdF&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
</qFalse>
</alternative>
</children>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<root text="&#34;crystallite_updateState&#34;" comment="" color="ffffff" type="sub" style="nice">
<children>
<instruction text="&#34;residuum = ( constitutive_state - constitutive_subState0 ) - constitutive_subdt * constitutive_dotState ( ... )&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
<alternative text="&#34;NaN occured in residuum&#34;" comment="&#34;&#34;" color="ffffff">
<qTrue>
<instruction text="&#34;NO CONVERGENCE: return&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
</qTrue>
<qFalse>
</qFalse>
</alternative>
<instruction text="&#34;constitutive_state = constitutive_state - residuum&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
<instruction text="&#34;crystallite_updateState = abs ( residuum / constitutive_state ) &#60; rTol_crystalliteState&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
<instruction text="&#34;return&#34;" comment="&#34;&#34;" color="ffffff" rotated="0"></instruction>
</children>
</root>

File diff suppressed because it is too large Load Diff