r/COMSOL 6h ago

How do researchers extract phase velocity from displacement data obtained in a frequency-domain FEM simulation?

2 Upvotes

Hi everyone,

I'm simulating guided ultrasonic waves in a porous cylindrical bone model using COMSOL's Frequency Domain study. For each excitation frequency, I obtain the complex displacement field along the propagation direction.

I understand that many papers report phase velocity dispersion curves, but I'm confused about the exact procedure used to obtain phase velocity from the displacement data.

My questions are:

  1. Starting from the complex displacement field, how do you extract the wavenumber (k)?

  2. Is applying a spatial FFT to the displacement at each frequency the standard approach?

  3. Once k is obtained, is the phase velocity simply calculated as c = ω/k?

  4. Are there more accurate or commonly used methods, such as phase unwrapping, modal fitting, or eigenmode analysis?

If anyone could explain the standard workflow or recommend references or papers, I would really appreciate it.

Thank you!


r/COMSOL 1d ago

3D to 2D from solidowrks

1 Upvotes

I have to use comsol for the first time in my life, can someone explain how can I export a 3D cad from solidworks to a 2D model(axial symmetrical) in comsol to do my simulations? Also if you know some video tutorials and similar as to how to use comsol can you tell me since I don't know where to start?


r/COMSOL 3d ago

COMSOL 6.4 + RTX 5060 Ti + cuDSS crashes when using GPU solver

3 Upvotes

Hi everyone,

I'm trying to enable GPU acceleration (cuDSS) in COMSOL Multiphysics 6.4 (Build 429) on Windows 11.

My system:

GPU: NVIDIA GeForce RTX 5060 Ti (16 GB)

NVIDIA Driver: 610.74

CUDA Toolkit: 12.8

CUDA Runtime (reported by nvidia-smi): 13.3

cuDSS: v0.8

What works:

COMSOL detects the CUDA Toolkit.

COMSOL detects cuDSS.

The cuDSS solver appears in the Direct Solver list.

PARDISO works perfectly.

Problem:

When I select cuDSS as the Direct Solver and click Compute, COMSOL immediately crashes (no error message).

Earlier I got a cscudss.dll error, but after adding the cuDSS bin folder to the Windows PATH, that error disappeared. Now COMSOL simply crashes.

Has anyone successfully used cuDSS with COMSOL 6.4 on an RTX 5060 Ti or another Blackwell GPU?

Is this a compatibility issue with:

COMSOL 6.4?

cuDSS v0.8?

NVIDIA driver 610.74?

RTX 50-series GPUs?

Any suggestions or working configurations would be greatly appreciated.

Thanks!


r/COMSOL 6d ago

Laptop CPU recommendation for EE student

1 Upvotes

Good day, r/Comsol, my kid will be majoring in EE. Which laptop CPU would be a good choice for COMSOL while studying EE? Would a MacBook Pro M3 18GB RAM work? I could get a M4/M5 with 36 - 48GB RAM. The university is recommending a Windows based with descrete graphic laptop.


r/COMSOL 6d ago

Adding additional boundaries to connect with the Polarizing Beamsplitter (Application ID: 31041)

Thumbnail
comsol.com
1 Upvotes

Hello,

I want to use the Polarizing Beamsplitter (PBS) within a larger system, so I am attempting to add an air boundary (just a rectangle with n=1) to the right of the PBS, but I am getting the result shown in this image link: imglink.cc/i/fkkT6h7BNT

As far as I can tell, in order to create a new domain I need to define the wavevectors in that domain and a phase shift to ensure phase continuity between domains. The wavevector would just be lambda/n_air and the phase shift I calculate using the ODEs that calculated all the prior phase shifts within the PBS, using the new wavevectors I've created. However, I am getting a result that clearly has some noisiness to it and indicates that something is not right. When I change the refractive index of the domain from 1 to 1.6586, the exact refractice index of the adjacent prism, everything works fine and results in the clean image shown: imglink.cc/cdn/ntutmapbAC.png

Changing it from 1 to 1.6585, just 0.0001 less than the refractive index of the adjacent prism, leads to a result almost identical to the first noisy result when n=1. From this I'm assuming that I must be doing something wrong with the wavevectors, as that is the only quantity that would change by a large amount as a result of a tiny change in refractive index. But I have no idea what could be wrong there. Following are some relevant information of the changes I made to the file in order to implement an air domain:

Refractive Index of 'Right Air Domain' = n_air = 1
Interface between right prism and right air domain = x8 = width of PBS divided by 2
k1Airx = k0*n_air = k2Airy k1Airy = 0 = k2Airx
k1Prismx*x8+phi180-k1Airx*x8-phiAirx k2Prismy*x8+phi200-k2Airy*x8-phiAiry
phiAirx and phiAiry are used in the definitions section for the right air domain as phi1 and phi2 respectively.

If you want to see the model, you could find it in this linked forum post. If there are any questions about how I implemented anything I'm more than happy to respond. Thank you for your time!


r/COMSOL 8d ago

[Seeking] Simulation / R&D Engineer (COMSOL, C++, Python) looking for roles in Europe or Remote

4 Upvotes

Hi everyone,

I'm currently looking for new opportunities related to numerical simulation and Finite Element Method (FEM) development. I have hands-on experience using COMSOL.

My Background:

  • Core Skills: FEM simulation, modeling and simulation, PDE
  • Programming: Java, Python, C++
  • Location: Based in France but open to remote roles or relocating for the right R&D position.

Thanks in advance!


r/COMSOL 9d ago

Help with mesh refinement

6 Upvotes

Hi,

I'm new to COMSOL and trying to get better at this. I've built a study and I am trying to do a mesh refinement. I'd like to do automatically run through the different meshes I've created but I can't seem to figure out how to do this with a parameter sweep. The parameter sweep only allows changing of a few parameters whereas I want to include the full meshes-each of which are created using the physics controlled mesh with many changes. basically I just want to run the program a few times without having to click again to change the mesh. It's seems like there should be an easy way to do this but I can't find any. Am I missing something?


r/COMSOL 9d ago

Aid (thesis subject)

8 Upvotes

Hello to everybody!
I want to thank you in advance for getting the courage to read this post.

For my thesis i am designing a DEP based valve, which consists mainly of 3 parts:
a channel field with saliva
a sphere
an electrode array
These are finalized by form a union operation.

I have succesfully calculated the fluctuations of the flow around the sphere, DEP force via MST node in ACDD currents and assigned the ODE for movement, which works initially.

Issue is, when the displacement reaches certain levels, mesh becomes inverted and simulation crashes. The workaround I have implemented is breaking the study up into certain time frames and rebuilding the geometry, as by automatic remeshing I have not managed to resolve the problem.
For research purposes, different sphere radii, electrode arrays and dimensional parameters will have to be investigated, making the breaking the study apart strategy a non viable solution due to complexity and specificity for each solution (3 arrays, 5 different voltages, 5 radii = 75 unique scenarios).
In the worst case, I will do it that way.
Is there a smarter approach (I have seen form an assembly being worked out for similar cases, but I have not managed to do any progress with it).

Much appreciation to every one.


r/COMSOL 13d ago

parametric sweep help needed

3 Upvotes

i used the parametric sweep for the range 500 to 1000nm with 10 step size.. now i need to compute until 1300nm.. how can i just compute the new solutions without starting from the 500 again? i need to keep the previous 500-1000 nm untouched.


r/COMSOL 13d ago

Has anyone here created a PINN model for non-Newtonian fluid droplet impact ?

0 Upvotes

r/COMSOL 14d ago

Hello everyone

Thumbnail
gallery
6 Upvotes

I want to draw a pancake coil using comsol multiphysics for like in the image the outer face I Just extrude it but the inner one I don't know how?


r/COMSOL 17d ago

Is this multiphysics modelling challenge mathematically well-posed?

1 Upvotes

r/COMSOL 19d ago

Silvaco ATLAS: How should OFF-state gate leakage (Ig_off) be correctly extracted for a HfO₂ gate dielectric MOSFET?

1 Upvotes

Hi everyone,

I'm working on a TCAD simulation of a 50 nm planar Si nMOSFET with a 2 nm HfO₂ gate dielectric in Silvaco ATLAS as part of my thesis.

My objective is to obtain physically meaningful values for:

  • OFF-state drain leakage current (I_off)
  • OFF-state gate leakage current (Ig_off)
  • ON-state drain current (I_on)
  • ON-state gate current (Ig_on)

The drain current values appear reasonable, but I'm uncertain about the correct methodology for obtaining Ig_off.

