Git Product home page Git Product logo

amrex-combustion / pelelm Goto Github PK

View Code? Open in Web Editor NEW
81.0 21.0 41.0 100.46 MB

An adaptive mesh hydrodynamics simulation code for low Mach number reacting flows

Home Page: https://amrex-combustion.github.io/PeleLM/

License: Other

Makefile 1.20% C++ 53.00% Fortran 12.00% Shell 2.34% Python 10.76% MATLAB 1.07% Roff 14.04% CMake 4.21% Assembly 1.37%
hydrodynamics pde adaptive-mesh-refinement reactions combustion low-mach-number cfd

pelelm's Introduction

PeleLM

AMReX Badge Documentation Status License PeleLM ConvergenceTesting

!! WARNING !!

PeleLM development is currently stalled in favor of its non-subcycling counterpart PeleLMeX.

Overview

PeleLM is an adaptive-mesh low Mach number hydrodynamics code for reacting flows. PeleLM supports Embedded Boundary method to represent complex geometries and is parallelized with MPI + OpenMP for CPUs and MPI + CUDA or MPI + HIP for GPUs.

PeleLM is part of the Pele combustion Suite and PeleLM has a project homepage. Use this link to sign up for the PeleLM user forum, where updates and significant changes will be posted. The forum is also where general questions can be posted about building and running the code, processing code output, and details about the algorithm and its implementation.

Documentation

PeleLM complete documentation is available on ReadTheDoc. It is also possible to build a local version of the documentation once you have obtained the source code using :

    cd ${PELELM_HOME}/Docs
    make html

Getting started

A first simple 2D flame problem is available in the PeleLM QuickStart section:

https://pelelm.readthedocs.io/en/latest/GettingStarted.html

Core Algorithm

The PeleLM governing equations and core algorithm are described in:

https://pelelm.readthedocs.io/en/latest/Model.html

Tutorials

A set of self-contained tutorials describing more complex problems is also provided:

https://pelelm.readthedocs.io/en/latest/Tutorials.html

Contributing

New contributions to PeleLM are welcome !

The PeleLM contributions workflow follows these steps:

  1. Fork the main repository
  2. Create an AmazingNewFeature branch implementing your changes
  3. Open a Pull Request from AmazingNewFeature on your fork to branch development of the main PeleLM repository

Follow GitHub directions to fork PeleLM main repo on your GitHub account, then clone the PeleLM dependencies (PelePhysics, IAMR,AMReX-Hydro, AMReX) along with your own PeleLM fork on your local machine.

Then step into the PeleLM folder and add the main PeleLM repository as the upstream remote in order to keep track of the main repo :

   git add remote upstream https://github.com/AMReX-Combustion/PeleLM

At any point, you can update the developement branch of your local repository with changes implemented in the main PeleLM repo by pulling from upstream :

    git checkout development
    git pull upstream development

You are now free to modify your own fork of PeleLM. To add a new feature to PeleLM, the procedure is:

  1. Create a branch for the new feature from the development branch (locally) :

     git checkout development 
     git checkout -b AmazingNewFeature
    
  2. and commit your changes to your local repo :

     git commit -m "Developed AmazingNewFeature"
    
  3. Alongside your development, regularly merge changes from the main repo development branch into your AmazingNewFeature branch, fix any conficts, and push your changes to your GitHub fork :

     git pull upstream development     [Fix arising conflicts]
     git push -u origin AmazingNewFeature 
    
  4. When you are ready to propose your new feature/improvement/bug fix to the main PeleLM repo, reiterate Step 3 and submit a Pull Request through the GitHub page from your fork onto the development branch of the main repo:

  • Click on the compare & pull request button to start your PR.
  • Provide a title and a short description for your PR:
    • what feature/fix do you propose
    • how did you test it
    • any other information deemed useful : does it modify the default PeleLM behavior ? ...
  • Press Create pull request.

Please DO NOT write large Pull Requests, as they are very difficult and time-consuming to review. As much as possible, split them into small targeted PRs. For example, if find typos in the documentation open a pull request that only fixes typos. If you want to fix a bug, make a small pull request that only fixes a bug.

Acknowledgment

This research was supported by the Exascale Computing Project (ECP), Project Number: 17-SC-20-SC, a collaborative effort of two DOE organizations -- the Office of Science and the National Nuclear Security Administration -- responsible for the planning and preparation of a capable exascale ecosystem -- including software, applications, hardware, advanced system engineering, and early testbed platforms -- to support the nation's exascale computing imperative.

pelelm's People

Contributors

ajnonaka avatar annefelden avatar awehrfritz avatar baperry2 avatar bcfriesen avatar ccse avatar cgilet avatar deepakdalakoti avatar drummerdoc avatar emotheau avatar ennadelfen avatar esclapez avatar hbrunie avatar jbbel avatar john-qingwang avatar jrood-nrel avatar ldowen avatar nickwimer avatar olivecha avatar rgrout avatar vricchiu avatar weiqunzhang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pelelm's Issues

Erroneous arithmetic operation

I recently compiled PeleLM on two different supercomputers, with both gnu and intel on each, and consistently receive Erroneous arithmetic operation immediately upon running the simulation. I am just running the tutorial case out of the box: 2D FlameSheet, following instructions exactly from https://pelelm.readthedocs.io/en/latest/GettingStarted.html .

I have tried editing a number of different inputs, but it seems like the error is pretty robust. I have also seen it occur in other tutorial cases. Has anyone else noticed this issue?

Hopefully there is an easy solution to the problem, but I am happy to provide more details (compilers, etc.) if they are needed. Thanks!

Unable to compile with OpenMP

Hi, I was trying to compile FlameSheet with USE_OMP = True but got the following error while compling AMReX_FABUTIL_2D.F

Compiling AMReX_FABUTIL_2D.F ...
In file included from /home/amrex/Src/Base/AMReX_REAL.H:4,
                 from /home/amrex/Src/Extern/amrdata/AMReX_FABUTIL_2D.F:9:
tmp_build_dir/s/2d.gnu.OMP.EXE/AMReX_Config.H:57:2: error: #error libamrex was built with OpenMP
   57 | #error libamrex was built with OpenMP
      |  ^~~~~

Any leads on what might be causing this? I was able to the compile and run the case using with mpi.
Thanks!

Combustion mechanics

I use “python ${PELE_PHYSICS_HOME}/Support/Fuego/Mechanism/Models/useful_script/script_trans.py mechanism.inp tran.dat” to obtain a new mechanism, but always get an error: File "~/useful_script/script_trans.py", line 53, in
tran_list.append(outlines[spec]), KeyError: '!'

I hope someone can help me, thanks a lot.

Check if PMF data files exist

If this file doesn't exist in the CWD as specified by the example input files, it will just segfault rather than tell the user it doesn't exist. I can add this in the future. Creating this issue as a reminder.

To update AMReX-Hydro submodule

AMReX-Hydro commit 68d9c764738d removes the (EB)Godunov::ComputeAofs functions called directly in PeleLM. PeleLM can either lift those functions from the prior commit (df452661a000) or make use of NSB::ComputeAofs (updated in IAMR commit 2c6603a8f55d5f)

[bruno/HIT_forcing] forcedata.dat file missing

I am currently working on bruno/HIT_forcing project. However, I am running into issues at runtime and compile time.

I manage to compile the code for the ForcedHIT_air case, however the input file is missing, I created a new one. When executing the code, I face the missing forcedata.dat file which obviously would be a file with values for the forces?

The file "forcedata.dat" is read in TurbulentForcing_def.H from line 46, there is mention of // Read magic forcing data from file I wish I could find that magic file in order to run the simulation. Can you help me build/find this file?

Running EB_FlamePastCylinder with higher refinement levels

Hello everyone,
I am trying to run the EB_FlamePastCylinder case with higher refinement levels. The case seems to crash when I try to increase the amr.max_level to 1. I first ran the case with amr.max_level set to 0 and getting checkpoints after every 5 steps. I set my max_step to 300000 and stop_time to 1 millisecond. This first step runs smooth. When I wish to advance the solution from 1millisecond to 2 millisecond (by setting the amr.restart=chk.... and amr.regrid_on_restart=1) using a higher-refinement level (i.e. setting amr.max_level=1it throws the following error:
amrex::Abort::0::deltaT_iters not converged !!! SIGABRT
Could I please know where am I making a mistake?
Also, is there a way of setting the surface temperature of the cylinder to a fixed value? i.e. having an isothermal cylinder surface?
Thanks

Compilation error test case - FlameSheet

Hi,

I have a compilation error for the test case FlameSheet.

It seems some variables are removed from the IAMR but not in PeleLM source files.
Using OpenMPI and Intel compiler.

Thank you.
The error is as follows:

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(687): error: identifier "variable_vel_visc" is undefined
if (variable_vel_visc != 1)
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(692): error: identifier "variable_scal_diff" is undefined
if (variable_scal_diff != 1)
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3281): error: no suitable constructor exists to convert from "amrex::Real={amrex_real={double}}" to "amrex::Vector<amrex::MultiFab *, std::allocator<amrex::MultiFab *>>"
diffusion->diffuse_scalar(dt,state_ind,1.0,rhonph,rho_flag,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3281): error: no suitable constructor exists to convert from "const int" to "amrex::Vector<amrex::MultiFab *, std::allocator<amrex::MultiFab *>>"
diffusion->diffuse_scalar(dt,state_ind,1.0,rhonph,rho_flag,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3281): error: initial value of reference to non-const must be an lvalue
diffusion->diffuse_scalar(dt,state_ind,1.0,rhonph,rho_flag,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3281): error: no suitable user-defined conversion from "amrex::MultiFab" to "const amrex::Vector<amrex::MultiFab *, std::allocator<amrex::MultiFab *>>" exists
diffusion->diffuse_scalar(dt,state_ind,1.0,rhonph,rho_flag,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3282): error: argument of type "amrex::MultiFab **" is incompatible with parameter of type "int"
SpecDiffusionFluxn,SpecDiffusionFluxnp1,sigma,&Force,sigma,alpha,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3282): error: argument of type "amrex::MultiFab **" is incompatible with parameter of type "int"
SpecDiffusionFluxn,SpecDiffusionFluxnp1,sigma,&Force,sigma,alpha,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3282): error: argument of type "amrex::MultiFab *" is incompatible with parameter of type "amrex::Real={amrex_real={double}}"
SpecDiffusionFluxn,SpecDiffusionFluxnp1,sigma,&Force,sigma,alpha,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3282): error: no suitable constructor exists to convert from "amrex::MultiFab *" to "amrex::MultiFab"
SpecDiffusionFluxn,SpecDiffusionFluxnp1,sigma,&Force,sigma,alpha,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3283): error: argument of type "Diffusion::SolveMode" is incompatible with parameter of type "amrex::MultiFab *"
alphaComp,betan,betanp1,betaComp,solve_mode,add_old_time_divFlux);
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(3283): error #165: too few arguments in function call
alphaComp,betan,betanp1,betaComp,solve_mode,add_old_time_divFlux);
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5736): error: no suitable conversion function from "amrex::FArrayBox" to "int" exists
D_DECL(cflux[0],cflux[1],cflux[2]),
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5737): error: no suitable conversion function from "amrex::FArrayBox" to "int" exists
D_DECL(edgstate[0],edgstate[1],edgstate[2]),
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5738): error: initial value of reference to non-const must be an lvalue
Smf[S_mfi], 0, nspecies+1 , force, 0, divu, 0,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5738): error: no suitable conversion function from "const amrex::FArrayBox" to "int" exists
Smf[S_mfi], 0, nspecies+1 , force, 0, divu, 0,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5738): error: no suitable constructor exists to convert from "int" to "amrex::FArrayBox"
Smf[S_mfi], 0, nspecies+1 , force, 0, divu, 0,
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5739): error: no suitable conversion function from "amrex::FArrayBox" to "int" exists
(*aofs)[S_mfi], first_spec, advectionType, state_bc, FPU, volume[S_mfi]);
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5739): error: no suitable constructor exists to convert from "int" to "amrex::FArrayBox"
(*aofs)[S_mfi], first_spec, advectionType, state_bc, FPU, volume[S_mfi]);
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5739): error: no suitable conversion function from "amrex::Vector<AdvectionForm, std::allocator>" to "int" exists
(*aofs)[S_mfi], first_spec, advectionType, state_bc, FPU, volume[S_mfi]);
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5739): error: a reference of type "amrex::FArrayBox &" (not const-qualified) cannot be initialized with a value of type "amrex::Vector<int, std::allocator>"
(*aofs)[S_mfi], first_spec, advectionType, state_bc, FPU, volume[S_mfi]);
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5739): error: no suitable user-defined conversion from "amrex::FArrayBox" to "const amrex::Vector<AdvectionForm, std::allocator>" exists
(*aofs)[S_mfi], first_spec, advectionType, state_bc, FPU, volume[S_mfi]);
^

