Index: ../trunk-jpl/test/NightlyRun/ad.m =================================================================== --- ../trunk-jpl/test/NightlyRun/ad.m (revision 13507) +++ ../trunk-jpl/test/NightlyRun/ad.m (revision 13508) @@ -7,19 +7,20 @@ md.autodiff.isautodiff=true; md.verbose.autodiff=true; md.autodiff.independents={... - independent('name','Thickness','type','vertex','nods',md.mesh.numberofvertices,'fov_forward_indices',(1:md.mesh.numberofvertices)') + independent('name','Thickness','type','vertex','nods',md.mesh.numberofvertices); + %independent('name','Thickness','type','vertex','nods',md.mesh.numberofvertices,'fov_forward_indices',(1:md.mesh.numberofvertices)') %independent('name','Thickness','type','vertex','nods',md.mesh.numberofvertices,'fos_forward_index',1) }; md.autodiff.dependents={... - dependent('name','IceVolume','type','scalar')... - dependent('name','MaxVel','type','scalar')... - dependent('name','MassFlux','type','scalar','exp','../Exp/MassFlux1.exp','mesh',md.mesh,'index',1)... - dependent('name','MassFlux','type','scalar','exp','../Exp/MassFlux2.exp','mesh',md.mesh,'index',2)... + dependent('name','MaxVel','type','scalar','fos_reverse_index',1)... + %dependent('name','IceVolume','type','scalar')... + %dependent('name','MassFlux','type','scalar','exp','../Exp/MassFlux1.exp','mesh',md.mesh,'index',1)... + %dependent('name','MassFlux','type','scalar','exp','../Exp/MassFlux2.exp','mesh',md.mesh,'index',2)... }; %md.autodiff.driver='fos_forward'; -md.autodiff.driver='fov_forward'; +md.autodiff.driver='fos_reverse'; md=solve(md,TransientSolutionEnum); Index: ../trunk-jpl/test/NightlyRun/test3019.m =================================================================== --- ../trunk-jpl/test/NightlyRun/test3019.m (revision 0) +++ ../trunk-jpl/test/NightlyRun/test3019.m (revision 13508) @@ -0,0 +1,35 @@ +md=triangle(model,'../Exp/Square.exp',100000); +md=setmask(md,'all',''); +md=parameterize(md,'../Par/SquareShelfConstrained.par'); +md=setflowequation(md,'macayeal','all'); +md.cluster=generic('name',oshostname(),'np',3); + +md.autodiff.isautodiff=true; +md.verbose.autodiff=true; + +%first run scalar reverse mode: +md.autodiff.independents={independent('name','Thickness','type','vertex','nods',md.mesh.numberofvertices)}; +md.autodiff.dependents={dependent('name','MaxVel','type','scalar','fos_reverse_index',1)}; +md.autodiff.driver='fos_reverse'; + +md=solve(md,TransientSolutionEnum); + +%recover jacobian: +jac_reverse=md.results.TransientSolution(1).AutodiffJacobian; + + +%now run vectorial forward mode +md.autodiff.independents={independent('name','Thickness','type','vertex','nods',md.mesh.numberofvertices,'fov_forward_indices',(1:md.mesh.numberofvertices)')}; +md.autodiff.dependents={dependent('name','MaxVel','type','scalar')}; +md.autodiff.driver='fov_forward'; + +md=solve(md,TransientSolutionEnum); + +%recover jacobian: +jac_forward=md.results.TransientSolution(1).AutodiffJacobian; + + +%Fields and tolerances to track changes +field_names ={'Jac Forward','Jac Reverse','Jac Forward - Reverse'}; +field_tolerances={1e-13,1e-13,1e-13}; +field_values={jac_forward,jac_reverse,jac_forward-jac_reverse}; Index: ../trunk-jpl/test/Archives/Archive3019.nc =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: ../trunk-jpl/test/Archives/Archive3019.nc =================================================================== --- ../trunk-jpl/test/Archives/Archive3019.nc (revision 13507) +++ ../trunk-jpl/test/Archives/Archive3019.nc (revision 13508) Property changes on: ../trunk-jpl/test/Archives/Archive3019.nc ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream