i have questions regarding the use of higher order elements.
THe situation is the following:
the mesh is created with salome and consists of linear tets and wedges. The wedges form a boundary layer at the boundary of concern.
i would like to use the "Element=p:2" funcionality in my solver now.
I solve diffusion like pdes with integral constraints (mass conservation)
my questions:
is it still true that the unknowns at some point is the some of the unknown values times the basis function value? u(x)=sum u_i*basis_i(x)
i had allok at my initial solution and there i saw that the values of the solution for the higher order basis functions is zero in the beginning and for the first n (= number of nodes) values it is set to the actual initial value? why is that?
do i have to treat my integral constraint different than to the simple linear case? i use:
Code: Select all
...
n = GetElementNOFNodes(Element)
nd = GetElementDOFs(Indexes,Element)
...
getlocalsolution(prevol_n,-1)
DO t=1,IP % n
stat = ElementInfo( Element, Nodes, IP % U(t), IP % V(t), &
IP % W(t), detJ, Basis, dBasisdx )
s = IP % s(t) * DetJ
prevsol(i)=sum(prevsol_n(i,:)*basis(:))
do p=1,nd
pp=Solver%Variable%Perm(Indexes(p))
constraint_values(pp)=constraint_values(pp)+Basis(p)*s
constraint_rhs=constraint_rhs+prevsol*Basis(p)*s
end do
end do
the constraints are then put into the system via the constarint matrix functinoality. all that works in the linear case.
somehow it doesnt work if i use the "element =p:2" in the solver section.
any tips are highly appreciated.
best regards
Franz