Hi Jon

The FEValuesExtractors::Vector is for first-order tensors as you say and not 
arbitrary size vectors. 

You can however create a std::vector of FEValuesExtractors::Scalar extractors. 
The following example had displacement (\in R^dim), \gamma (\in R^ 
n_slip_systems) and yield ( \in R^ n_slip_systems) as nodal variables: 

    // generate displacement, slip and yield shape function views
    const FEValuesExtractors::Vector displacements_fe(0);
    std::vector<FEValuesExtractors::Scalar> gamma_fe;
    std::vector<FEValuesExtractors::Scalar> yield_fe;
    for (unsigned int alpha = 0; alpha < n_slip_systems; alpha++) {
        gamma_fe.push_back(FEValuesExtractors::Scalar(deal_II_dimension + 
alpha));
        yield_fe.push_back(FEValuesExtractors::Scalar(deal_II_dimension + 
n_slip_systems + alpha));
    }


Regards
Andrew


On 16 Aug 2010, at 6:23 PM, Jonathan Pitt wrote:

> Wolfgang,
> 
> Yes, this helps in that it confirms that my present course of action isn't 
> foolish, but rather what others would think to do as well!
> 
> One question I've run across in this: FEValuesExtractors::Vector creates a 
> grouping of scalar elements dim long into a vector, but I need a grouping of 
> dim+1 (because my triangulation is 2D, but my FESystem is 3D).  Is there a 
> way to get this with what is currently implemented?
> 
> Thanks,
> 
> Jon
> 
> 
> 
> 
> On Wed, Aug 11, 2010 at 8:59 AM, Wolfgang Bangerth <[email protected]> 
> wrote:
> 
> Jon,
> 
> > Thanks for the question.  I'm trying to create a formulation which retains
> > all three components of displacement, but with no dependence on the \phi
> > coordinate.  It is not necessarily true that the u_\phi component will be
> > constant, it just has to be free of dependence on \phi.
> 
> I see. So you would have a 2-dimensional domain (x-z) but a 3-component
> problem (x-z-phi displacements)?
> 
> In that case, deal.II would give you a 3x2 matrix for the gradients, which you
> will have to extend to a 3x3 matrix. You'll probably want to compute dot
> products of gradients in some simple way, so you should transform the 3x3
> matrix into cartesian coordinates rather than leaving them in cylindrical
> coordinates.
> 
> Does that help? I'm not quite sure any more what the exact question was ;-)
> 
> Cheers
>  W.
> 
> -------------------------------------------------------------------------
> Wolfgang Bangerth                email:            [email protected]
>                                 www: http://www.math.tamu.edu/~bangerth/
> 
> 
> _______________________________________________
> dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to