Thinfilm change log: Difference between revisions

From Micro and Nano Mechanics Group
Jump to navigation Jump to search
(added more c files)
m (updated LocateCell())
 
(One intermediate revision by the same user not shown)
Line 96: Line 96:
*This code was significantly changed from v2.3.5 to v2.5.1 in the src (may need checked)
*This code was significantly changed from v2.3.5 to v2.5.1 in the src (may need checked)
*Constrained thinfilm surface node velocity in the z-direction to be zero.
*Constrained thinfilm surface node velocity in the z-direction to be zero.

===NodeForce.c===
*Added modifications for _STACKINGFAULT.
*Added modifications for _BENDING.
*Added Sylvie's virtual segment treatment.
*Included TF.h.
*Passed thinfilm variables.
*Added WRITE_NODE_FORCE statements.
*Called InitSegSigbRem()
*Computed thinfilm's contribution to sigbRem.
*Added a call to LocalVirtualSegForces()
*When FULL_N2_FORCES, Added hook to zero sigbRem for adding in Yoffe stress. This is already done in the bulk code, but only with FEM.
*When FULL_N2_FORCES, added remote stress calculation for thinfilm in SetOneNodeForce().
*When NOT FULL_N2, added a hook to zero sigbRem for adding in Yoffe stress. This is already done in the bulk code, but only with FEM. This one was vectorized in the bulk code.
*Calculate PK force if _THINFILM, even if FMM is not enabled. This is done in the bulk code, but for FEM.
*Added thinfilm image stress to the segment's sigb.

===ParadisStep.c===
*Added thinfilm variables to function definitions.

===Param.c===
*Added modifications for _STACKINGFAULT.
*Initialized thinfilm variables.

===Plot.c===
*Included Param.h and TF.h.
*Added plotting for thinfilm.

===Remesh.c===
*Included TF.h
*Passed thinfilm variables.
*Added call to Thinfilm_Remesh().

===RemeshRule_2.c===
*prevented thinfilm surface node from being removed.

===Topology.c===
*Added modifications for _STACKINGFAULT.
*Included TF.h.
*Passed thinfilm variables.
*Handled combining pinned multinodes at the surface.
*Handled the splitting of surface nodes.
*Changed to THINFILM_SURFACE_NODE

===TrapezoidIntegrator.c===
*Passed thinfilm variables.
*changed the print statement for thinfilm

===SemiInfiniteSegSegForce.c===
*v2.5.1 now has this within the bulk code, but there appears to be some differences from the thinfilm code in v2.3.5.
*v2.5.1 bulk code currently only computes forces on fp3 and fp4. It zeros out forces on fp1 and does not compute fp2. v2.3.5 computed all four.
*Currently call the 2.3.5 functions SemiInfiniteSegSegForce2 and SpecialSemiInfiniteSegSegForce2.

===Compute.c===
*Changed to SemiInfiniteSegSegForce2.

===Util.c===
*Added function WRITE_NODE_FORCE.
*Had LocateCell return cellIndex when using thinfilm.
*Changing LocateCell necessitates adding Util.h to the thinfilm libraries.




===ABCoeff.c===
*Unique to thinfilm
*Added Sylvie's virtual segment treatment.


===Fourier_transforms.c===
*Unique to thinfilm
*Added Sylvie's virtual segment treatment.

===TF_Main.c===
*Unique to thinfilm
*Added Sylvie's virtual segment treatment.

===TF_Util.c===
*Unique to thinfilm
*Added Sylvie's virtual segment treatment.

Latest revision as of 21:20, 16 September 2011

Force.h

  • Used to be a part of ParadisProto.h in previous versions of the code.
  • Added thinfilm variables to function definitions.

Home.h

  • Identical to original code. However, it is needed in the thinfilm Include directory for the code to compile correctly.

Node.h

  • Declared THINFILM_SURFACE_NODE = 6

Param.h

  • Added thinfilm variable declarations.
  • Added _STACKINGFAULT variable.

ParadisProto.h

  • Added thinfilm variables to function definitions.
  • Included TF.h.
  • Added SemiInfiniteSegSegForce2 because of the differences between the SemiInfiniteSegSegForce in v2.3.5 cylinder code and the bulk code for v2.5.1

Topology.h

  • Added thinfilm variables to function definitions.

Util.h

  • Added cellIndex[3] to LocateCell() definition if _THINFILM
  • Added WRITE_NODE_FORCE() if _THINFILM


AllSegmentStress.c

  • No longer contained in src in v2.5.1.
  • The organization of FMlayer struct has changed. Code to get FMMcell should be:
cellID = EncodeFMCellIndex(layer->lDim, cellIndex[0], cellIndex[1], cellIndex[2])
FMMcell = LookupFMCell(layer->cellTable, cellID)

AllYoffeStress.c

  • added Sylvie's virtual segment changes.

Collision.c

  • This code is now a calling function for PredictiveCollision.c or ProximityCollision.c
  • Force collison to occur on surface
  • Change SURFACE_NODE to THINFILM_SURFACE_NODE

CrossSlip.c

  • Now a handler function for CrossSlipBCC.c and CrossSlipFCC.c
  • Passed thinfilm variables

