Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Boundary values may only be specified for one independent variable. Initial values may only be specified at one value of the other independent variable. >>
- Needs["NDSolve`FEM`"]
- EE = 10000;
- [Alpha] = 1;
- [Beta] = 2500000;
- [Kappa] = 1/10000;
- H = 5;
- S0 = 1;
- DD[z_, t_] = 0;
- [Epsilon][z_, t_] = Derivative[1, 0][U][z, t]
- SigS[z_, t_] = EE [Epsilon][z, t];
- SigT[z_, t_] = SigS[z, t] + [Alpha] P[z, t];
- eq1 = Derivative[1, 0][SigT][z, t]
- eq2 = (1/[Beta]) Derivative[0, 1][P][z,
- t] - [Alpha] Derivative[1, 1][U][z,
- t] - [Kappa] Derivative[2, 0][P][z, t]
- DE[z_, t_] = Derivative[1, 0][[Epsilon]][z, t];
- eq3 = DirichletCondition[U[z, t] == 0, {z == 0}]
- eq4 = DirichletCondition[P[z, t] == 0, {z == 0}]
- eq5 = DirichletCondition[P[z, t] == 0, {z == 2 H}]
- eq6 = DirichletCondition[P[z, t] == S0, {z < 2 H, t == 0}]
- eq7 = [Epsilon][z, t] == NeumannValue[1/EE, z == 2 H]
- BC = {eq3, eq4, eq5, eq6}
- tF = 100;
- [CapitalOmega] = ImplicitRegion[True, {{z, 0, 10}, {t, 0, tF}}]
- mesh = DiscretizeRegion[[CapitalOmega], MaxCellMeasure -> 0.01];
- NDSolve[{eq1 == -NeumannValue[S0, z == 2 H], eq2 == 0, eq3, eq4, eq5,
- eq6}, {U, P}, {z, 0, 10}, {t, 0, tF}, AccuracyGoal -> [Infinity],
- Method -> {"MethodOfLines",
- "SpatialDiscretization" -> {"TensorProductGrid",
- "MinStepSize" -> tF/10, "DifferenceOrder" -> "Pseudospectral"}}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement