Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dendritic-growth simulation has succeed using prisms-pf #43

Closed
qixinbo opened this issue Dec 16, 2016 · 5 comments
Closed

dendritic-growth simulation has succeed using prisms-pf #43

qixinbo opened this issue Dec 16, 2016 · 5 comments

Comments

@qixinbo
Copy link
Contributor

qixinbo commented Dec 16, 2016

Dear Steve:
A new example of using prisms-pf to simulate dendritic-growth has been conducted. The results are as follows:
2D
3D

Thank you so much!

My code is here:
code

However, currently, I cannot make a pull request, since I made some changes in the basic framework of prisms-pf.
For example, the governing equations of dendritic growth need two sets of SolutionSet: the current one solutionSet and the last one oldSolutionSet. So I change the solutionSet in the functions of computeRHS, getRHS and residualRHS to a vector containing solutionSet and oldSolutionSet.

I hope the main framework of prisms-pf can add a feature of receiving several sets of solutions in the RHS construction (or it has already such a feature?), so I can change my code and make a pull request to the main branch.

Xin-Bo Qi

@stvdwtt
Copy link
Member

stvdwtt commented Dec 16, 2016

Hi Xin-Bo,
Great! I'll start looking through your changes to figure out how to generalize the existing framework to include this functionality.

Is there a particular paper you got your solidification model from? Having a little more familiarity with the model will help me parse the code. Thanks!

@qixinbo
Copy link
Contributor Author

qixinbo commented Dec 17, 2016

Hi Steve,
The code is based on the model by Wheeler et al.
See: here
The anisotropy part refers to Karma's model, in order to handle the 3D case. And it can be deduced to the style in Wheeler's model in 2D case.

Xin-Bo

@stvdwtt
Copy link
Member

stvdwtt commented Jan 7, 2017

Hi Xin-Bo,
After some thought, I think there are two ways to access the time derivative without a major change to the framework.

First of all, just to make sure that I'm clear on the issue, you need the old solution to calculate the time derivative of the order parameter for the heat equation, right? You should be able to calculate that from your residual for the order parameter -- to update the order parameter you use it's time derivative.

image

If you do absolutely need access to the old value of the order parameter, you could create it as a third variable (so you'd have temp, eta, and eta_old as variables). Then you just set eta_old = eta in residualsRHS and it'll have the value of eta from the previous time step.

Let me know if this makes sense and you think either way will work.

Best,
Steve

@qixinbo
Copy link
Contributor Author

qixinbo commented Jan 8, 2017

Thanks, Steve, I think both ways are feasible.
In my pinion, the first way is not quite elegant, so I prefer the second one.
However, I don't know how to pass eta_old into residualRHS without modifying the framework. Just as the way in my code, I changed the parameter "std::vector<modelVariable>" to a Vector style "std::vector<std::vector<modelVariable>>" in order to accept eta and eta_old.

@stvdwtt
Copy link
Member

stvdwtt commented Aug 23, 2017

In v2.0 a dendritic solidification app was added, very similar to the one here.

@stvdwtt stvdwtt closed this as completed Aug 23, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants