1 function [odata,ith,res] = ThDDGOXgummelmap (imesh,Dsides,...
2 Simesh,Sinodes,Sielements,SiDsides,...
3 idata,tol,maxit,ptol,pmaxit,thtol,thmaxit,...
6 ## [odata,it,res] = ThDDGOXgummelmap (imesh,Dsides,...
7 ## Simesh,Sinodes,Sielements,SiDsides,...
8 ## idata,tol,maxit,ptol,pmaxit,thtol,thmaxit,...
9 ## eltol,elmaxit,verbose)
11 clear DDGOXNLPOISSON_LAP DDGOXNLPOISSON_MASS DDGOXNLPOISSON_RHS DDG_RHS DDG_MASS
12 global DDGOXNLPOISSON_LAP DDGOXNLPOISSON_MASS DDGOXNLPOISSON_RHS DDG_RHS DDG_MASS
22 eletdata.Tl = thermdata.Tl;
23 eletdata.Tn = thermdata.Tn;
24 eletdata.Tp = thermdata.Tp;
27 fprintf(1,'\n***\n***\tupdating potentials\n***\n');
30 [eletdata,innrm1]=ThDDGOXeletiteration(imesh,Dsides,...
31 Simesh,Sinodes,Sielements,SiDsides,...
32 eletdata,eltol,elmaxit,ptol,pmaxit,verbose);
33 eletnrm = [eletnrm,innrm1];
35 thermdata.n = eletdata.n;
36 thermdata.p = eletdata.p;
37 thermdata.V = eletdata.V;
40 fprintf(1,'\n***\n***\tupdating temperatures\n***\n');
43 [thermdata,innrm] = ThDDGOXthermaliteration(imesh,Dsides,...
44 Simesh,Sinodes,Sielements,SiDsides,...
45 thermdata,thtol,thmaxit,2);
48 thermnrm = [eletnrm,innrm];
50 nrm(ith) = max([innrm,innrm1]);
58 fprintf(1,"\n***\n***\tThDD simulation over: # \
59 of Global iterations = %d\n***\n",ith);
67 res = {nrm,eletnrm,thermnrm};