~ubuntu-branches/ubuntu/saucy/rheolef/saucy

« back to all changes in this revision

Viewing changes to nfem/lib/field.h

  • Committer: Bazaar Package Importer
  • Author(s): Pierre Saramito
  • Date: 2011-02-08 10:00:06 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20110208100006-jg8rarizvhdm8e82
Tags: 5.92-1
* New upstream release:
  - "rheolef" suffix added to all unix manuals (Closes: #607117)
  - minor source code fixes for g++-4.5 (Closes: #607184)
  - minor reference manual fix (Closes: #607038)
* debian/control: libboost-iostreams-dev dependency added, as required
  by the new upstream version.
 

Show diffs side-by-side

added added

removed removed

Lines of Context:
114
114
    explicit field (const class form_diag& D);
115
115
             field (const field_component& ui);
116
116
             field (const const_field_component& ui);
 
117
              //! copy field v into the space V with different blocked/unknown dofs.
 
118
             field (const space& V, const field& v);
117
119
 
118
120
    // return the field on an optimized mesh
119
121
    friend field adapt (const class field& criteria, const Float& hcoef);
199
201
 
200
202
    friend std::ostream& operator << (std::ostream& s, const field& x);
201
203
    friend std::istream& operator >> (std::istream& s, field& x);
202
 
    void save (std::string basename = std::string()) const;
 
204
    void save (std::string basename = std::string(), std::string username = std::string()) const;
203
205
    void put_vtk (std::ostream& s,
204
206
        const std::string& name = "scalars", bool put_header = true) const;
205
207
    std::ostream& put_vtk_vector (std::ostream& vtk,
211
213
 
212
214
// specific:
213
215
 
 
216
        //! Transforms a P_k continuous on subdomains to a P_k discontinuous (currently k=1 only)
214
217
    field piecewise_to_discontinuous() const;
215
 
        //! Transforms a P_k continuous on subdomains to a P_k discontinuous (currently k=1 only)
216
218
 
217
219
// implementation:
 
220
        //! change to use tangential-normal representation locally 
218
221
    void set_locked_boundaries ();   
219
 
        //! change to use tangential-normal representation locally 
 
222
        //! change to use cartesian/cylindrical representation everywhere
220
223
    void unset_locked_boundaries (); 
221
 
        //! change to use cartesian/cylindrical representation everywhere
222
224
    bool locked_boundaries_set () const { return _locked_boundaries_set; }
223
225
 
224
226
protected:
311
313
                tiny_vector<Float>& dofv, size_type i_comp = 0) const;
312
314
     //! same but with K defined in the global mesh
313
315
    Float evaluate (const meshpoint& S, size_type i_comp = 0) const;
314
 
    void evaluate (const meshpoint& S, point& result) const;
 
316
    void  evaluate (const meshpoint& S, point& result) const;
315
317
    Float evaluate_d_dxi (size_type i, const meshpoint& S, size_type i_comp=0) const;
316
318
    Float evaluate (const point& x_hat, size_type e, size_type i_comp = 0) const
317
319
                { return evaluate(meshpoint(x_hat,e), i_comp); }