10

Here I have an example: x = linspace(-5,5,100); y = linspace(-5,5,100); z = linspace(-5,5,100); [X, Y, Z] = meshgrid(x, y, z); Ex = sin(2*pi/5*Z); Ey = 0*X; Ez = 0*X; [Bx, By, Bz, V] = curl(X, Y, Z, Ex, Ey, Ez); Eplot = 0*x; Bplot = 0*x; for i=1:100 %% Integration-like procedure Eplot(i) = mean(mean(Ex(:,:,i),1),2); Bplot(i) = mean(mean(By(:,:,...


6

deal.II (see http://www.dealii.org/) does support Nedelec elements and, as a consequence, can solve the problems you're interested in. (Full disclaimer: I'm one of the principal developers of deal.II.)


6

-Short answer for small molecules APBS + VMD (link) -Longer answer First, you need to get your molecules into PQR format. PQR is fairly straightforward and is whitespace delimited: Field_name Atom_number Atom_name Residue_name Chain_ID Residue_number X Y Z Charge Radius PQR is one line per atom. Field_name should always be ATOM. The next five fields ...


5

If the number of charges isn't too large, hand-coding the formula for the potential and then taking the derivative symbolically with Sage or Mathematica should be easy enough. If you have an enormous number of charges (several tens or more, in a file to long to convert to something by hand), you could read the charges and their positions into a python list, ...


5

Since the problem is treated in subdomains-poisson for the case, where the mesh is aligned with the interface, I assume in the following that in your case the jump can occur anywhere. I think the first step here is not to think about implementation FEniCS, but rather to find an adequate variational form for this problem, where the interface conditions are ...


5

If you have simple, grid-aligned interior objects or accuracy is not crucial then stick with the method you have described. If you need to accurately represent arbitrary boundary shapes then you're probably best off moving to a (more complicated) finite element approach on an unstructured grid. You have described the simplest approach to solving this ...


5

I've found that if I reduce the radial domain to $8 \leq r \leq 20$, the condition number drops to ~10,000. This makes me think I need to scale my problem. I'm not sure how to do this, however, and I need to do it right. Nondimensionalization is partly repeated application of the chain rule, and partly art. The goal is to make as many quantities in ...


5

A classic paper for evaluation of the integrals commonly present in computational electromagnetics (EM) is: D. R. Wilton, S. M. Rao, A. W. Glisson, D. H. Schaubert, O. M. Al-Bundak, and C. M. Butler, "Potential integrals for uniform and linear source distributions of polygonal and polyhedral domains," IEEE Trans. Antennas Propag., vol. AP-32, no. 3, pp. 276-...


4

As for any other domain, your mesh needs to be fine enough to resolve the features you have. This means that the mesh has to be finer than the geometric details of your unit cell, and it needs to be finer than the wavelengths of the waves you consider. Beyond this, the question of tets vs hexes is a minor issue. Hexes are generally more accurate, but if the ...


4

So Is it neccesary to use Poisson - Boltzmann equation if I only need to build electrostatic potential from a PQR file? No. You can use Poisson. Since you know the positions of each point charge, you know the charge distribution $\rho$, which is a sum of delta functions. You can thus solve numerically the Poisson's equation that links the charge ...


4

Vatiational formulation of Poisson problem with $\varepsilon \in L^\infty$ Both interfacial conditions are incorporated in following variational problem. Given $\Omega$ Lipschitz domain $\partial\Omega = \Gamma_\mathrm{D} \cup \Gamma_\mathrm{N}$ $V=\{v\in H^1(\Omega); v|_{\Gamma_\mathrm{D}}=0 \} $ $\varepsilon\in L^\infty(\Omega)$ $g \in L^2(\Gamma_\...


4

Hypre has several built-in preconditioners for solving the Maxwell equations. There are several packages that interface to it (you can use hypre from PETSc) as a solver for linear algebraic systems, but it also has a structured grid and finite element interface too.


4

I believe what you are looking for is a sympletic method; see: http://en.wikipedia.org/wiki/Symplectic_integrator They are designed to conserve energy exactly; however by trading up for accuracy one area, your simulation will have greater errors in other quantities (i.e. position as a function of time) compared to your usual Runge-Kutta methods.


4

When you call Lapack's zgtsv, it doesn't just solve a tridiagonal system $Ax=b$. What it does first is perform an LU factorization (zgttrf) $A = LU$, where $L,U$ are lower- and upper-tridiagonal matrices, and only then proceeds to solve $LUx=b$. When you give it the lower, main, and upper diagonals of the matrix $A$, those diagonals are overwritten by the ...


4

Interesting question. I would expect the Yee scheme to be indifferent to static (bias) fields induced by constant potentials. In the electrostatic case, if you have a constant electric potential $\phi$, it induces a field $\vec E = \nabla \phi$. The update equation is (modulo constants) $\frac{d}{dt}\vec B = \nabla \times \vec E$. But since $\vec E$ is a ...


3

You should definitely use CFIE over EFIE or MFIE, due to the problem of internal resonances. Basically, if you are at/near a frequency where there is a resonance in one of your scattering objects, then the EFIE or MFIE matrix may become singular/ill-conditioned. Using a linear combination of them greatly reduces the chances of singularity. I don't know much ...


3

For this purpose you need to use a simulation software. One of the most common methods in Electromagnetics would be Finite element method, but you can also find Boundary Element Methods or Finite Difference Methods. Some common software in EM are Ansys Maxwell; and CST Studio A lot of people is also using COMSOL Multiphysics. But I would say that this ...


3

Further research eventually yielded the Boris method. For a constant B field it produces stable circular orbits.


3

Have a look on these three: Piernik MHD it is a code which evolved from the Pen & Trac MHD you mentioned in your question. Now its quite mature and the development is still active. Written in modern Fortran 95/2003. Godunov MHD an MHD code designed especially for simulating the reconnection events, but can be easily modified and applied to other ...


3

The Van der Walls radius - last column in the output - is calculated from the force field. Probably pdb2pqr and editconf uses different force fields, hence different radius. I don't use pdb2pqr, but it seems (1) AMBER99 is the default force field, though CHARMM, PARSE and TYL06 are supported. Gromacs' editconf reads force field from topology file generated ...


3

One issue (and this is mentioned by Mur in the first paper you linked in the comments above) is the fact that, while these edge functions provide tangential field continuity across interfaces and zero divergence within each element, they also allow for discontinuities in normal fields across interfaces. This behavior is non-physical, giving rise to ...


3

From what I understand, you'd like to see which numerical method best simulate the real physics relevant for a particular problem. MHD spans a wide scale of phenomena -- plasma physics (on length scales of ions and electrons) to ideal MHD (on the length scale relevant to accretion disks around blackhole or other compact objects). In this case, it's advisable ...


3

ANSYS Maxwell is a Finite Element solver for Electromagnetism. So, I assume that you are looking for a Finite Element package that has a Python interface (or is written in Python). There are some popular options like: SfePy; FEniCS; and Agros2D. The last one provides a Python interface and a (nice) graphic interface, and is based in Hermes2D (so it ...


3

The paper: I. Anjam, J. Valdman, "Fast MATLAB assembly of FEM matrices in 2D and 3D: Edge elements", Applied Mathematics and Computation, 267, (2015), 252–263; states the following. http://www.sciencedirect.com/science/article/pii/S0096300315004191 "A finite element discretization is done in terms of edge elements, typically Raviart–Thomas elements [12] for ...


3

It's an interesting question - how does a dipole actually move? It seems to me you're not entirely sure what to expect, so we need to get a solid test case where we understand what's actually going on. On a related note, do try to add your imports and initial conditions the next time :) For now, let's assume both masses equal and opposite charges. We can ...


3

Your questions suggest that you are new to implementing solvers for PDEs, and that you are not familiar with the usual data structures and algorithms used in this field. It would probably be very useful for you to see how other people write codes like the one you are trying to write, because you will see how they arrange data, how they represent geometry and ...


3

You're looking for waveguide port boundary conditions. I think the most accessible treatment is within Jin & Riley's Finite Element Analysis of Antennas and Arrays, Chapter 5. It's available on Amazon, see https://www.amazon.com/dp/0470401281/. A lot of these formulations were first introduced by Jin-Fa Lee, you can find his works in IEEE Microwave ...


3

Regarding simulation: There are several commercial solvers that might be helpful. A very popular FDTD Maxwell equation solvers for nanophotonics is Lumerical. It features opto-thermal and liquid crystal (which I would say is another keyword you should consider) simulations that should be very relevant. Another go-to multiphysics solver would be COMSOL. ...


3

Every iterative solver -- Jacobi, SSOR, CG, etc -- starts with an initial approximation. One often just uses the zero vector, but there is nothing wrong with using the solution of the previous time step. In fact, extrapolating from previous time steps to the current one is an even better idea -- one the authors apparently missed! For some iterative solvers, ...


Only top voted, non community-wiki answers of a minimum length are eligible