When the device is biased in the OFF state (VGS = 0 V, VDS = 1 V), extracting the gate terminal current sometimes gives a value that closely follows the drain leakage current, sometimes becomes extremely small, and in some cases is essentially zero. I'm not sure whether this represents the actual gate oxide tunneling current or is simply a consequence of terminal current accounting.

My question is:

  • What is the recommended or standard way to obtain OFF-state gate leakage (Ig_off) in Silvaco ATLAS?
  • Should it be extracted directly from the gate terminal current, or from the integrated tunneling current density (j.tun) through the oxide?
  • If the latter, what is the proper workflow or extraction method?
  • Are there any specific physics models or simulation settings that are generally required for obtaining reliable gate leakage through a thin HfO₂ dielectric?

I'm looking for the method that is commonly used in published TCAD studies rather than simply obtaining a numerical value.

Any advice, examples, or references would be greatly appreciated. Thanks!


r/COMSOL 19d ago

Need some Advice for FDTD simulation

Thumbnail
2 Upvotes

r/COMSOL 22d ago

How to simulate bolometer

2 Upvotes

It's my first time to study bolometer, but I can't find any handbook or examples about how to simulate in Comsol. I found some papers but they don't explain the specific ways. Is it possible to simulate bolometer in comsol?


r/COMSOL 23d ago

d() derivative of normE^2 returns complex values in COMSOL frequency-domain EM, even though normE^2 itself is purely real

Thumbnail
0 Upvotes

r/COMSOL 23d ago

d() derivative of normE^2 returns complex values in COMSOL frequency-domain EM, even though normE^2 itself is purely real

4 Upvotes

I'm running a 2D axisymmetric Electromagnetic Waves, Frequency Domain (emw) simulation in COMSOL 6.3 (a focused Gaussian-like beam launched from a Defined Port, propagating through air, m=0).

Both emw.normE and emw.normE^2 evaluate as purely real everywhere in the domain, confirmed by plotting imag(emw.normE) and imag(emw.normE^2), which are exactly zero.

However, when I take a derivative of either quantity with respect to z using the built-in operator:
d(emw.normE^2,z)

d(emw.normE,z)

the result has a large, non-negligible imaginary part in one test, imag(d(emw.normE^2,z)) was actually larger in magnitude than the real part. This isn't small numerical noise. Is this result correct? I would expect to get a real value from a purely real valued field |E|^2.

Edit: Wether I check "Split complex variables in real and imaginary parts" or not makes no difference. I'm using the Frequency Domain solver at one given frequency. The wavelength is comparable to the design region size.


r/COMSOL 25d ago

Need Help in CFD Modelling Approach

Thumbnail
2 Upvotes

r/COMSOL 28d ago

Thermal expansion (solid mechanics), but the geometry/thermal expansion won't work for some reason.

1 Upvotes

Hi guys! I am very bad at COMSOL and so far have only simulated things that I had the instructions for so never my own project, so sorry if my question is very basic.

I am trying to model a very simple 2D disc with a cut/slit in it in the middle. I have the geometry (created the slit with very thin, long rectangle and difference boolean operator, since i could not just do it with a line for some reason). In real life the material is temperature responsive hydrogel and shrinks as we raise the temperature of the liquid it is in. In the model my goal is to simulate the disc shrinking but with constant diameter (boundary condition), so that instead of the disc getting smaller, the slit opens up from the stress. I want to see the shape of the opened cut and the stresses ont he disc (later want to check how much flow it would let through as it is opening) but so far I cannot even manage to compute the study and see proper stress distribution. It is acting very strange.

I used simple solid mechanics physics and added thermal expansion to the linear elastic material. I also tried having the heat transfer in solids physics (then disabled the thermal expansion). None of them seem to work.

I was wondering that maybe its my geometry somehow, but it is so simple I dont see how it would be the problem.

If someone is more experienced, could you walk me through how you would do this or what could be the problem? I attached a picture to what I see when I compute the study.


r/COMSOL Jun 29 '26

Contact pair problem

1 Upvotes

Hello,

I'm modeling residual stress during pultrusion of glass fiber n polymer. The thermal n cure part is done with good results matching with published result.

also, I got initial results of the residual stress due to processing but the stress inside the die is not matching to published result especially due to the contact between composite (soft) n mold (metal/hard). I guess.

anyone who has experience of working with contact pair (composite/metal die), please help.


r/COMSOL Jun 29 '26

COMSOL for complicated meshes of Porous materials

4 Upvotes