/home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp(5739): error #165: too few arguments in function call
(*aofs)[S_mfi], first_spec, advectionType, state_bc, FPU, volume[S_mfi]);
^

compilation aborted for /home/565/ska565/tools/PELELM/PeleLM/Source/PeleLM.cpp (code 2)
make: *** [/home/565/ska565/tools/PELELM/amrex/Tools/GNUMake/Make.rules:184: tmp_build_dir/o/2d.intel.EXE/PeleLM.o] Error 2

Driving pressure gradient

Hello everyone, I am new to PeleLM and I would like to set up Moser's channel flow with periodic boundaries. For that Im struggling with the driving pressure gradient for the momentum. How can I implement this if I know the gradient?
Best regards and thanks in advance :)

Problem make -j4 on Windows

the make -j4 did not work on Windows. I would like to know, why this command don't work on git with Windows ?

Error when finalizing in DEBUG mode with gcc

When I compile the PeriodicCases or FlameSheet cases with gnu compilers (I tried versions 8.4 and 10.1) in DEBUG mode on Eagle, the cases run successfully to completion but when the simulation is finalizing I get the following error:

AMReX (21.11-14-ga2245756e64c) finalized
pure virtual method called
terminate called without an active exception
Aborted (core dumped)

This does not happen when compiling with DEBUG = FALSE, or with COMP = llvm and DEBUG = TRUE.

fatal error: mpi.h: No such file or directory

when I tried to run examples included in PeleC/PeleLM, some went wrong with the same error notes---

../../../Submodules/amrex/Src/Base/AMReX_ccse-mpi.H:14:10: fatal error: mpi.h: No such file or directory
   14 | #include <mpi.h>
      |          ^~~~~~~
compilation terminated.
make: *** [../../../Submodules/amrex/Tools/GNUMake/Make.rules:257: tmp_build_dir/o/2d.gnu.MPI.EXE/AMReX_SUNMemory.o] Error 1

Is there any way that could figure it out? Besides, just some of modules like PeleLM/Exec/RegTests/EB_FlowPastCylinder and PeleC/Exec/Production/ChallengeProblem could not work properly, the other one, PeleC/Exec/RegTests/EB-C13, I tested worked well.

MLMG fails on high resolution

Whenever I try to run premixed flames on high resolution, I get "MLMG failed".
Particularly, FlameSheet problem on 128x128 grid fails at the initialization step, while on 32x32 grid it runs okay.

EB and AMR no longer working in development branch

When EB and 1 AMR level are used in 3D, the code crashes during first time-step.

With DEBUG=FALSE, the code crashes on NaNs found in the routine calc_dpdt, called at line 6966 in PeleLM.cpp. A close look at the S multifab reveals that cells at coarse/fine interface contain junk.

With DEBUG=TRUE, the code crashes with amrex::Abort::0:: (8,12,0,8) is out of bound (8:15,12:19,0:15,0:0) !!!, which correspond to the call crse_level.average_down(S_fine_loc, S_crse_loc, RhoRT, 1); at line 6958, just above.
It is not clear if these two crash are linked.

This problem is relatively new, EB and AMR were working about 1 month ago, so a bug has certainly be introduced during the recent port to gpu.

The problem can be reproduced with
Exec/RegTests/EB_FlowPastCylinder/inputs.3d-regt

Inflow, Outflow, NoSlipWallIsotherm

