| 3991 | |
| 3992 | |
| 3993 | CompoundFESpaceAllSame :: |
| 3994 | CompoundFESpaceAllSame (shared_ptr<FESpace> space, int dim, const Flags & flags, |
| 3995 | bool checkflags) |
| 3996 | : CompoundFESpace (space->GetMeshAccess(), flags) |
| 3997 | { |
| 3998 | order = space->GetOrder(); |
| 3999 | for (int i = 0; i < dim; i++) |
| 4000 | AddSpace (space); |
| 4001 | |
| 4002 | // interleaved: not yet implemented, will copy from VectorH1 |
| 4003 | interleaved = flags.GetDefineFlag("interleaved"); |
| 4004 | if (interleaved) |
| 4005 | throw Exception("CompoundFESpaceAllSame: Interleaved not yet supported"); |
| 4006 | |
| 4007 | for (auto vb : { VOL, BND, BBND, BBBND }) |
| 4008 | { |
| 4009 | if (auto eval = spaces[0] -> GetEvaluator(vb)) |
| 4010 | evaluator[vb] = make_shared<VectorDifferentialOperator> (eval, dim); |
| 4011 | if (auto fluxeval = spaces[0] -> GetFluxEvaluator(vb)) |
| 4012 | flux_evaluator[vb] = make_shared<VectorDifferentialOperator> (fluxeval, dim); |
| 4013 | } |
| 4014 | |
| 4015 | auto additional = spaces[0]->GetAdditionalEvaluators(); |
| 4016 | for (int i = 0; i < additional.Size(); i++) |
| 4017 | additional_evaluators.Set (additional.GetName(i), |
| 4018 | make_shared<VectorDifferentialOperator>(additional[i], dim)); |
| 4019 | |
| 4020 | type = "Vector"+(*this)[0]->type; |
| 4021 | } |
| 4022 | |
| 4023 | string CompoundFESpaceAllSame :: GetClassName () const |
| 4024 | { |
nothing calls this directly
no test coverage detected