← Back to team overview

dolfin team mailing list archive

Change interface for boundary conditions: operator() --> eval(). [...]

 

Commit from logg (2005-12-28 18:42 CET)
----------------

Change interface for boundary conditions: operator() --> eval().

New interface is

  void eval(BoundaryValue& value, const Point& p, unsigned int i)

Motivation:

1. Consistent with the new Function interface for user-defined functions.

2. Shorter implementations:

Old version:

  class MyBC : public BoundaryCondition
  {
    const BoundaryValue operator() (const Point& p)
    {
      BoundaryValue value;
      if ( std::abs(p.x - 1.0) < DOLFIN_EPS )
        value = 0.0;
      return value;
    }
  };

  class MyBC : public BoundaryCondition
  {
    void eval(BoundaryValue& value, const Point& p, unsigned int i)
    {
      if ( std::abs(p.x - 1.0) < DOLFIN_EPS )
        value = 0.0;
    }
  };

All modules and demos updated to the new interface.

  dolfin  ChangeLog                                          1.273
  dolfin  Makefile.in                                        1.137
  dolfin  aclocal.m4                                         1.159
  dolfin  configure                                          1.242
  dolfin  src/Makefile.in                                    1.139
  dolfin  src/config/Makefile.in                             1.140
  dolfin  src/demo/Makefile.in                               1.146
  dolfin  src/demo/fem/Makefile.in                           1.43
  dolfin  src/demo/fem/convergence/main.cpp                  1.7
  dolfin  src/demo/nls/Makefile.in                           1.10
  dolfin  src/demo/nls/nonlinearpoisson/main.cpp             1.5
  dolfin  src/demo/nls/poisson/main.cpp                      1.4
  dolfin  src/demo/poisson/main.cpp                          1.13
  dolfin  src/demo/scripting/Makefile.in                     1.29
  dolfin  src/demo/solvers/Makefile.in                       1.139
  dolfin  src/demo/solvers/convdiff/main.cpp                 1.22
  dolfin  src/demo/solvers/elasticity/main.cpp               1.17
  dolfin  src/demo/solvers/elasticity-updated/main.cpp       1.44
  dolfin  src/demo/solvers/heat/main.cpp                     1.13
  dolfin  src/demo/solvers/navierstokes/Makefile.in          1.106
  dolfin  src/demo/solvers/navierstokes/benchmark/main.cpp   1.33
  dolfin  src/demo/solvers/ode/Makefile.in                   1.123
  dolfin  src/demo/solvers/ode/homotopy/Makefile.in          1.68
  dolfin  src/demo/solvers/ode/modeling/Makefile.in          1.95
  dolfin  src/demo/solvers/poisson/main.cpp                  1.40
  dolfin  src/demo/solvers/stokes/main.cpp                   1.6
  dolfin  src/greeting/Makefile.in                           1.120
  dolfin  src/kernel/Makefile.in                             1.137
  dolfin  src/kernel/common/Makefile.in                      1.141
  dolfin  src/kernel/common/dolfin/Makefile.in               1.135
  dolfin  src/kernel/fem/BoundaryCondition.cpp               1.7
  dolfin  src/kernel/fem/FEM.cpp                             1.51
  dolfin  src/kernel/fem/Makefile.in                         1.150
  dolfin  src/kernel/fem/dolfin/BoundaryCondition.h          1.14
  dolfin  src/kernel/fem/dolfin/Makefile.in                  1.149
  dolfin  src/kernel/form/Makefile.in                        1.119
  dolfin  src/kernel/form/dolfin/Makefile.in                 1.119
  dolfin  src/kernel/function/Makefile.in                    1.112
  dolfin  src/kernel/function/dolfin/Makefile.in             1.113
  dolfin  src/kernel/io/Makefile.in                          1.146
  dolfin  src/kernel/io/dolfin/Makefile.in                   1.140
  dolfin  src/kernel/la/Makefile.in                          1.149
  dolfin  src/kernel/la/dolfin/Makefile.in                   1.146
  dolfin  src/kernel/log/Makefile.in                         1.127
  dolfin  src/kernel/log/dolfin/Makefile.in                  1.127
  dolfin  src/kernel/main/Makefile.in                        1.137
  dolfin  src/kernel/main/dolfin/Makefile.in                 1.132
  dolfin  src/kernel/math/Makefile.in                        1.128
  dolfin  src/kernel/math/dolfin/Makefile.in                 1.127
  dolfin  src/kernel/mesh/Makefile.in                        1.114
  dolfin  src/kernel/mesh/dolfin/Makefile.in                 1.113
  dolfin  src/kernel/nls/Makefile.in                         1.24
  dolfin  src/kernel/nls/dolfin/Makefile.in                  1.24
  dolfin  src/kernel/ode/Makefile.in                         1.145
  dolfin  src/kernel/ode/dolfin/Makefile.in                  1.142
  dolfin  src/kernel/parameter/Makefile.in                   1.6
  dolfin  src/kernel/parameter/dolfin/Makefile.in            1.7
  dolfin  src/kernel/quadrature/Makefile.in                  1.130
  dolfin  src/kernel/quadrature/dolfin/Makefile.in           1.130
  dolfin  src/modules/Makefile.in                            1.146
  dolfin  src/modules/convdiff/Makefile.in                   1.139
  dolfin  src/modules/convdiff/dolfin/Makefile.in            1.66
  dolfin  src/modules/dolfin/Makefile.in                     1.66
  dolfin  src/modules/elasticity/Makefile.in                 1.102
  dolfin  src/modules/elasticity/dolfin/Makefile.in          1.56
  dolfin  src/modules/elasticity-updated/Makefile.in         1.92
  dolfin  src/modules/elasticity-updated/dolfin/Makefile.in  1.53
  dolfin  src/modules/heat/Makefile.in                       1.46
  dolfin  src/modules/heat/dolfin/Makefile.in                1.29
  dolfin  src/modules/navierstokes/Makefile.in               1.137
  dolfin  src/modules/navierstokes/NSESolver.cpp             1.44
  dolfin  src/modules/navierstokes/dolfin/Makefile.in        1.66
  dolfin  src/modules/poisson/Makefile.in                    1.138
  dolfin  src/modules/poisson/dolfin/Makefile.in             1.67
  dolfin  src/modules/stokes/Makefile.in                     1.30
  dolfin  src/modules/stokes/dolfin/Makefile.in              1.28
  dolfin  src/post/Makefile.in                               1.123
  dolfin  src/pre/Makefile.in                                1.131
  dolfin  src/test/main.cpp                                  1.18
  dolfin  src/utils/Makefile.in                              1.134
  dolfin  src/utils/inp2dx/Makefile.in                       1.134



Follow ups