- if(my_info->z_diff)
- {
- if(k!=0)
- {
- off=i+j*d3_l->max_x+(k-1)*d3_l->max_x*d3_l->max_y;
- carry=0;
- if(!*(d3_l->status+off)&AMORPH) carry=(int)(my_info->dr_ac*(*(d3_l->extra+off)));
- if(carry!=0)
- {
- *(d3_l->extra+off)-=carry;
- *(d3_l->extra+offset)+=carry;
- }
- }
- if(k!=d3_l->max_z-1)
- {
- off=i+j*d3_l->max_x+(k+1)*d3_l->max_x*d3_l->max_y;
- carry=0;
- if(!*(d3_l->status+off)&AMORPH) carry=(int)(my_info->dr_ac*(*(d3_l->extra+off)));
- if(carry!=0)
- {
- *(d3_l->extra+off)-=carry;
- *(d3_l->extra+offset)+=carry;
- }
- }
- }
- } else
- /* case not amorph: cryst <-> cryst diffusion */
- if(my_info->c_diff) {
- /* if there is c diff, no diff in z-direction */
- {
- for(c=-1;c<=1;c++)