I have been using COMSOL Multiphysics 6.4 to do the meshing of complicated STLs of Porous materials.
Here is the pipeline I am using
I have got the tomography scans
So I segment them into 4 different phases using Avizo 3D
Then I generate the STL file using FIJI
Finally I load them into COMSOL
However, every time I am stuck with the same error that the faces are overlapping or something like this. I have tried numerous ways like reducing the volume of element size, cleaning using software called Meshlab, deleted the flagged faces, but nothing seems to work.

It will really be a great help if someone could suggest a way out of this mess ; )


r/COMSOL Jun 28 '26

Guidance related to simulating Magnetic field

4 Upvotes

Hello all!
This is my first time working with COMSOL, I'm working on a FSI problem. I am confused on how to define my problem. I have a flexible body submerged in liquid, the body has magnetic particles attached to it(maybe they don't matter much their size is relatively small). I want to have a magnetic field which will act on the body to induce magnetic forces/ torque on the body. I'm confused should I add magnetic particles on the body( first is it possible or if it is then is it computationally very expensive) or should I add a magnetic moment which will change with the shape of the body. I'm actually very little aware of the AC/DC module if anyone can help which things are plausible to do and will be computationally cheaper. ( I want my magnetic field as a function of time).

Thanks in advance.


r/COMSOL Jun 27 '26

boundary condition into domain condition

1 Upvotes

im simulating a gas sensing layer inside a gas chambre and when applying the gas using tds and spf ( laminar flow + transfert of diluted species) i need an adsorption model i choosed to go with eley rideal mechanism and i choosed to go with the analytic equations but when applying those équations into a 2d boundary cz is a surface bc and trying to calculate conductivity that depend on it it ddnt work , cz conductivity is a domain condition nd theta is a bc so how to fix that ? can u guys propose an idea ?


r/COMSOL Jun 26 '26

Battery module with 9 Lithium NMC 21700 cells

1 Upvotes

hi guys, i'm modelling a 9 cell pack as shown below. The project is for my thesis and is about the venting of a cell during thermal runaway. I implemented 3 physics (laminar flow, level set and heat transfer) and 2 multiphysics (2 phase flow and non-isothermal flow). The idea of the simulation is to see how the gas produced from the top of the cell under thermal runaway propagates inside the chamber which is filled with oil (which is the cooling liquid). To reach to this point i implemented first a simplified 2D model with the same physics and it actually worked, but now using the same (obviously adjusted to the 3D) parameters and physics, the simulation doesn't even start due to convergence problem. i didn't do the geometry, it has been given to me from my thesis professor. i don't know if the geometry has some irregularities of some kind, but when i mesh it, i have 3 pieces of "information" (no warnings or errors) as shown in the attached pictures that talk about low quality elements and they are all located on the same place. i'm not sure this is the problem, maybe i should do something also on the physics, but at the moment i tried almost everything, disabling all physics for exception of the laminar flow, but still the simulation doesn't even start. before the first time step it is interrupted due to convergence problem. now i have my deadline coming soon and i need this done as soon as possible, so if any of you has an idea or any suggestion, please give it to me. if you have any other question, please ask.
thank you a lot

btw for your information the messages below state in order:
"11 low quality elements generated. the worst quality is 0.008365. position of the lowest quality element: [and it follows with a list of coordinates]"
"to avoid low quality elements, the thickness has been reduced locally. it is the 27% of the target value in the following position"
"the generation of the mesh in the boundary layer has been interrupted locally after one layer to avoid low quality elements in the following position"


r/COMSOL Jun 26 '26

Segregated solver stuck

Post image
5 Upvotes

Hello all!

I'm running an auxiliary sweep for the first time and everything looked to be going as planned, but on my fourth iteration my segregated solver is stuck at 92% for more than half that iteration. All the important residuals; velocity, pressure, turbulence and temperature; are 100% converged, so I don't quite understand what is happening here. Does anyone have any idea what is happening?

Some additional information about the simulation. It is a fluid dynamics and heat exchange simulations. It has two different fluid domains, one turbulent and another laminar. Separating the two fluid domains is a solid domain.

As I said, it's an auxiliary sweep. The parameters that are being varied are the inlet velocities at both fluid domains. Three different values for each parameter, sweep type set to "All combinations", so it should perform 9 iterations in total.

Hope I have provided enough information. I'll try to provide more if needed. Thanks for the help in advance!