[dune-fem] Flux/Source terms in DgPrimalMatrixAssembly (Dune-FEM-DG)

Sahai, Amal sahai2 at illinois.edu
Thu Aug 10 19:08:37 CEST 2017


Hello

I have a question regarding the DgPrimalMatrixAssembly class from the DUNE-FEM-DG module. The code snippet I am interested in is from DgPrimalMatrixAssembly.assemble() in assemble/primalmatrix.hh:

            RangeType aphi(0);
            if ( model_.hasStiffSource() )
            {
              model_.stiffSource( local, phi[localCol], dphi[localCol], aphi );
            }
            if ( model_.hasNonStiffSource() )
            {
              RangeType sNonStiff (0);
              model_.nonStiffSource( local, phi[localCol], dphi[localCol], sNonStiff );
              aphi += sNonStiff;
            }
            // subtract affine part and move to left hand side
            aphi -= arhs;
            aphi *= -1;

            JacobianRangeType adphi;
            model_.diffusion( local, phi[localCol], dphi[localCol], adphi);

            JacobianRangeType bphi;
            model_.advection( local, phi[localCol], dphi[localCol], bphi);

Am I correct in assuming that the function call to compute the source / flux terms by the model only passes the values (and gradients) of the basis functions? If so, do these calculations not require the actual reconstructed solution (using the values from the DOFs)? I am unable to understand how these values  are being accessed by the model class.

Regards
Amal



More information about the dune-fem mailing list