MCPcopy Create free account
hub / github.com/AMReX-Astro/Castro / ca_deruminusc

Function ca_deruminusc

Source/driver/Derive.cpp:141–174  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

139 }
140
141 void ca_deruminusc(const Box& bx, FArrayBox& derfab, int /*dcomp*/, int /*ncomp*/,
142 const FArrayBox& datfab, const Geometry& /*geom*/,
143 Real /*time*/, const int* /*bcrec*/, int /*level*/)
144 {
145
146 auto const dat = datfab.array();
147 auto const der = derfab.array();
148
149 amrex::ParallelFor(bx,
150 [=] AMREX_GPU_DEVICE (int i, int j, int k) noexcept
151 {
152
153
154 Real rhoInv = 1.0_rt / dat(i,j,k,URHO);
155
156 eos_rep_t eos_state;
157 eos_state.rho = dat(i,j,k,URHO);
158 eos_state.T = dat(i,j,k,UTEMP);
159 eos_state.e = dat(i,j,k,UEINT) * rhoInv;
160 for (int n = 0; n < NumSpec; n++) {
161 eos_state.xn[n] = dat(i,j,k,UFS+n) * rhoInv;
162 }
163#if NAUX_NET > 0
164 for (int n = 0; n < NumAux; n++) {
165 eos_state.aux[n] = dat(i,j,k,UFX+n) * rhoInv;
166 }
167#endif
168
169 eos(eos_input_re, eos_state);
170
171 der(i,j,k,0) = dat(i,j,k,UMX) / dat(i,j,k,URHO) - eos_state.cs;
172
173 });
174 }
175
176 void ca_dersoundspeed(const Box& bx, FArrayBox& derfab, int /*dcomp*/, int /*ncomp*/,
177 const FArrayBox& datfab, const Geometry& /*geom*/,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected