47 std::map<uint, const ElementWithCell<G>*>
elm_;
55 template<
class F,
class G,
class H,
class I>
59 : spc_(spc), coeff_(spc_->dim()), fun_(&
fun)
62 DEBUGL(PWFormVecBaseConstr_D,
"Space = " << *
spc_);
67 DEBUGL(PWFormVecBaseConstr_D,
"Element = " << e);
73 DEBUGL(PWFormVecBaseConstr_D,
"Mapping Cell -> Element = " <<
77 template<
class F,
class G,
class H,
class I>
81 typename std::map<uint, const ElementWithCell<G>*>
::
84 if (i != elm_.end())
return i->second;
87 for(
uint j = 0; ( child = cell.
child(j) ) ; ++j) {
98 template<u
int dim,
class F,
class G,
class H>
110 const Real t = 0.0)
const;
112 const Real t = 0.0)
const;
114 const Real t = 0.0)
const;
117 template<u
int dim,
class F,
class G,
class H>
118 PiecewiseFormulaVector<dim,F,G,H>::PiecewiseFormulaVector
119 (
const Space<G>& spc,
const Vector<F>& coeff,
120 const ElementFunction<H,G>&
fun) :
121 PiecewiseFormulaVectorBase<F,G,Point<H,dim>,H>(spc, coeff,
fun) {}
123 template<u
int dim,
class F,
class G,
class H>
132 (*this->fun_)(*elm, this->coeff_, val, p, t);
140 template<u
int dim,
class F,
class G,
class H>
149 (*this->fun_)(*elm, this->coeff_, val, p, t);
157 template<u
int dim,
class F,
class G,
class H>
158 Point<H,dim> PiecewiseFormulaVector<dim,F,G,H>::operator()
159 (
const Connector& cell,
const Real3d& p,
const Real t)
const
166 (*this->fun_)(*elm, this->coeff_, val, p, t);
176 template<
class F,
class G,
class H>
188 const Real t = 0.0)
const;
190 const Real t = 0.0)
const;
192 const Real t = 0.0)
const;
195 template<
class F,
class G,
class H>
196 PiecewiseFormulaVector<1,F,G,H>::PiecewiseFormulaVector
197 (
const Space<G>& spc,
const Vector<F>& coeff,
198 const ElementFunction<H,G>&
fun) :
199 PiecewiseFormulaVectorBase<F,G,H,H>(spc, coeff,
fun) {}
201 template<
class F,
class G,
class H>
209 (*this->fun_)(*elm, this->coeff_, val, p, t);
216 template<
class F,
class G,
class H>
221 DEBUGL(0,
"Cell = " << cell);
223 DEBUGL(0,
"Element = " << *elm);
226 (*this->fun_)(*elm, this->coeff_, val, p, t);
228 DEBUGL(0,
"p = " << p <<
", Value = " << val[0]);
234 template<
class F,
class G,
class H>
235 H PiecewiseFormulaVector<1,F,G,H>::operator()
236 (
const Connector& cell,
const Real3d& p,
const Real t)
const
238 DEBUGL(0,
"Cell = " << cell);
241 DEBUGL(0,
"Element = " << *elm);
244 (*this->fun_)(*elm, this->coeff_, val, p, t);
246 DEBUGL(0,
"p = " << p <<
", Value = " << val[0]);