Environment env( _argc=argc, _argv=argv,
_about=about(_name="laplacian_dg",
_author="Feel++ Consortium",
_email="feelpp-devel@feelpp.org"));
auto mesh = loadMesh( _mesh=new Mesh<Hypercube<2>> );
auto Vh = Pdh<1>( mesh, true );
auto Xh = Pch<1>( mesh );
auto u = Vh->element();
auto v = Vh->element();
auto l = form1( _test=Vh );
l = integrate(_range=elements(mesh),
_expr=id(v));
auto a = form2( _trial=Vh, _test=Vh,
_pattern=size_type(Pattern::EXTENDED) );
a = integrate(_range=elements(mesh),
_expr=gradt(u)*trans(grad(v)) );
a +=integrate( internalfaces( mesh ),
-averaget( gradt( u ) )*jump( id( v ) )
-average( grad( v ) )*jumpt( idt( u ) )
+ 50* ( trans( jumpt( idt( u ) ) )*jump( id( v ) ) )/hFace() );
a += integrate( boundaryfaces( mesh ),
( - trans( id( v ) )*( gradt( u )*N() )
- trans( idt( u ) )*( grad( v )*N() )
+ 50*trans( idt( u ) )*id( v )/hFace() ) );
a.solve(_rhs=l,_solution=u);
auto p = opProjection( _domainSpace=Xh, _imageSpace=Xh, _type=L2 );
auto uc = p->project( idv(u) );
auto e = exporter( _mesh=mesh );
e->add( "u", u );
e->add( "uc", uc );
e->save();