← Back to team overview

dolfin team mailing list archive

Re: Add support for picking sub functions and components of functions. [...]

 

Quoting dolfin@xxxxxxxxxx:

> Commit from logg (2005-11-30 23:20 CET)
> ----------------
> 
> Add support for picking sub functions and components of functions.

Great! I have plenty of problems to test this on.

Garth


> 
> Functions can now be indexed to obtain sub functions of functions defined
> by a mixed element or components of vector-valued functions.
> 
> This means that for a Function w defined by a 3D Taylor-hood element with
> (3 + 1) components representing velocity u and pressure p, the following
> operations are now supported:
> 
> w = Function(...)
> 
> u = w[0]; // first sub function of w = (u, p)
> p = w[1]; // second sub function of w = (u, p)
> 
> u0 = u[0]; // first component of u
> u1 = u[1]; // second component of u
> u2 = u[2]; // third component of u
> 
> This means that it is now possible to for example save individual sub
> components
> to separate files or otherwise work on them separately.
> 
> The new implementation has passed some preliminary tests, but more testing
> is needed so please try out the new functionality and report any problems.
> 
> We should make a new release when we have done some more testing.
> 
>   dolfin  ChangeLog                                                      
> 1.252
>   dolfin  scripts/compileforms                                           
> 1.11
>   dolfin  src/demo/fem/convergence/Poisson2D_1.h                         
> 1.6
>   dolfin  src/demo/fem/convergence/Poisson2D_2.h                         
> 1.6
>   dolfin  src/demo/fem/convergence/Poisson2D_3.h                         
> 1.6
>   dolfin  src/demo/fem/convergence/Poisson2D_4.h                         
> 1.6
>   dolfin  src/demo/fem/convergence/Poisson2D_5.h                         
> 1.6
>   dolfin  src/demo/fem/convergence/Poisson3D_1.h                         
> 1.6
>   dolfin  src/demo/fem/convergence/Poisson3D_2.h                         
> 1.6
>   dolfin  src/demo/fem/convergence/Poisson3D_3.h                         
> 1.6
>   dolfin  src/demo/fem/convergence/Poisson3D_4.h                         
> 1.7
>   dolfin  src/demo/fem/convergence/Poisson3D_5.h                         
> 1.7
>   dolfin  src/demo/nls/Poisson.h                                         
> 1.3
>   dolfin  src/demo/nls/PoissonNl.h                                       
> 1.3
>   dolfin  src/demo/poisson/Poisson.h                                     
> 1.9
>   dolfin  src/demo/solvers/stokes/plotsolution.m                         
> 1.3
>   dolfin  src/kernel/fem/FEM.cpp                                         
> 1.42
>   dolfin  src/kernel/fem/Makefile.am                                     
> 1.27
>   dolfin  src/kernel/fem/Makefile.in                                     
> 1.140
>   dolfin  src/kernel/fem/dolfin/FiniteElement.h                          
> 1.22
>   dolfin  src/kernel/fem/dolfin/Makefile.am                              
> 1.22
>   dolfin  src/kernel/fem/dolfin/Makefile.in                              
> 1.139
>   dolfin  src/kernel/fem/dolfin/MassMatrix2D.h                           
> 1.6
>   dolfin  src/kernel/fem/dolfin/MassMatrix3D.h                           
> 1.6
>   dolfin  src/kernel/fem/dolfin/P1Tet.h                                  
> 1.5
> + dolfin  src/kernel/fem/dolfin/P1TetTemplate.h                          
> 1.1
>   dolfin  src/kernel/fem/dolfin/P1Tri.h                                  
> 1.5
> + dolfin  src/kernel/fem/dolfin/P1TriTemplate.h                          
> 1.1
>   dolfin  src/kernel/fem/dolfin/StiffnessMatrix2D.h                      
> 1.7
>   dolfin  src/kernel/fem/dolfin/StiffnessMatrix3D.h                      
> 1.7
>   dolfin  src/kernel/function/DiscreteFunction.cpp                       
> 1.3
>   dolfin  src/kernel/function/Function.cpp                               
> 1.28
>   dolfin  src/kernel/function/FunctionPointerFunction.cpp                
> 1.3
>   dolfin  src/kernel/function/Makefile.in                                
> 1.102
>   dolfin  src/kernel/function/UserFunction.cpp                           
> 1.3
>   dolfin  src/kernel/function/dolfin/DiscreteFunction.h                  
> 1.3
>   dolfin  src/kernel/function/dolfin/FunctionPointerFunction.h           
> 1.3
>   dolfin  src/kernel/function/dolfin/GenericFunction.h                   
> 1.8
>   dolfin  src/kernel/function/dolfin/Makefile.in                         
> 1.102
>   dolfin  src/kernel/function/dolfin/UserFunction.h                      
> 1.3
>   dolfin  src/kernel/nls/Makefile.in                                     
> 1.14
>   dolfin  src/kernel/nls/dolfin/Makefile.in                              
> 1.14
>   dolfin  src/kernel/settings/Makefile.in                                
> 1.114
>   dolfin  src/kernel/settings/dolfin/Makefile.in                         
> 1.114
>   dolfin  src/modules/convdiff/dolfin/ConvectionDiffusion.h              
> 1.20
>   dolfin  src/modules/elasticity/dolfin/Elasticity.h                     
> 1.22
>   dolfin  src/modules/elasticity/dolfin/ElasticityMass.h                 
> 1.15
>   dolfin  src/modules/elasticity-updated/dolfin/ElasticityUpdated.h      
> 1.15
>   dolfin  src/modules/elasticity-updated/dolfin/ElasticityUpdatedMass.h  
> 1.10
>   dolfin  src/modules/elasticity-updated/dolfin/ElasticityUpdatedSigma.h 
> 1.14
>   dolfin  src/modules/heat/dolfin/Heat.h                                 
> 1.4
>   dolfin  src/modules/navierstokes/dolfin/NSEContinuity.h                
> 1.10
>   dolfin  src/modules/navierstokes/dolfin/NSEMomentum.h                  
> 1.10
>   dolfin  src/modules/poisson/dolfin/Poisson.h                           
> 1.22
>   dolfin  src/modules/stokes/StokesSolver.cpp                            
> 1.3
>   dolfin  src/modules/stokes/dolfin/Stokes.h                             
> 1.4
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev
> 



Follow ups

References