Specific Numerical Eigenfunctions of Helmholtz equation in 3D for ellipsoidsNumerically solving Helmholtz equation in 3D for arbitrary shapesTutorial for basic numerical methods for PDEsSolving the Helmholtz equation in polar coordinatesNumerically solving Helmholtz equation in 2D for arbitrary shapesNumerically solving Helmholtz equation in 3D for arbitrary shapesFinite Element Mass and Stiffness MatricesNumerically Solving Helmholtz over the Rectangle - Why does this code only give eigenfunctions of the form $u_m1$failure of code with Helmholtz equation with point sourcesolving PDE equation like Helmholtz equation in 2DComparing analytical solution with numerical solution of Helmholtz equation in a unit squareNDSolve post-processing: Calculate the flow over a FEM-boundary
Where is sum(vin) > sum(vout) check in Bitcoin Core?
How to Reset Passwords on Multiple Websites Easily?
QGIS Polygon Selection
How will losing mobility of one hand affect my career as a programmer?
Tiptoe or tiphoof? Adjusting words to better fit fantasy races
How do I go from 300 unfinished/half written blog posts, to published posts?
Go Pregnant or Go Home
Opposite of a diet
How to check is there any negative term in a large list?
What does this 7 mean above the f flat
What is the best translation for "slot" in the context of multiplayer video games?
How to draw lines on a tikz-cd diagram
Can I Retrieve Email Addresses from BCC?
How does it work when somebody invests in my business?
Is there a good way to store credentials outside of a password manager?
Why is Lord Kartikeya called 'Devasenapati'?
Is this version of a gravity generator feasible?
How did Arya survive the stabbing?
Implement the Thanos sorting algorithm
Flag only first row where condition is met in a DataFrame
How long to clear the 'suck zone' of a turbofan after start is initiated?
Valid Badminton Score?
Is HostGator storing my password in plaintext?
How can we prove that any integral in the set of non-elementary integrals cannot be expressed in the form of elementary functions?
Specific Numerical Eigenfunctions of Helmholtz equation in 3D for ellipsoids
Numerically solving Helmholtz equation in 3D for arbitrary shapesTutorial for basic numerical methods for PDEsSolving the Helmholtz equation in polar coordinatesNumerically solving Helmholtz equation in 2D for arbitrary shapesNumerically solving Helmholtz equation in 3D for arbitrary shapesFinite Element Mass and Stiffness MatricesNumerically Solving Helmholtz over the Rectangle - Why does this code only give eigenfunctions of the form $u_m1$failure of code with Helmholtz equation with point sourcesolving PDE equation like Helmholtz equation in 2DComparing analytical solution with numerical solution of Helmholtz equation in a unit squareNDSolve post-processing: Calculate the flow over a FEM-boundary
$begingroup$
I am trying to compute the eigenfunctions of an oblate spheroid (a=75 cm and b=60 cm) using Mathematica's FEM package and Chris' answer from here. Specifically, I am looking for eigenfrequencies around 433, 893, 913 and 2400 MGHz. Is there any way I could narrow my search besides getting all eigenfrequencies initially and then looking for the desired outcome which is impractical?
Here is my code for the first 4 eigenmodes:
Needs["NDSolve`FEM`"];
helmholzSolve3D[g_, numEigenToCompute_Integer,
opts : OptionsPattern[]] :=
Module[u, x, y, z, t, pde, dirichletCondition, mesh, boundaryMesh,
nr, state, femdata, initBCs, methodData, initCoeffs, vd, sd,
discretePDE, discreteBCs, load, stiffness, damping, pos, nDiri,
numEigen, res, eigenValues, eigenVectors,
evIF,
(*Discretize the region*)
If[Head[g] === ImplicitRegion || Head[g] === ParametricRegion,
mesh = ToElementMesh[DiscretizeRegion[g, opts], opts],
mesh = ToElementMesh[DiscretizeGraphics[g, opts], opts]];
boundaryMesh = ToBoundaryMesh[mesh];
(*Set up the PDE and boundary condition*)
pde = D[u[t, x, y, z], t] - Laplacian[u[t, x, y, z], x, y, z] +
u[t, x, y, z] == 0;
dirichletCondition = DirichletCondition[u[t, x, y, z] == 0, True];
(*Pre-process the equations to obtain the FiniteElementData in
StateData*)nr = ToNumericalRegion[mesh];
state =
NDSolve`ProcessEquations[pde, dirichletCondition,
u[0, x, y, z] == 0, u, t, 0, 1, Element[x, y, z, nr]];
femdata = state["FiniteElementData"];
initBCs = femdata["BoundaryConditionData"];
methodData = femdata["FEMMethodData"];
initCoeffs = femdata["PDECoefficientData"];
(*Set up the solution*)vd = methodData["VariableData"];
sd = NDSolve`SolutionData["Space" -> nr, "Time" -> 0.];
(*Discretize the PDE and boundary conditions*)
discretePDE = DiscretizePDE[initCoeffs, methodData, sd];
discreteBCs = DiscretizeBoundaryConditions[initBCs, methodData, sd];
(*Extract the relevant matrices and deploy the boundary conditions*)
load = discretePDE["LoadVector"];
stiffness = discretePDE["StiffnessMatrix"];
damping = discretePDE["DampingMatrix"];
DeployBoundaryConditions[load, stiffness, damping, discreteBCs];
(*Set the number of eigenvalues ignoring the Dirichlet positions*)
pos = discreteBCs["DirichletMatrix"]["NonzeroPositions"][[All, 2]];
nDiri = Length[pos];
numEigen = numEigenToCompute + nDiri;
(*Solve the eigensystem*)
res = Eigensystem[stiffness, damping, -numEigen];
res = Reverse /@ res;
eigenValues = res[[1, nDiri + 1 ;; Abs[numEigen]]];
eigenVectors = res[[2, nDiri + 1 ;; Abs[numEigen]]];
evIF = ElementMeshInterpolation[mesh, #] & /@ eigenVectors;
(*Return the relevant information*)
eigenValues, evIF, mesh]
ev, if, mesh =
helmholzSolve3D[Ellipsoid[0, 0, 0, 0.75, 0.6, 0.6], 4,
MaxCellMeasure -> 0.025]
Table[
DensityPlot[
if[[i]][x, y, 0.1], x, -1, 1, y, -1, 1,
RegionFunction -> Function[x, y, x^2/0.75^2 + y^2/0.6^2 < 1],
PlotLabel -> ev[i] ,
ColorFunction -> Hue,
PlotLegends -> Automatic
],
i, 1, 4
]
Any suggestions?
differential-equations numerics finite-element-method
$endgroup$
add a comment |
$begingroup$
I am trying to compute the eigenfunctions of an oblate spheroid (a=75 cm and b=60 cm) using Mathematica's FEM package and Chris' answer from here. Specifically, I am looking for eigenfrequencies around 433, 893, 913 and 2400 MGHz. Is there any way I could narrow my search besides getting all eigenfrequencies initially and then looking for the desired outcome which is impractical?
Here is my code for the first 4 eigenmodes:
Needs["NDSolve`FEM`"];
helmholzSolve3D[g_, numEigenToCompute_Integer,
opts : OptionsPattern[]] :=
Module[u, x, y, z, t, pde, dirichletCondition, mesh, boundaryMesh,
nr, state, femdata, initBCs, methodData, initCoeffs, vd, sd,
discretePDE, discreteBCs, load, stiffness, damping, pos, nDiri,
numEigen, res, eigenValues, eigenVectors,
evIF,
(*Discretize the region*)
If[Head[g] === ImplicitRegion || Head[g] === ParametricRegion,
mesh = ToElementMesh[DiscretizeRegion[g, opts], opts],
mesh = ToElementMesh[DiscretizeGraphics[g, opts], opts]];
boundaryMesh = ToBoundaryMesh[mesh];
(*Set up the PDE and boundary condition*)
pde = D[u[t, x, y, z], t] - Laplacian[u[t, x, y, z], x, y, z] +
u[t, x, y, z] == 0;
dirichletCondition = DirichletCondition[u[t, x, y, z] == 0, True];
(*Pre-process the equations to obtain the FiniteElementData in
StateData*)nr = ToNumericalRegion[mesh];
state =
NDSolve`ProcessEquations[pde, dirichletCondition,
u[0, x, y, z] == 0, u, t, 0, 1, Element[x, y, z, nr]];
femdata = state["FiniteElementData"];
initBCs = femdata["BoundaryConditionData"];
methodData = femdata["FEMMethodData"];
initCoeffs = femdata["PDECoefficientData"];
(*Set up the solution*)vd = methodData["VariableData"];
sd = NDSolve`SolutionData["Space" -> nr, "Time" -> 0.];
(*Discretize the PDE and boundary conditions*)
discretePDE = DiscretizePDE[initCoeffs, methodData, sd];
discreteBCs = DiscretizeBoundaryConditions[initBCs, methodData, sd];
(*Extract the relevant matrices and deploy the boundary conditions*)
load = discretePDE["LoadVector"];
stiffness = discretePDE["StiffnessMatrix"];
damping = discretePDE["DampingMatrix"];
DeployBoundaryConditions[load, stiffness, damping, discreteBCs];
(*Set the number of eigenvalues ignoring the Dirichlet positions*)
pos = discreteBCs["DirichletMatrix"]["NonzeroPositions"][[All, 2]];
nDiri = Length[pos];
numEigen = numEigenToCompute + nDiri;
(*Solve the eigensystem*)
res = Eigensystem[stiffness, damping, -numEigen];
res = Reverse /@ res;
eigenValues = res[[1, nDiri + 1 ;; Abs[numEigen]]];
eigenVectors = res[[2, nDiri + 1 ;; Abs[numEigen]]];
evIF = ElementMeshInterpolation[mesh, #] & /@ eigenVectors;
(*Return the relevant information*)
eigenValues, evIF, mesh]
ev, if, mesh =
helmholzSolve3D[Ellipsoid[0, 0, 0, 0.75, 0.6, 0.6], 4,
MaxCellMeasure -> 0.025]
Table[
DensityPlot[
if[[i]][x, y, 0.1], x, -1, 1, y, -1, 1,
RegionFunction -> Function[x, y, x^2/0.75^2 + y^2/0.6^2 < 1],
PlotLabel -> ev[i] ,
ColorFunction -> Hue,
PlotLegends -> Automatic
],
i, 1, 4
]
Any suggestions?
differential-equations numerics finite-element-method
$endgroup$
add a comment |
$begingroup$
I am trying to compute the eigenfunctions of an oblate spheroid (a=75 cm and b=60 cm) using Mathematica's FEM package and Chris' answer from here. Specifically, I am looking for eigenfrequencies around 433, 893, 913 and 2400 MGHz. Is there any way I could narrow my search besides getting all eigenfrequencies initially and then looking for the desired outcome which is impractical?
Here is my code for the first 4 eigenmodes:
Needs["NDSolve`FEM`"];
helmholzSolve3D[g_, numEigenToCompute_Integer,
opts : OptionsPattern[]] :=
Module[u, x, y, z, t, pde, dirichletCondition, mesh, boundaryMesh,
nr, state, femdata, initBCs, methodData, initCoeffs, vd, sd,
discretePDE, discreteBCs, load, stiffness, damping, pos, nDiri,
numEigen, res, eigenValues, eigenVectors,
evIF,
(*Discretize the region*)
If[Head[g] === ImplicitRegion || Head[g] === ParametricRegion,
mesh = ToElementMesh[DiscretizeRegion[g, opts], opts],
mesh = ToElementMesh[DiscretizeGraphics[g, opts], opts]];
boundaryMesh = ToBoundaryMesh[mesh];
(*Set up the PDE and boundary condition*)
pde = D[u[t, x, y, z], t] - Laplacian[u[t, x, y, z], x, y, z] +
u[t, x, y, z] == 0;
dirichletCondition = DirichletCondition[u[t, x, y, z] == 0, True];
(*Pre-process the equations to obtain the FiniteElementData in
StateData*)nr = ToNumericalRegion[mesh];
state =
NDSolve`ProcessEquations[pde, dirichletCondition,
u[0, x, y, z] == 0, u, t, 0, 1, Element[x, y, z, nr]];
femdata = state["FiniteElementData"];
initBCs = femdata["BoundaryConditionData"];
methodData = femdata["FEMMethodData"];
initCoeffs = femdata["PDECoefficientData"];
(*Set up the solution*)vd = methodData["VariableData"];
sd = NDSolve`SolutionData["Space" -> nr, "Time" -> 0.];
(*Discretize the PDE and boundary conditions*)
discretePDE = DiscretizePDE[initCoeffs, methodData, sd];
discreteBCs = DiscretizeBoundaryConditions[initBCs, methodData, sd];
(*Extract the relevant matrices and deploy the boundary conditions*)
load = discretePDE["LoadVector"];
stiffness = discretePDE["StiffnessMatrix"];
damping = discretePDE["DampingMatrix"];
DeployBoundaryConditions[load, stiffness, damping, discreteBCs];
(*Set the number of eigenvalues ignoring the Dirichlet positions*)
pos = discreteBCs["DirichletMatrix"]["NonzeroPositions"][[All, 2]];
nDiri = Length[pos];
numEigen = numEigenToCompute + nDiri;
(*Solve the eigensystem*)
res = Eigensystem[stiffness, damping, -numEigen];
res = Reverse /@ res;
eigenValues = res[[1, nDiri + 1 ;; Abs[numEigen]]];
eigenVectors = res[[2, nDiri + 1 ;; Abs[numEigen]]];
evIF = ElementMeshInterpolation[mesh, #] & /@ eigenVectors;
(*Return the relevant information*)
eigenValues, evIF, mesh]
ev, if, mesh =
helmholzSolve3D[Ellipsoid[0, 0, 0, 0.75, 0.6, 0.6], 4,
MaxCellMeasure -> 0.025]
Table[
DensityPlot[
if[[i]][x, y, 0.1], x, -1, 1, y, -1, 1,
RegionFunction -> Function[x, y, x^2/0.75^2 + y^2/0.6^2 < 1],
PlotLabel -> ev[i] ,
ColorFunction -> Hue,
PlotLegends -> Automatic
],
i, 1, 4
]
Any suggestions?
differential-equations numerics finite-element-method
$endgroup$
I am trying to compute the eigenfunctions of an oblate spheroid (a=75 cm and b=60 cm) using Mathematica's FEM package and Chris' answer from here. Specifically, I am looking for eigenfrequencies around 433, 893, 913 and 2400 MGHz. Is there any way I could narrow my search besides getting all eigenfrequencies initially and then looking for the desired outcome which is impractical?
Here is my code for the first 4 eigenmodes:
Needs["NDSolve`FEM`"];
helmholzSolve3D[g_, numEigenToCompute_Integer,
opts : OptionsPattern[]] :=
Module[u, x, y, z, t, pde, dirichletCondition, mesh, boundaryMesh,
nr, state, femdata, initBCs, methodData, initCoeffs, vd, sd,
discretePDE, discreteBCs, load, stiffness, damping, pos, nDiri,
numEigen, res, eigenValues, eigenVectors,
evIF,
(*Discretize the region*)
If[Head[g] === ImplicitRegion || Head[g] === ParametricRegion,
mesh = ToElementMesh[DiscretizeRegion[g, opts], opts],
mesh = ToElementMesh[DiscretizeGraphics[g, opts], opts]];
boundaryMesh = ToBoundaryMesh[mesh];
(*Set up the PDE and boundary condition*)
pde = D[u[t, x, y, z], t] - Laplacian[u[t, x, y, z], x, y, z] +
u[t, x, y, z] == 0;
dirichletCondition = DirichletCondition[u[t, x, y, z] == 0, True];
(*Pre-process the equations to obtain the FiniteElementData in
StateData*)nr = ToNumericalRegion[mesh];
state =
NDSolve`ProcessEquations[pde, dirichletCondition,
u[0, x, y, z] == 0, u, t, 0, 1, Element[x, y, z, nr]];
femdata = state["FiniteElementData"];
initBCs = femdata["BoundaryConditionData"];
methodData = femdata["FEMMethodData"];
initCoeffs = femdata["PDECoefficientData"];
(*Set up the solution*)vd = methodData["VariableData"];
sd = NDSolve`SolutionData["Space" -> nr, "Time" -> 0.];
(*Discretize the PDE and boundary conditions*)
discretePDE = DiscretizePDE[initCoeffs, methodData, sd];
discreteBCs = DiscretizeBoundaryConditions[initBCs, methodData, sd];
(*Extract the relevant matrices and deploy the boundary conditions*)
load = discretePDE["LoadVector"];
stiffness = discretePDE["StiffnessMatrix"];
damping = discretePDE["DampingMatrix"];
DeployBoundaryConditions[load, stiffness, damping, discreteBCs];
(*Set the number of eigenvalues ignoring the Dirichlet positions*)
pos = discreteBCs["DirichletMatrix"]["NonzeroPositions"][[All, 2]];
nDiri = Length[pos];
numEigen = numEigenToCompute + nDiri;
(*Solve the eigensystem*)
res = Eigensystem[stiffness, damping, -numEigen];
res = Reverse /@ res;
eigenValues = res[[1, nDiri + 1 ;; Abs[numEigen]]];
eigenVectors = res[[2, nDiri + 1 ;; Abs[numEigen]]];
evIF = ElementMeshInterpolation[mesh, #] & /@ eigenVectors;
(*Return the relevant information*)
eigenValues, evIF, mesh]
ev, if, mesh =
helmholzSolve3D[Ellipsoid[0, 0, 0, 0.75, 0.6, 0.6], 4,
MaxCellMeasure -> 0.025]
Table[
DensityPlot[
if[[i]][x, y, 0.1], x, -1, 1, y, -1, 1,
RegionFunction -> Function[x, y, x^2/0.75^2 + y^2/0.6^2 < 1],
PlotLabel -> ev[i] ,
ColorFunction -> Hue,
PlotLegends -> Automatic
],
i, 1, 4
]
Any suggestions?
differential-equations numerics finite-element-method
differential-equations numerics finite-element-method
asked 21 hours ago
George GiannoulisGeorge Giannoulis
573
573
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
You could use something like this:
vals, funs =
NDEigensystem[-Laplacian[u[x, y, z], x, y, z] + u[x, y, z],
DirichletCondition[u[x, y, z] == 0, True], u,
Element[x, y, z, mesh], 4,
Method -> "Eigensystem" -> "FEAST", "Interval" -> 425, 500]
427.961, 428.783, 430.026, 430.156,...
$endgroup$
add a comment |
$begingroup$
You may try Eigensystem with
Method -> "FEAST", "Interval" -> a, b
to search eigenvalue pairs within an interval. See the documentation of Eigensystem, Section "Methods", Subsection "FEAST" for more details.
$endgroup$
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "387"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f194006%2fspecific-numerical-eigenfunctions-of-helmholtz-equation-in-3d-for-ellipsoids%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
You could use something like this:
vals, funs =
NDEigensystem[-Laplacian[u[x, y, z], x, y, z] + u[x, y, z],
DirichletCondition[u[x, y, z] == 0, True], u,
Element[x, y, z, mesh], 4,
Method -> "Eigensystem" -> "FEAST", "Interval" -> 425, 500]
427.961, 428.783, 430.026, 430.156,...
$endgroup$
add a comment |
$begingroup$
You could use something like this:
vals, funs =
NDEigensystem[-Laplacian[u[x, y, z], x, y, z] + u[x, y, z],
DirichletCondition[u[x, y, z] == 0, True], u,
Element[x, y, z, mesh], 4,
Method -> "Eigensystem" -> "FEAST", "Interval" -> 425, 500]
427.961, 428.783, 430.026, 430.156,...
$endgroup$
add a comment |
$begingroup$
You could use something like this:
vals, funs =
NDEigensystem[-Laplacian[u[x, y, z], x, y, z] + u[x, y, z],
DirichletCondition[u[x, y, z] == 0, True], u,
Element[x, y, z, mesh], 4,
Method -> "Eigensystem" -> "FEAST", "Interval" -> 425, 500]
427.961, 428.783, 430.026, 430.156,...
$endgroup$
You could use something like this:
vals, funs =
NDEigensystem[-Laplacian[u[x, y, z], x, y, z] + u[x, y, z],
DirichletCondition[u[x, y, z] == 0, True], u,
Element[x, y, z, mesh], 4,
Method -> "Eigensystem" -> "FEAST", "Interval" -> 425, 500]
427.961, 428.783, 430.026, 430.156,...
answered 13 hours ago
user21user21
20k45385
20k45385
add a comment |
add a comment |
$begingroup$
You may try Eigensystem with
Method -> "FEAST", "Interval" -> a, b
to search eigenvalue pairs within an interval. See the documentation of Eigensystem, Section "Methods", Subsection "FEAST" for more details.
$endgroup$
add a comment |
$begingroup$
You may try Eigensystem with
Method -> "FEAST", "Interval" -> a, b
to search eigenvalue pairs within an interval. See the documentation of Eigensystem, Section "Methods", Subsection "FEAST" for more details.
$endgroup$
add a comment |
$begingroup$
You may try Eigensystem with
Method -> "FEAST", "Interval" -> a, b
to search eigenvalue pairs within an interval. See the documentation of Eigensystem, Section "Methods", Subsection "FEAST" for more details.
$endgroup$
You may try Eigensystem with
Method -> "FEAST", "Interval" -> a, b
to search eigenvalue pairs within an interval. See the documentation of Eigensystem, Section "Methods", Subsection "FEAST" for more details.
edited 12 hours ago
answered 21 hours ago
Henrik SchumacherHenrik Schumacher
58.1k580160
58.1k580160
add a comment |
add a comment |
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f194006%2fspecific-numerical-eigenfunctions-of-helmholtz-equation-in-3d-for-ellipsoids%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown