MathGroup Archive 1997

[Date Index] [Thread Index] [Author Index]

Search the Archive

Implementing finite elements in Mma ?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg7073] Implementing finite elements in Mma ?
  • From: jost at no-junk-mail.fr (Christian Jost)
  • Date: Sun, 4 May 1997 21:59:34 -0400 (EDT)
  • Organization: Universite Paris-Sud XI
  • Sender: owner-wri-mathgroup at wolfram.com

I try to test some simple (one-dimensional) finite-element algorithms in
Mathematica, and havn't found yet a way to program them in a way to keep
them symbolically integratable. The function below calculates the value of
the i-th linear finite element phi_i at time t based on the array of
timevalues that defines where the respective finite elements should be 1
or 0 (phi_i(t_j) = delta_ij (kronecker)). But the way its implemented only
allows for numerical integration. Any idea?

Thanks, Christian.

numberQ[x_] := NumberQ[N[x]]

BasisFunctions[i_Integer, t_Real,timeValue:{_?numberQ..}] :=
    Module[{posOfT,sublist,len,value},
         len = Length[timeValue];
     If[Length[(sublist= Position[(# < t)& /@timeValue,False])] > 0,
      posOfT = sublist[[1,1]];, posOfT = 0;];
      Which[t<timeValue[[1]], (* beginning of which*)
         value = 0.0,
         t>timeValue[[len]],
         0.0,
         posOfT == i,
         (t-timeValue[[posOfT-1]])/(timeValue[[posOfT]]-timeValue[[posOfT-1]]),
         posOfT == i+1,
         (timeValue[[posOfT]]-t)/(timeValue[[posOfT]]-timeValue[[posOfT-1]]),
         True,
         0.0 ] (* end of which *)
      ]

-- 
*********************************************************************
Christian Jost, Université Paris-Sud XI, Orsay, France

Please don't send any junk mail or advertisements. For personal mail please send to: Christian.Jost at epc.u-psud.fr


  • Prev by Date: L-Systems and Tilings in Mma
  • Next by Date: Re: MMA 3.0 buggy on NextStep/Intel?
  • Previous by thread: L-Systems and Tilings in Mma
  • Next by thread: OPTICA