peleLM.lo_bc = Inflow NoSlipWallIsotherm
peleLM.hi_bc = Outflow NoSlipWallIsotherm

the above is my boundary settings, when starting the computation, I always get the error:

image

FlameSheet no longer compiles

With fresh development branches from IAMR, PelePhysics and AMReX, PeleLM does not compile for the FlameSheet problem:

Compiling pmf.cpp ...
In file included from [...]/PelePhysics_GitHub/Reactions/Fuego/CPU/cvode/reactor.cpp:1:0:
[...]/PelePhysics_GitHub/Reactions/Fuego/CPU/cvode/reactor.h:6:82: fatal error: cvode/cvode.h: No such file or directory
compilation terminated.

I have done a make TPL before.

how to cite pele?

I want to cite pele since I used your code to generate data using AMR. Which reference should I go for?

Exec/RegTests/FlameSheet

Hi, everyone, I would like to ask you a question.
I follow the PeleLM Quickstart to run FlameSheet and it turns all right.
But when I only change the max_step from 20 to 200, it will abnormally stop at 115 step.
So what wrong with it and how can I make it run correctly?

Update AMR refinement API

Consider modifying the AMR ref. indicator API slightly in order to avoid clashing ParmParse keywords in amr.
Perhaps something like this:
amr.refinement_indicator_list = RefineBox
amr.refinement_indicator.RefineBox.in_box_lo = 0 0.1 0.2
amr.refinement_indicator.Refinebox.in_box_hi = 0.1 2.1 4.3

Thermal conductivity at constant Lewis number

Hello,

I noticed that the thermal conductivity coefficient is computed incorrectly:
The code (PeleLM_K.H, line 477) states:
lambda(i,j,k) = mu_cgs * 1.0e-1_rt * PrInv / cpmix; // Constant Prandtl number

However, it should be:
lambda(i,j,k) = mu_cgs * 1.0e-1_rt * PrInv * cpmix; // Constant Prandtl number

PeleLM Executable not building on MacOS

the make -j4 did not work on MacOS because the c++ standard was not specified in the Makefile and an older standard was used by default

Adding CXXFLAG = -std=gnu++17 to the Makefile allowed the PeleLM Executable to be built

I do not know if the flag could be specified by default ?

EOS Soave-Redlich-Kwong not available

I‘m new to this production. I'm still trying to get my environment work. But when I test it using /RegTests, there are two different kind of issues. One like ControlledInflow it didn't work with information "../../PeleLM/Tools/Make/Make.PeleLM:54: *** EOS Soave-Redlich-Kwong not availabel in PeleLM. Stop." Another like HIT something goes wrong with notes ---../../PelePhysics/Reactions/ReactorCvodePreconditioner.cpp:310:undefined reference to 'SUNDlsMat_denseGETRS. collect2:error: ld returned 1 exit status'. Unfortunately, I got no idea to fix these. I will be appreciated if you could give me some advice.

Multiple Embedded boundaries using PeleLM

Hello, I am trying to simulate the external flow around four cylinders using PeleLM. I decided to create a new case by copying the FlowPastCylinder tutorial and tweak it for my case. I am confused about how I can create a union of the embedded boundaries of the 4 spheres in the my case. I have done this in PeleC by adding a new if case in the PeleC_init_eb.cpp file and copying it to my case directory.This worked fine. I am not able to locate a similar file where I can make changes to the EB or add a new case to simulate more complex geometries in PeleLM. Any help on this is much appreciated.
For the sake of clarity, my geometry would look something like this: (with a smaller number of cylinders):
image

Thanks
Surya

Error encountered when using intel compilers

I have compiled a PeleLM simulation code using the icc, icpc, and ifort compilers found in the oneAPI 2023.0 release, and I tried to run the code using the mpi library found in the same release which gave me the following error. The same setup with GNU compilers did run successfully without any errors.

amrex::amrex::Abort::3::Abort::amrex::2::FORTRAN:RD_SCL_FLCTHD: infl_type is not set !!!
SIGABRT
Abort::0::FORTRAN:RD_SCL_FLCTHD: infl_type is not set !!!
SIGABRT
FORTRAN:RD_SCL_FLCTHD: infl_type is not set !!!
SIGABRT
amrex::Abort::1::FORTRAN:RD_SCL_FLCTHD: infl_type is not set !!!
SIGABRT
See Backtrace.2 file for details
See Backtrace.0 file for details
See Backtrace.1 file for details
See Backtrace.3 file for details
Abort(6) on node 2 (rank 2 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 6) - process 2

All the back trace files are the same so I have attached one of them as a txt file below.

Backtrace0.txt

SRK EoS support

Hi I am running a case with the SRK EOS of PelePhysics by setting

Eos_Model  = Soave-Redlich-Kwong

in the GNUMakefile and though having not called the function T2Hi explicitly anywhere in my case files I get the following error:

amrex::Error::0::T2Hi not physically possible for SRK EoS !!!
SIGABRT
See Backtrace.0 file for details

I guess it's called somewhere in the PeleLM.cpp file. Is there anyway I can fix this?

Thanks

auto eos = pele::physics::PhysicsType::eos()

Hi! When I run examples in Exec, some of them went wrong with notion like:

../../../Submodules/PelePhysics/Reactions/ReactorUtils.H:197:29: error: ‘pele::physics::PhysicsType’ has not been declared
  197 |   auto eos = pele::physics::PhysicsType::eos();
      |                             ^~~~~~~~~~~
../../../Submodules/PelePhysics/Reactions/ReactorUtils.H: In function ‘void pele::physics::reactions::utils::fKernelSpec(int, int, amrex::Real, int, const Real*, amrex::Real*, const Real*, const Real*, const Real*)’:
../../../Submodules/PelePhysics/Reactions/ReactorUtils.H:307:29: error: ‘pele::physics::PhysicsType’ has not been declared
  307 |   auto eos = pele::physics::PhysicsType::eos();

Is that caused by eos unavailable in PeleLM or PelePhysics environment needed additional configuration? If you guys have any methods to figure it out, please let me know.
Thanks!

reaction source termand diffusion term

Hi, everyone, I would like to ask you a question.
I want to export the reaction source term and diffusion term during the calculation, so how do I set it in the input file? ,

Bug in ChemDriver.cpp

The routine for calculating element atomic weights is implemented as

Vector
ChemDriver::elementAtomicWt() const
{
Vector awt(numElements());
CD_MWT(awt.dataPtr());
return awt;
}

This returns the species molecular weights rather than the element atomic weights. The correct implementation should be:

Vector
ChemDriver::elementAtomicWt() const
{
Vector awt(numElements());
FORT_GETCKAWT(awt.dataPtr());
return awt;
}

MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 6. NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.

Hi,there. When I running Exec/RegTests/EB_FlamePastCylinder, the make process went well but something work not properly during ./PeleLM3d.gnu.MPI.ex inputs.3d-regt . The error occured with "amrex::Abort::0::MLMG failed !!!
SIGABRT
See Backtrace.0 file for details
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 6.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them."

FlameInABox compilation error in PROJECTION_2D.F90 with Intel compiler v19.0.3.199

The FlameInABox problem encounters a compilation error when using the Intel v19.0.3.199 compiler:

../../../IAMR/Source/Src_2d/PROJECTION_2D.F90(268): error #6415: This name cannot be assigned this data type because it conflicts with prior uses of the name.   [ANEL_LO]
      integer    mult,anel_lo,anel_hi
----------------------^
../../../IAMR/Source/Src_2d/PROJECTION_2D.F90(268): error #6415: This name cannot be assigned this data type because it conflicts with prior uses of the name.   [ANEL_HI]
      integer    mult,anel_lo,anel_hi
------------------------------^

To reproduce on Cori, use these commits:

amrex: ab0d7a90a
PelePhysics: 2f533e5
IAMR: f1935d5
PeleLM: d62b4f6

And execute the following:

module load cdt/19.03
module swap intel{,/19.0.3.199}
make DEBUG=FALSE USE_ACC=FALSE USE_MPI=TRUE USE_OMP=TRUE DIM=2 COMP=intel TEST=TRUE USE_ASSERTION=TRUE

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.