test_subs - Generate equations from variational forms
Calling sequence:
test_subs(test_list,testfcn,expr)
Parameters
test_list - a list of test functions
test_fcn - a name of a variable to be used as a test function
expr - An expression.
Synopsis:
Examples:
> ueq:=0=diff(u(x),x,x); 2 d ueq := 0 = --- u(x) 2 dx > veq:=u(x)=diff(v(x),x,x); 2 d veq := u(x) = --- v(x) 2 dx > varForm:=ElementInt(ut(x) * (lhs(ueq)-rhs(ueq)))+ ElementInt(vt(x) * (lhs(veq)-rhs(veq))) =0: > pivarForm:=partInt(varForm,[u(x),v(x)]): > BCpivarForm:=BCsubs([diff(u(x),x)=q,diff(v(x),x)=0],pivarForm); /d \ /d \ BCpivarForm := ElementInt(|-- u(x)| |-- ut(x)|) \dx / \dx / - BoundaryInt(BdNx q ut(x)) + ElementInt(vt(x) u(x)) /d \ /d \ + ElementInt(|-- v(x)| |-- vt(x)|) = 0 \dx / \dx / > eqns:=test_subs([ut(x),vt(x)],test(x),BCpivarForm): > eqns[1];eqns[2]; /d \ /d \ ElementInt(|-- u(x)| |-- test(x)|) - BoundaryInt(BdNx q test(x)) = 0 \dx / \dx / /d \ /d \ ElementInt(test(x) u(x)) + ElementInt(|-- v(x)| |-- test(x)|) = 0 \dx / \dx /