CrossSlipBCC.c & CrossSlipFCC.c

  • THESE FUNCTIONS HAVE DRASTICALLY CHANGED IN v2.5.1. THE SECOND LOOP SHOULD PROBABLY BE UPDATED AT SOME POINT.
  • Added second loop for surface nodes.
  • Declared variables burg[], glidedir[][], and fnode[] because they are no longer part of src in v2.5.1
  • Added nodepinned2().
  • Need to be passed the thinfilm variables in order to give them to SetOneNodeForce().

DeltaPlasticStrain

  • Needs to be passed thinfilm variables to give them to DeltaPlasticStrain_BCC.c or DeltaPlasticStrain_FCC.c

DeltaPlasticStrain_BCC.c & DeltaPlasticStrain_BCC.c

  • Added modifications for _BENDING.

ForwardEulerIntegrator.c

  • Passed thinfilm variables.

Initialize.c

  • Added modifications for _STACKINGFAULT.
  • Suppressed warnings about free surfaces when using thinfilm.
  • Added simVol calculation for thinfilm.

InputSanity.c

  • Disabled failure if there are free surfaces and not using FMM with thinfilm.

LocalSegForces.c

  • Added modifications for _STACKINGFAULT.
  • Added modifications for _BENDING.
  • Added Sylvie's virtual segment treatment.
  • Passed thinfilm variables.
  • When using FULL_N2_FORCES added thinfilm remote forces.
  • Added remote stress contribution from the thinfilm regardless of whether FMM is enabled

MobilityLaw_BCC_0b.c

  • Constrained thinfilm surface node velocity in the z-direction to be zero.

MobilityLaw_BCC_0.c

  • Added correction to BTotal for a surface node, because it is simply linked.

MobilityLaw_BCC_glide.c

  • Added correction to BTotal for a surface node, because it is simply linked.
  • Added correction for a thinfilm's normal constraint.

MobilityLaw_FCC_0.c

  • Constrained thinfilm surface node velocity in the z-direction to be zero.
  • Tried to add Laboratory coordinate system rotation (may need checked)

MobilityLaw_Relax.c

  • This code was significantly changed from v2.3.5 to v2.5.1 in the src (may need checked)
  • Constrained thinfilm surface node velocity in the z-direction to be zero.

NodeForce.c

  • Added modifications for _STACKINGFAULT.
  • Added modifications for _BENDING.
  • Added Sylvie's virtual segment treatment.
  • Included TF.h.
  • Passed thinfilm variables.
  • Added WRITE_NODE_FORCE statements.
  • Called InitSegSigbRem()
  • Computed thinfilm's contribution to sigbRem.
  • Added a call to LocalVirtualSegForces()
  • When FULL_N2_FORCES, Added hook to zero sigbRem for adding in Yoffe stress. This is already done in the bulk code, but only with FEM.
  • When FULL_N2_FORCES, added remote stress calculation for thinfilm in SetOneNodeForce().
  • When NOT FULL_N2, added a hook to zero sigbRem for adding in Yoffe stress. This is already done in the bulk code, but only with FEM. This one was vectorized in the bulk code.
  • Calculate PK force if _THINFILM, even if FMM is not enabled. This is done in the bulk code, but for FEM.
  • Added thinfilm image stress to the segment's sigb.

ParadisStep.c

  • Added thinfilm variables to function definitions.

Param.c

  • Added modifications for _STACKINGFAULT.
  • Initialized thinfilm variables.

Plot.c

  • Included Param.h and TF.h.
  • Added plotting for thinfilm.

Remesh.c

  • Included TF.h
  • Passed thinfilm variables.
  • Added call to Thinfilm_Remesh().

RemeshRule_2.c

  • prevented thinfilm surface node from being removed.

Topology.c

  • Added modifications for _STACKINGFAULT.
  • Included TF.h.
  • Passed thinfilm variables.
  • Handled combining pinned multinodes at the surface.
  • Handled the splitting of surface nodes.
  • Changed to THINFILM_SURFACE_NODE

TrapezoidIntegrator.c

  • Passed thinfilm variables.
  • changed the print statement for thinfilm

SemiInfiniteSegSegForce.c

  • v2.5.1 now has this within the bulk code, but there appears to be some differences from the thinfilm code in v2.3.5.
  • v2.5.1 bulk code currently only computes forces on fp3 and fp4. It zeros out forces on fp1 and does not compute fp2. v2.3.5 computed all four.
  • Currently call the 2.3.5 functions SemiInfiniteSegSegForce2 and SpecialSemiInfiniteSegSegForce2.

Compute.c

  • Changed to SemiInfiniteSegSegForce2.

Util.c

  • Added function WRITE_NODE_FORCE.
  • Had LocateCell return cellIndex when using thinfilm.
  • Changing LocateCell necessitates adding Util.h to the thinfilm libraries.



ABCoeff.c

  • Unique to thinfilm
  • Added Sylvie's virtual segment treatment.


Fourier_transforms.c

  • Unique to thinfilm
  • Added Sylvie's virtual segment treatment.

TF_Main.c

  • Unique to thinfilm
  • Added Sylvie's virtual segment treatment.

TF_Util.c

  • Unique to thinfilm
  • Added Sylvie's virtual segment treatment.